* Payload
Rasa 에서 UI(버튼, 선택지 등)과 Rasa Core 서버 사이에 데이터를 전달하기 위한 내부적인 설정 값.
버튼이나 선택지처럼 제한된 사용자 입력환경에서 활용.
1. 버튼 _인텐트 전달
dispatcher.utter_message(custom={
"text": "안녕하세요! 무엇을 도와드릴까요?",
"BUTTON": [
{"title": "예약 확인", "payload": "/confirm"},
{"title": "안내 보기", "payload": "/info"}
]
})
사용자가 버튼을 누르면 rasa에서는 payload에 설정된 정보를 인텐트로 인식.
ex) '예약 확인' 버튼 클릭 => 'confirm' 인텐트로 인식 후 진행.
*** 이 때 rasa에서 인텐트로 인식하기 위해서는 ' 슬래시(/) ' 가 꼭 필요!!!!!
슬래시가 없는 경우 payload에 지정된 데이터를 사용자 입력값으로 학습문구에 따라 처리. (NLU)
2. 버튼 _인텐트&엔티티 전달
dispatcher.utter_message(custom={
"text": "원하는 서비스를 선택해주세요.",
"BUTTON": [
{"title": "청소 서비스", "payload": "/service{\"type\": \"cleaning\"}"},
{"title": "이사 서비스", "payload": "/service{\"type\": \"moving\"}"}
]
})
사용자가 버튼을 누르면 rasa에서는 payload에 설정된 정보를 인텐트와 엔티티로 인식.
*** rasa에 해당 인텐트&엔티티에 대한 진행(action)이 설정되어 있어야함!!
'업무 > 챗봇 (Rasa)' 카테고리의 다른 글
[Rasa SDK] FormValidationAction, ActiveLoop (0) | 2024.12.03 |
---|---|
[Rasa] nlu_fallback 커스텀 액션 처리 (0) | 2024.10.12 |
[Rasa] domain (+ 업데이트 중) (0) | 2024.08.30 |
[Rasa] Form과 slot 이벤트에 따른 action진행 (0) | 2024.08.28 |
[Rasa] json_to_yml.py 파일 정리 (+ 업데이트 중) (0) | 2024.08.27 |