Hey @anca, thankyou for pointing out the issue in the story … It was a typo and I have fixed it.
For the debug log, here is what I got -
$ rasa data validate --debug
2021-06-07 19:31:27 DEBUG pykwalify.compat - Using yaml library: c:\python365\lib\site-packages\ruamel\yaml\__init__.py
2021-06-07 19:31:28 INFO rasa.validator - Validating intents...
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'bot_challenge' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'complete_order' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'goodbye' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'init_request' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'response_negative' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'response_positive' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'utter_sad_goodbye' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_extra_topping' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_quantity' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_size' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_type' is listed in the domain file, but is not found in the NLU training data.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'bot_challenge' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'complete_order' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'goodbye' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'init_request' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'response_negative' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'response_positive' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'utter_sad_goodbye' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_extra_topping' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_quantity' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_size' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The intent 'want_pizza_type' is not used in any story.
2021-06-07 19:31:28 INFO rasa.validator - Validating uniqueness of intents and stories...
2021-06-07 19:31:28 INFO rasa.validator - Validating utterances...
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_pizza_quantity' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_order_placed' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_pizza_size' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_greet' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_menu' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_iamabot' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_sad_goodbye' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_order_confirmation' is not used in any story.
2021-06-07 19:31:28 DEBUG rasa.validator - The utterance 'utter_extra_topping' is not used in any story.
2021-06-07 19:31:28 INFO rasa.validator - Story structure validation...
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Number of augmentation rounds is 0
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Starting data generation round 0 ... (with 1 trackers)
Processed Story Blocks: 0it [00:00, ?it/s]
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Finished phase (0 training samples found).
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Data generation rounds finished.
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Found 1 unused checkpoints
c:\python365\lib\site-packages\rasa\utils\common.py:351: UserWarning: There is no starting story block in the training data. All your story blocks start with some checkpoint. There should be at least one story block that starts without any checkpoint.
More info at https://rasa.com/docs/rasa/core/stories/#stories
2021-06-07 19:31:28 DEBUG rasa.core.training.generator - Found 0 training trackers.
Traceback (most recent call last):
File "c:\python365\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\python365\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Python365\Scripts\rasa.exe\__main__.py", line 7, in <module>
File "c:\python365\lib\site-packages\rasa\__main__.py", line 91, in main
cmdline_arguments.func(cmdline_arguments)
File "c:\python365\lib\site-packages\rasa\cli\data.py", line 156, in validate_files
and _validate_story_structure(validator, args)
File "c:\python365\lib\site-packages\rasa\cli\data.py", line 183, in _validate_story_structure
not args.fail_on_warnings, max_history=args.max_history
File "c:\python365\lib\site-packages\rasa\validator.py", line 228, in verify_story_structure
trackers, self.domain, max_history
File "c:\python365\lib\site-packages\rasa\core\training\story_conflict.py", line 163, in find_story_conflicts
max_history = _get_length_of_longest_story(trackers, domain)
File "c:\python365\lib\site-packages\rasa\core\training\story_conflict.py", line 144, in _get_length_of_longest_story
return max([len(tracker.past_states(domain)) for tracker in trackers])
ValueError: max() arg is an empty sequence
I have already mentioned these intents in nlu.yml
. Here is my nlu.yml
file.
version: "2.0"
nlu:
- intent: init_request
examples: |
- hey
- hello
- hi
- hello there
- good morning
- good evening
- moin
- hey there
- let's go
- hey dude
- goodmorning
- goodevening
- good afternoon
- yo
- I want pizza
- I want to order a pizza
- I wnt to ordr a pijja
- I wntt piza
- pizza
- pizza please
- Pizza please
- Pizza will do
- pizza will do
- Pizza
- pijja
- pija
- pijaa
- order
- menu
- do you have pizza ?
- intent: goodbye
examples: |
- cu
- good by
- cee you later
- good night
- bye
- goodbye
- have a nice day
- see you around
- bye bye
- see you later
- intent: bot_challenge
examples: |
- are you a bot?
- are you a human?
- am I talking to a bot?
- am I talking to a human?
- intent: complete_order
examples: |
- I want [two](pizza_amount) [small](pizza_size) [Funghi](pizza_type) pizza
- I want [one](pizza_amount) [Funghi](pizza_type) [small](pizza_size) pizza
- I want [Funghi](pizza_type) [small](pizza_size) pizza [three](pizza_amount)
- I want [four](pizza_amount) [small](pizza_size) pizza [Funghi](pizza_type)
- I want [2](pizza_amount) [medium](pizza_size) pizza [hawaii](pizza_type) please
- [two](pizza_amount) [medium](pizza_size) [Margherita](pizza_type) pizza
- [2](pizza_amount) [large](pizza_size) [Hawaii](pizza_type) pizza
- intent: want_pizza_type
examples: |
- [Funghi](pizza_type) pizza
- I want [Funghi](pizza_type)
- do you have [Funghi](pizza_type)
- I need [Funghi](pizza_type)
- get me a [Funghi](pizza_type)
- order for me a [Funghi](pizza_type)
- intent: want_pizza_size
examples: |
- [small](pizza_size) pizza
- I want [small](pizza_size)
- do you have [small](pizza_size)
- I need [small](pizza_size)
- get me a [small](pizza_size)
- order for me a [small](pizza_size)
- intent: want_extra_topping
examples: |
- [paneer](pizza_topping)
- I would like to add [paneer](pizza_topping)
- [paneer](pizza_topping) pizza
- I want [paneer](pizza_topping)
- do you have [paneer](pizza_topping)
- I need [paneer](pizza_topping)
- get me a [paneer](pizza_topping)
- order for me a [paneer](pizza_topping)
- intent: want_pizza_quantity
examples: |
- [3](pizza_quantity)
- I want [3](pizza_quantity) pizza
- intent: response_positive
examples: |
- all good
- yeah all is sgood
- yep
- yeah
- perfect
- yes, that is right
- yes
- y
- indeed
- of course
- that sounds good
- that's right
- correct
- Yes
- Yeah
- intent: response_negative
examples: |
- actually no
- nope
- no
- n
- never
- I don't think so
- don't like that
- no way
- not really
- Nope
- No, I want to make a change
- Noo
- lookup: pizza_type
examples: |
- Farmhouse
- farmhouse
- Exotic Chilly
- Chicken Sausage
- Margherita
- lookup: pizza_size
examples: |
- Regular
- Medium
- Large
- Extra Large
- lookup: pizza_topping
examples: |
- Chicken
- paneer
- Tomatoes
- Mushroom
- corn
- olives
- onion
- capsicum
- lookup: pizza_quantity
examples: |
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- one
- two
- three
- four
Also, domain.yml file is defined as -
version: "2.0"
intents:
- init_request
- goodbye
- utter_sad_goodbye
- response_positive
- response_negative
- complete_order
- bot_challenge
- want_pizza_type
- want_pizza_size
- want_extra_topping
- want_pizza_quantity
responses:
utter_greet:
- text: "Hey! Hope you are doing good!"
utter_menu:
- text: "What would you like to have today? We have a range of pizzas to select from.\nFarmhouse\nExotic Chilly\nChicken Sausage, etc"
utter_pizza_size:
- text: "What pizza size do you want? \nRegular | Medium | Large | Extra Large"
image: "https://i.imgur.com/nGF1K8f.jpg"
utter_extra_topping:
- text: "Do you want extra toppings to multiply your happiness?"
utter_pizza_quantity:
- text: "How many pizza do you need? Make sure you don't fight later! : P"
utter_order_confirmation:
- text: "Do you want to confirm your order?"
utter_sad_goodbye:
- text: ":( We were hoping to make you happy today. See you next time!"
utter_iamabot:
- text: "I am a bot, powered by Rasa."
utter_order_placed:
- text: "Thankyou for ordering with us. You pizza will arrive in 30 minutes."
session_config:
session_expiration_time: 60
carry_over_slots_to_new_session: true
I validated both this yaml
files for any errors in syntax using this yamlint link and found them to be perfect.
For better view, I have uploaded the entire code on this GitHub link