Rasa X domain file not updated
See original GitHub issueRasa version: 1.0.1
Rasa X version: 0.19.0 and 0.19.1.dev42 (tried with both versions)
Python version: 3.6.7
Operating system (windows, osx, …): Windows 10
Issue:
Hello,
I’m having some strange issue with Rasa X.
Let’s say I create a new intent by adding it to my NLU data. I train the NLU and Core models through Rasa X, and by testing the model in “interactive learning”, I can see the new intent being recognized.
Now I want a certain response (utterance) for this new intent. So I can start writing stories for this intent. When I add a response through the Rasa X interface, this response text gets added nicely to the domain file under “templates”. However, it doesn’t get added to the “actions” in the domain file.
Because of this, when I train both NLU and Core, and I test the bot through “interactive learning”, I can’t select the action (utterance) I just created through the response tab of Rasa X.
To overcome this, I tried adding the response to the domain file under “actions” manually. I also notice that the created intent doesn’t get added automatically to the domain file, under “intents”. So I added the intent manually as well. After doing this, and retraining the model, I still can’t select the action in interactive learning.
What I did next, is manually create a story using the newly created response. I made sure I added the response under “templates” and “actions” in the domain file.
When I then try to train the Core model, I get the following error:
2019-05-27 16:21:40 WARNING rasa.core.training.dsl - Found unknown intent ‘ask_howbuilt’ on line 174. Please, make sure that all intents are listed in your domain yaml. 2019-05-27 16:21:40 WARNING rasa.core.domain - Failed to use action ‘utter_ask_howbuilt’ in history. Please make sure all actions are listed in the domains action list. If you recently removed an action, don’t worry about this warning. It should stop appearing after a while.
I think the updated domain file doesn’t get loaded to Rasa X: when I change the responses in the Rasa X interface, and look at the domain file, it has changed:
- the manually added intent is gone under “intents”
- the action (utterance) I manually added has disappeared under “actions” (altough it remains in the template section of the file …)
Thanks for your help!
Cheers, Philippe
Content of configuration file (config.yml):
%YAML 1.1
---
language: en
pipeline: supervised_embeddings
policies:
- epochs: 300
max_history: 5
name: KerasPolicy
- fallback_action_name: action_default_fallback
name: FallbackPolicy
- max_history: 5
name: MemoizationPolicy
- name: MappingPolicy
Content of domain file (domain.yml) (if used & relevant):
%YAML 1.1
---
actions:
- utter_ask_howold
- utter_ask_isbot
- utter_ask_languagesbot
- utter_goodbye
- utter_greet
- utter_ask_howbuilt
intents:
- ask_howbuilt
- ask_howold
- ask_isbot
- ask_languagesbot
- goodbye
- greet
templates:
utter_ask_howbuilt:
- text: I was built with a lot of love and patience.
utter_ask_howold:
- text: '42.'
- text: Old enough to be a bot.
- text: Age is just an issue of mind over matter. If you don’t mind, it doesn’t
matter.
utter_ask_isbot:
- text: Yup, I'm a bot!
- text: Yes, I am a chatbot!
utter_ask_languagesbot:
- text: I can spell baguette in French, but unfortunately English is the only language
I can answer you in.
- text: I am in the process of learning, but at the moment I can only speak English.
utter_goodbye:
- text: Bye
- text: See you later!
- text: Goodbye!
- text: Ciao!
- text: Bye, was nice talking to you!
- text: Talk to you later!
utter_greet:
- text: Hi
- text: Hello
- text: Hey there!
- text: Hi there!
Issue Analytics
- State:
- Created 4 years ago
- Reactions:1
- Comments:11 (5 by maintainers)
Top GitHub Comments
We’re currently working domain editing in the UI which will make the manual editing of
domain.yml
unnecessary.@PhilippeBaert that new feature will also introduce automatic adding of intents from new NLU examples. the same goes for actions from newly added responses. we’ll also be fixing the list of actions in interactive learning (they’re currently fetched from the active “production” model, and will instead be fetched from the domain). thanks a lot for reporting this 👍
Agree, and maybe the domain file can be dynamically created (like it is now with the template utterances):
When you add a new intent to your NLU training data, this intent is automatically added to the domain file (under intents) . When you add a response, this action is automatically added to the domain file (under actions and templates).
This way, you can avoid messing with the domain file when you create just simple text utterance responses.
Cheers, Philippe