After migrating from Rasa 2.8.0 to 3.6.13, we are having issues with a custom form action in our bots. When I run the action to query a Jira board for a ticket, with the ticket ID as the input, I get the below error:
rasa.engine.graph - Node 'select_prediction' running 'DefaultPolicyPredictionEnsemble.combine_predictions_from_kwargs'.
rasa.core.policies.ensemble - Execution of 'query_jira_form' was rejected. Setting its confidence to 0.0 in all predictions.
rasa.core.policies.ensemble - Made prediction using user intent.
rasa.core.policies.ensemble - Added `DefinePrevUserUtterFeaturization(False)` event.
rasa.core.policies.ensemble - Predicted next action using TEDPolicy.
rasa.core.processor - Predicted next action 'utter_goodbye' with confidence 0.13
So far, following the documentation, I’ve setup the domain and story for this action as follows:
#domain_jira.yml
version: "3.1"
intents:
- jira_support
- intent_query_jira
- activate_jira_form
entities:
- jira_query_id
actions:
- action_jira
- action_validate_jira_config
- action_form_reset
- utter_jira_list
- action_query_jira
slots:
jira_query_id:
type: text
influence_conversation: false
mappings:
- type: from_entity
entity: jira_query_id
responses:
utter_jira_list:
- text: Looking up Jira...
form:
query_jira_form:
required_slots:
- jira_query_id
I’ve setup the story as follows:
stories:
- story: jira tasks
steps:
- intent: jira_support
- action_jira #determines which jira action user wants to take. For our purposes, only query, which leads to next story
- action_validate_jira_config
- story: Activate jira query
steps:
- intent: intent_query_jira
- action: action_form_reset #resets slots
- action: query_jira_form #form that user enters jira ID into.
- active_loop: query_jira_form #Form waits for user input. Once I enter the id, I see the above error.
- active_loop: null #close the form
- action: utter_jira_list
- action: action_query_jira #call to jira api
I’ve also set this up as a rule instead of a story, with the same result:
rules:
- rule: activate query jira form
steps:
- intent: intent_query_jira
- action: action_form_reset
- action: query_jira_form
- active_loop: query_jira_form
- rule: submit query jira form
condition:
- active_loop: query_jira_form
steps:
- action: query_jira_form
- active_loop: null
- slot_was_set:
- requested_slot: null
- action: utter_jira_list
- action: action_query_jira
I’ve determined that the story works up until I enter any text for the form; thats when it generates the execution failure and falls to the TED policy. I don’t know what else I can check at this point, though.