Retrieval intent chitchat

hey, I get the following errors when trying to use retrieval intents chitchat: Your training data contains an example ‘daily…’ for the chitchat/internet_daily_menu_en intent. You either need to add a response phrase or correct the intent for this example in your training data. If you intend to use Response Selector in the pipeline, the training may fail. also, UserWarning: Action ‘utter_chitchat’ is listed as a response action in the domain file, but there is no matching response defined. Please check your domain.

Hi @jenan,

welcome to the Rasa community! :tada:

Did you check out the documentation page on retrieval intents? Sorry, for the general answer. Maybe I can respond better if you ask a specific question about your problem.

Having the same problem … looking forward to get some support from the experts!!!


Hello @Tobias_Wochinger

In my case, I have read the documentation and I configured the domain.yml, rules.yml, nlu.yml. But when I tried to train my bot I get the message:

I realize that when I test the bot with the command: rasa shell nlu

I get the “response selector” empty, for my chitchat intent

In my pipeline:

  • name: ResponseSelector epochs: 100 retrieval_intent: chitchat

Thanks in advance.

Can you share the training data which contains your responses? And your config,yml please?

Hello @Tobias_Wochinger

After I added the responses section for my NLU.YML file I resolved the first Isuee. But, is unable to produce the utterance for chichat:

Here is my environment:

Here are the files:

config.yml (845 Bytes)

domain.yml (3.1 KB)

responses.yml (1.0 KB)

nlu.yml (9.6 KB)

stories.yml (7.4 KB)

rules.yml (116 Bytes)

Thank you for your help

Hi @wvalverde67. I tried to replicate the error and here are the things you should fix:

  1. In your config.yml file there is a typo when defining the retrieval intent. It says “chichat” while it should be “chitchat”. This should make your retrieval intent working properly.

  2. (Not related to retrieval intents, but will likely cause you some errors too) In your config.yml you need to include an EntityExtractor component before your EntitySynonymMapper component. For example, you can include the following config:

  - name: CRFEntityExtractor
  - name: EntitySynonymMapper
  1. (Also not related to retrieval intent) The actions section in your domain.yml is not really necessary. action_session_start is an in-built rasa action and you have your form defined in the forms section so there is no point in including the promesa_pago_form as a custom action. In addition to that, utter_chitchat doesn’t have to be included as an action since you have the responses defined for the retrieval actions.

Try implementing these changes and let us know if it fixes your problem.

1 Like

Hello @Juste

Thanks for your help. It works!!!

Related to your recommendation number 3, I used action_session_start because I would like to bring some information from our production Database. The use case is: There is a number X of payments confirmation we want the bot to do the work instead of a call center agent phone call. I think the best way to this is to make a “bot cycle” of all pending confirmations of set X. Because the customer x1 has a name and a payment due amount different from customer x2, every time the bot ends a conversation it needs to restart with information from customer x2, so that, I use the action_session_start to bring from the database the new information. In pseudo-code, will looks like:

While there is a customer to confirm:

  • bring information from customer Xi
  • chat with customer Xi
  • ends conversation with customer Xi

end While

If have any comments, please. Or if there is a different framework or path do not hesitate.

Thank you so much!!!

Hi @wvalverde67. Glad that I could help. :slight_smile:

I see your point regarding the custom action. Though, I am still not sure it’s necessary to include this custom action. Rasa starts a new session for every new user that it talking to your assistant, so your bot should extract the data from every customer separately (your assistant would probably need some kind of data points to identify the user first).

1 Like