fedoralina / DoughVinci

task-based chatbot for pizza ordering, drink recommendations and table booking options built in rasa
GNU General Public License v3.0
0 stars 1 forks source link

understand existing pizza bot repo step by step #1

Open fedoralina opened 7 months ago

fedoralina commented 7 months ago

based on the repo, which parts can we use for our project

fedoralina commented 7 months ago

Here I will add the logical steps for the intent "order" to think about (starting from existing sample repo), they are in the nlu folder

Short: What is the first thing a user would do with the pizza ordering bot?

  1. greet
  2. tell bot you want a pizza
  3. tell the pizza name
  4. tell the toppings
  5. tell the crust (dough)
  6. tell the size
  7. tell the pizza amount
  8. tell name (and phone number if needed)
  9. bot tell minutes to wait
  10. bot tell restaurant location (if needed)

after step 2, the model can be trained (without adding anything else than nlu data) by running rasa train nlu and then test by rasa shell nlu

fedoralina commented 7 months ago

intents we will not need

fedoralina commented 7 months ago

When to use rules?

note: you can use retrieval_intent in ResponseSelector for that, so that actions and intents are not packed too much regarding faq questions, but can be grouped in a rule (like shown in this YT vid, important to give intents and actions the same name inside the retrieval intent so that they are recognized)

what rules do we use from the bot?

fedoralina commented 7 months ago

what to know about stories: https://rasa.com/docs/rasa/stories

Notes:

fedoralina commented 7 months ago

regarding responses, only not required is utter_delivery_address

rest depends on how we want to design it.

fedoralina commented 7 months ago

what to know about slots

Note: more information also on slot types can be found in the video i linked and on slot types in the docs

fedoralina commented 7 months ago

what actions to use from pizzabot

comments on other actions of pizzabot code

how actions work (ref YT video here):

Notes:

fedoralina commented 7 months ago

IMPORTANT:

including following intents result in error (at least for now, only using basic pizza ordering

fedoralina commented 7 months ago

lookup tables vs synonyms:

https://forum.rasa.com/t/synonyms-vs-lookup-tables/15711

TL;DR:

for synonyms: you need an example for each synonym in your intents examples so that they can be recognized! https://rasa.com/docs/rasa/nlu-training-data/

fedoralina commented 7 months ago

outsourcing files logically is possible! https://github.com/ChrisRahme/FYP-Chatbot/tree/main/data/stories