Hello everyone.
I am currently developing a chatbot that successfully handles chitchat and FAQs. I am looking to enhance its functionality by implementing a flow that interacts with an external large language model (LLM) through actions.
Specifically, I want to achieve the following:
- When a user requests to “Speak with the AI,” I would like to save this interaction and ensure that all subsequent interactions are redirected to the external LLM action.
Here’s some snippets
# domain.yaml
utter_menu:
- text: "Which flow do you wanna to follow?"
buttons:
- title: "FAQ"
payload: "/faq"
- title: "Talk with AI"
payload: "/talk_with_ai"
utter_faq:
- text: "Now you will see the FAQ"
utter_talk_with_ai:
- text: "Now you call talk with the AI"
# stories.yaml
- story: faq
steps:
- intent: menu
- action: utter_menu
- intent: faq
- action: utter_faq
- story: talk with ai
steps:
- intent: menu
- action: utter_menu
- intent: talk_with_ai
- action: utter_talk_with_ai
- action: action_talk_with_ai
I don’t know if it would be ideal here to use a fallback to direct messages to an LLM action (RasaGPT project uses this approach). I was thinking about controlling more through entity or slots, and always checking the flow that should follow.
Im using Rasa 3.6.20
and Python 3.10.10
If there is any similar topic, let me know.