본문 바로가기

업무/챗봇 (Rasa)

(14)
[Rasa SDK] FormValidationAction, ActiveLoop * FormValidationAction사용자 입력값을 Form- slot값으로 수집할 때, 유효성 검사에 활용할 수 있는 Custom Action. domain, rule, stroy에 Form 과 slot 이 정의되어 있을 때, 1. Form에 대한 validate 클래스 정의from rasa_sdk.forms import FormValidationActionclass ValidateFoodOrderForm(FormValidationAction): def name(self) -> str: return "validate_food_order_form" # Form 이름과 연결Form 이름과 Validation Action은 name() 메서드로 연결된다.return "validate_..
[Rasa] Payload * Payload Rasa 에서 UI(버튼, 선택지 등)과 Rasa Core 서버 사이에 데이터를 전달하기 위한 내부적인 설정 값.버튼이나 선택지처럼 제한된 사용자 입력환경에서 활용.  1. 버튼 _인텐트 전달dispatcher.utter_message(custom={ "text": "안녕하세요! 무엇을 도와드릴까요?", "BUTTON": [ {"title": "예약 확인", "payload": "/confirm"}, {"title": "안내 보기", "payload": "/info"} ]})사용자가 버튼을 누르면 rasa에서는 payload에 설정된 정보를 인텐트로 인식.ex) '예약 확인' 버튼 클릭 => 'confirm' 인텐트로 인식 후 진행. *** 이 ..
[Rasa] nlu_fallback 커스텀 액션 처리 보호되어 있는 글입니다.
[Rasa] domain (+ 업데이트 중) [ domain 파일 구성 ]- intents- entities- forms - slots- response     슬롯요청 utter_ask_{slot_name}   일반응답 utter_{intent_name}_message  기타응답 utter_{custom_name})- actions- session_config  [ response ] 1. 슬롯요청 utter_ask_{slot_name}  (기본 text로 응답)responses: utter_ask_email: - text: "What is your email address?" utter_ask_phone_number: - text: "What is your phone number?"   (버튼으로 응답) _ customrespon..
[Rasa] Form과 slot 이벤트에 따른 action진행 domain.yml 파일# 인텐트intents: - booking # 엔티티entities: - name - companions - date# 슬롯slots: name: type: text influence_conversation: true companions: type: float influence_conversation: true date: type: text influence_conversation: true# 응답responses: utter_ask_name: - text: "예약자의 이름을 알려주세요." utter_ask_companions: - text: "동행자는 몇 명입니까?" utter_ask_date: - text: "..
[Rasa] json_to_yml.py 파일 정리 (+ 업데이트 중) 보호되어 있는 글입니다.
[Rasa] config.yml 파일 설정 _pipeline, policies (Fallback 커스텀 액션) * config.yml 파일 설정 [ pipeline ]  nlu 레벨에서 사용자 입력을 처리하고 이해하는 과정에서 어떤 구성 요소를 사용할 지 결정.사용자의 입력을 분석하고 이해하는 단계. (NLU 데이터 및 Confidence 기반) 사용자입력값 --> 인텐트, 엔티티 추출 (주요구성요소) Tokenizer: 입력 문장을 토큰 단위로 분리Featurizer: 텍스트를 숫자형 벡터로 변환Intent Classifier: 사용자의 의도를 분류Entity Extractor: 텍스트에서 엔티티(명사구 등)를 추출FallbackClassifier: NLU 모델이 입력을 이해하지 못했을 때 fallback 처리=> 토크나이저, 피처라이저, 인텐트 분류기, 엔티티 추출기 등 텍스트 처리 관련 구성요소.   [ p..
[Rasa] Fallback 커스텀액션 및 이벤트 ( UserUtteranceReverted, ActionExecuted ) [ Rasa SDK ]eventsfrom rasa_sdk.events import ( Restarted, SlotSet, SessionStarted, ActionExecuted, EventType, FollowupAction, ActiveLoop, Form, UserUtteranceReverted, ConversationPaused , AllSlotsReset)  * UserUtteranceReverted대화의 특정 시점으로 되돌리는 역할. ( 사용자의 마지막 발화를 무효화 ) * action_default_fallbackfrom rasa_sdk import Actionfrom rasa_sdk.events import UserUtteranceRevertedclass ActionHandleInc..