Skip NLU classification for free text

Hi,

I have a usecase which needs to follow the following rasa-form flow -

  1. User says I wish to book an appointment
  2. Bot asks for appointment time and user fills a time value which is taken from a slot mapped to an entity.
  3. Bot then asks for appointment location and user enters a city name which is taken from a slot mapped to an entity.
  4. Bot then asks for a subject/message for the appointment. User enters free text.
  5. Bot should skip nlu classification and should just fill this free text as the slot value.
  6. End of rasa-form

Now, the problem is with step number 5. I went through - Capturing free text in forms as well as docs about free_text → Domain and my current slot configuration for ‘message’ slot in domain.yml is as follows - message: type: text mappings: - type: from_text

However, this didn’t help me. The message is getting detected in location slot for some reason. I just want this slot to take free text as input, skip nlu classification and provide a response of whatever free text user enters.

Thanks in advance

Note: I’m using Rasa 3.0.2

The helpdesk-assistant has an example form that asks for problem_description which is free form text.

When using forms to request a slot, the nlu intent prediction is not used.

1 Like

Hello @webdev-rohit ,

I think the solution is to use a from_text slot but with the following configuration:

message:
    type: text
    mappings:
    - type: from_text
      intent: null
      conditions:
      - active_loop: your_form
        requested_slot: message

This will allow you to fill the slot message with the user’s input (from_text) regardless of the intent detected with this input (intent:null which will skip NLU Classification), on the unique condition that the your_form form is active and the slot message is requested.