Loading domain from 'domain.yml' failed

Hi everyone,

I have validated my .yml files by yamllint.com.

After that , when I try to train the model:

docker run -v $(pwd):/app rasa/rasa:2.4.0-full train --domain domain.yml --data data --out models

I get these warnings:

The domain.yml and the others files are in the right path, therefore I can not figure out why I get this kind of error

What does rasa data validate locally give you? What is the content of your domain file? It looks like you may also have a permissions error in the container (see first line).

In the future, please post the actual text into the channel instead of the screenshots. That way we can more easily copy/paste the code/error and help you debug. If you want to share code you can use the markdown syntax to give the code proper highlighting too. You can read more about that syntax here. We also have a guide on how to ask great questions if you’re interested.

When I run data validate I get:

W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory
2021-03-15 10:12:44.748655: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-jhpip2jo because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
2021-03-15 10:12:52 WARNING  rasa.utils.common  - Failed to write global config. Error: [Errno 13] Permission denied: '/.config'. Skipping.
/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py:96: UserWarning: Loading domain from 'domain.yml' failed. Using empty domain. Error: 'If you use the deprecated list syntax for forms, all form names have to be strings. Please see https://rasa.com/docs/rasa/forms for more information.'
/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py:96: UserWarning: Issue found in 'data/stories.yml': 
Found intent 'greet' in stories which is not part of the domain.
  More info at https://rasa.com/docs/rasa/stories
/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py:96: UserWarning: Issue found in 'data/stories.yml': 
Found intent 'affirm' in stories which is not part of the domain.
  More info at https://rasa.com/docs/rasa/stories
/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py:96: UserWarning: Issue found in 'data/stories.yml': 
Found intent 'deny' in stories which is not part of the domain.
  More info at https://rasa.com/docs/rasa/stories
Project validation completed with errors.

data validate stories adds this :

/opt/venv/lib/python3.8/site-packages/rasa/utils/train_utils.py:558: UserWarning: constrain_similarities is set to `False`. It is recommended to set it to `True` when using cross-entropy loss. It will be set to `True` by default, Rasa Open Source 3.0.0 onwards.
  rasa.shared.utils.io.raise_warning(
/opt/venv/lib/python3.8/site-packages/rasa/utils/train_utils.py:531: UserWarning: model_confidence is set to `softmax`. It is recommended to try using `model_confidence=linear_norm` to make it easier to tune fallback thresholds.
  rasa.shared.utils.io.raise_warning(
2021-03-15 10:19:33 INFO     rasa.validator  - No story structure conflicts found.

The content of my domain file is the following:

version: "2.0"

intents:
  - greet
  - affirm
  - deny
  - pizza_order
  - drinks_order
  - inform_hour
  - inform_phone_number

entities: 
  - pizza_type
  - drink_type
  - pizza_quantity
  - drinks_quantity
  - hour
  - phone_number
  
responses:
  utter_start: 
    - text: "(IN PIU LINGUE) Please, before to start with your ordination, say hello to xyz, our chatbot"
  utter_explanation: 
    - text: "Hi, I am xyz! I am here to take your ordination. Let's start ... "
  utter_ask_pizza:
    - text: "Please, could you tell me which, and how many, pizza do you want to order?"
    - text: "Could you tell me which, and how many, pizza do you want to order, please?"
  utter_ask_drinks:
    - text: "Please, could you tell me which, and how many, drinks do you want to order?"
    - text: "Could you tell me which, and how many, drinks do you want to order, please?"
  utter_ask_hour:
    - text: "Please, specify here when you want to come to take your pizza:"
  utter_ask_name_surname: 
    - text: "Please, specify below your name and surname"
  utter_ask_phone_number:
    - text: "Please, write here your phone number"
  utter_ask_pizza_quantity:
    - text: "In which quantity?"
    - text: "How many pieces?"
  utter_ask_drinks_quantity:
    - text: "In which quantity?"
    - text: "How many bottles?"
  utter_confirm:
    - text: "Can I proceed to submit your ordination?"
  utter_goodbye:
    - text: "The ordination has been correctly submitted. Goodbye!"
  utter_sorry:
    - text: "The ordination has not been correctly submitted. You could retry later, sorry!"

actions:
  - action_recap
  #- validate_standard_ordiantion # rasa.com/docs/rasa/forms#validating-form-input

slots:
  pizza_type:
    type: list
  drink_type:
    type: list
  pizza_quantity:
    type: float
  drinks_quantity:
    type: float
  hour:
    type: text
  name_surname:
    type: text
  phone_number:
    type: text

forms:
  - standard_ordination:
    pizza_type:
    - type: from_entity
      entity: pizza_type
      intent: pizza_order

    drink_type:
    - type: from_entity
      entity: drink_type
      intent: drinks_order

    pizza_quantity:
    - type: from_entity
      entity: quantity
      intent: pizza_order

    drinks_quantity:
    - type: from_entity
      entity: quantity
      intent: drinks_order

    hour:
    - type: from_entity
      entity: hour
      intent: inform_hour

    name_surname:
    - type: from_text
      entity: name_surname
      intent: inform_name_surname

    phone_number:
    - type: from_entity
      entity: phone_number
      intent: inform_phone_number

session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true

This is your main problem - it’s not loading the domain at all. Your forms should look like this:

forms:
  standard_ordination:
    pizza_type:
    - type: from_entity
      entity: pizza_type
      intent: pizza_order

see Forms - it’s a good idea to run rasa data validate before training if you’ve made significant changes, especially to the domain