notice
This is documentation for Rasa Documentation v2.x, which is no longer actively maintained.
For up-to-date documentation, see the latest version (3.x).
rasa.core.processor
MessageProcessor Objects
handle_message
Handle a single message with this processor.
predict_next
Predict the next action for the current conversation state.
Arguments:
sender_id
- Conversation ID.
Returns:
The prediction for the next action. None
if no domain or policies loaded.
predict_next_with_tracker
Predict the next action for a given conversation state.
Arguments:
tracker
- A tracker representing a conversation state.verbosity
- Verbosity for the returned conversation state.
Returns:
The prediction for the next action. None
if no domain or policies loaded.
fetch_tracker_and_update_session
Fetches tracker for sender_id
and updates its conversation session.
If a new tracker is created, action_session_start
is run.
Arguments:
metadata
- Data sent from client associated with the incoming user message.output_channel
- Output channel associated with the incoming user message.sender_id
- Conversation ID for which to fetch the tracker.
Returns:
Tracker for sender_id
.
fetch_tracker_with_initial_session
Fetches tracker for sender_id
and runs a session start if it's a new
tracker.
Arguments:
metadata
- Data sent from client associated with the incoming user message.output_channel
- Output channel associated with the incoming user message.sender_id
- Conversation ID for which to fetch the tracker.
Returns:
Tracker for sender_id
.
get_tracker
Get the tracker for a conversation.
In contrast to fetch_tracker_and_update_session
this does not add any
action_session_start
or session_start
events at the beginning of a
conversation.
Arguments:
conversation_id
- The ID of the conversation for which the history should be retrieved.
Returns:
Tracker for the conversation. Creates an empty tracker in case it's a new conversation.
get_trackers_for_all_conversation_sessions
Fetches all trackers for a conversation.
Individual trackers are returned for each conversation session found
for conversation_id
.
Arguments:
conversation_id
- The ID of the conversation for which the trackers should be retrieved.
Returns:
Trackers for the conversation.
log_message
Log message
on tracker belonging to the message's conversation_id.
Optionally save the tracker if should_save_tracker
is True
. Tracker saving
can be skipped if the tracker returned by this method is used for further
processing and saved at a later stage.
execute_action
Execute an action for a conversation.
Note that this might lead to unexpected bot behavior. Rather use an intent
to execute certain behavior within a conversation (e.g. by using
trigger_external_user_uttered
).
Arguments:
sender_id
- The ID of the conversation.action_name
- The name of the action which should be executed.output_channel
- The output channel which should be used for bot responses.nlg
- The response generator.prediction
- The prediction for the action.
Returns:
The new conversation state. Note that the new state is also persisted.
predict_next_action
Predicts the next action the bot should take after seeing x.
This should be overwritten by more advanced policies to use ML to predict the action. Returns the index of the next action.
handle_reminder
Handle a reminder that is triggered asynchronously.
trigger_external_user_uttered
Triggers an external message.
Triggers an external message (like a user message, but invisible; used, e.g., by a reminder or the trigger_intent endpoint).
Arguments:
intent_name
- Name of the intent to be triggered.entities
- Entities to be passed on.tracker
- The tracker to which the event should be added.output_channel
- The output channel.
parse_message
Interprete the passed message using the NLU interpreter.
Arguments:
message
- Message to handletracker
- Dialogue context of the message
Returns:
Parsed data extracted from the message.
is_action_limit_reached
Check whether the maximum number of predictions has been met.
Arguments:
num_predicted_actions
- Number of predicted actions.should_predict_another_action
- Whether the last executed action allows for more actions to be predicted or not.
Returns:
True
if the limit of actions to predict has been reached.
should_predict_another_action
Determine whether the processor should predict another action.
Arguments:
action_name
- Name of the latest executed action.
Returns:
False
if action_name
is ACTION_LISTEN_NAME
or
ACTION_SESSION_START_NAME
, otherwise True
.
execute_side_effects
Send bot messages, schedule and cancel reminders that are logged in the events array.