Agent

Rasa Open Source 1.x Documentation

These docs are for version 1.x of Rasa Open Source. Docs for the new version 2.0 can be found here.

User Guide

NLU

Core

Conversation Design

API Reference

Migrate from (beta)

Reference

Versions

Agent

class rasa.core.agent.Agent( domain=None, policies=None, interpreter=None, generator=None, tracker_store=None, lock_store=None, action_endpoint=None, fingerprint=None, model_directory=None, model_server=None, remote_storage=None, path_to_model_archive=None)

The Agent class provides a convenient interface for the most important Rasa functionality.

This includes training, handling messages, loading a dialogue model, getting the next action, and handling a channel.

Methods

create_processor( preprocessor=None)

Instantiates a processor based on the set state of the agent.
Return type: MessageProcessor

async execute_action( sender_id, action, output_channel, policy, confidence)

Handle a single message.
Return type: DialogueStateTracker

handle_channels( channels, http_port=5005, route='/webhooks/', cors=None)

Start a webserver attaching the input channels and handling msgs. Return type: Sanic

async handle_message( message, message_preprocessor=None, **kwargs)

Handle a single message.
Return type: Optional[List[Dict[str, Any]]

async handle_text( text_message, message_preprocessor=None, output_channel=None, sender_id='default)

Handle a single message.

Example:

>>> from rasa.core.agent import Agent
>>> from rasa.core.interpreter import RasaNLUInterpreter
>>> agent = Agent.load("examples/restaurantbot/models/current")
>>> await agent.handle_text("hello")
[u'how can I help you?']

Return type: Optional[List[Dict[str, Any]]

is_core_ready()

Check if all necessary components and policies are ready to use the agent.
Return type: bool

is_ready()

Check if all necessary components are instantiated to use agent.
Return type: bool

classmethod load( model_path, interpreter=None, generator=None, tracker_store=None, lock_store=None, action_endpoint=None, model_server=None, remote_storage=None, path_to_model_archive=None)

Load a persisted model from the passed path.
Return type: Agent

async load_data( training_resource, remove_duplicates=True, unique_last_num_states=None, augmentation_factor=50, tracker_limit=None, use_story_concatenation=True, debug_plots=False, exclusion_percentage=None)

Load training data from a resource.
Return type: List DialogueStateTracker

async log_message( message, message_preprocessor=None, **kwargs)

Append a message to a dialogue - does not predict actions.
Return type: DialogueStateTracker

async parse_message_using_nlu_interpreter( message_data, tracker=None)

Handles message text and intent payload input messages.
Return type: Dict[str, Any]

persist( model_path)

Persists this agent into a directory for later loading and usage.
Return type: None

async predict_next( sender_id, **kwargs)

Handle a single message.
Return type: Optional[Dict[str, Any]

toggle_memoization( activate)

Toggles the memoization on and off.
Return type: None

train( training_trackers, **kwargs)

Train the policies / policy ensemble using dialogue data from file.
Return type: None

async trigger_intent( intent_name, entities, output_channel, tracker)

Trigger a user intent, e.g. triggered by an external event.
Return type: None

👋 I can help you get started with Rasa and answer your technical questions.