[파이썬][AI Chatbot] Rasa의 Core (대화 관리) 예제
Rasa의 Core는 대화 흐름을 관리하고 응답을 생성하는 역할을 합니다. 사용자와 시스템 간의 상호작용을 조율하고 대화 로직을 구축하는 데 사용됩니다. 아래는 Rasa Core의 예제 코드입니다.
먼저, Rasa를 설치합니다:
pip install rasa`
다음은 Rasa Core의 예제 코드입니다:
-
Core 대화 흐름 설정:
Rasa Core의 대화 흐름을 정의합니다. 아래는 대화 흐름의 예제 (
data/stories.md
)입니다:
## greet
* greet
- utter_greet
## goodbye
* goodbye
- utter_goodbye
## book_flight
* book_flight
- utter_ask_city
* provide_city{"city": "London"}
- utter_confirm_city{"city": "London"}
- utter_ask_date
* provide_date{"date": "2023-08-18"}
- utter_confirm_date{"date": "2023-08-18"}
- utter_booking_confirmation`
-
Core 정책 설정:
Rasa Core의 정책(policy)을 설정합니다. 아래는 정책 설정의 예제 (
config.yml
)입니다:
policies:
- name: MemoizationPolicy
- name: TEDPolicy
max_history: 5
- name: RulePolicy
-
Rasa Core 모델 훈련:
Core 대화 흐름과 정책 설정을 사용하여 Rasa Core 모델을 훈련합니다.
`rasa train core`
-
Rasa Core 대화 테스트:
훈련된 Core 모델을 사용하여 대화 흐름을 시뮬레이션하고 시스템 응답을 생성합니다.
`rasa shell`
이후에 사용자의 발화를 입력하면 해당 발화에 대한 시스템 응답이 출력됩니다.
위의 예제에서는 “greet”, “goodbye”, “book_flight” 등의 대화 흐름을 정의하고, 응답 메시지를 연결하여 사용자와의 대화를 구성합니다. Rasa Core를 사용하여 더 복잡한 대화 흐름을 구현하고, 사용자와의 상호작용을 관리할 수 있습니다.