Agent
These docs are for version 1.x of Rasa Open Source.
User Guide
- Installation
- Tutorial: Rasa Basics
- Tutorial: Building Assistants
- Command Line Interface
- Architecture
- Messaging and Voice Channels
- Testing Your Assistant
- Setting up CI/CD
- Validate Data
- Configuring the HTTP API
- Deploying Your Rasa Assistant
- Cloud Storage
NLU
- About
- Using NLU Only
- Training Data Format
- Language Support
- Choosing a Pipeline
- Components
- Entity Extraction
Core
- About
- Stories
- Domains
- Responses
- Actions
- Reminders and External Events
- Policies
- Slots
- Forms
- Retrieval Actions
- Interactive Learning
- Fallback Actions
- Knowledge Base Actions
Conversation Design
API Reference
- Action Server
- HTTP API
- Jupyter Notebooks
- Agent
- Custom NLU Components
- Rasa SDK
- Events
- Tracker
- Tracker Stores
- Event Brokers
- Lock Stores
- Training Data Importers
- Featurization of Conversations
- TensorFlow Configuration
- Migration Guide
- Rasa Open Source Change Log
Migrate from (beta)
Reference
Versions
viewing: 1.10.20
Warning: This document is for an old version of Rasa. The latest version is 1.10.26.
Agent
Class Definition
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:MessageProcessorasync execute_action(sender_id, action, output_channel, policy, confidence)
Handle a single message.
Return type:DialogueStateTrackerhandle_channels(channels, http_port=5005, route='/webhooks/', cors=None)
Start a webserver attaching the input channels and handling msgs.
Return type:Sanicasync 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.is_core_ready()
Check if all necessary components and policies are ready to use the agent.
Return type:boolis_ready()
Check if all necessary components are instantiated to use agent.
Return type:boolasync 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:DialogueStateTrackerasync parse_message_using_nlu_interpreter(message_data, tracker=None)
Handles message text and intent payload input messages.
Return type: Dict[str, Any]async train(training_trackers, **kwargs)
Train the policies / policy ensemble using dialogue data from file.async trigger_intent(intent_name, entities, output_channel, tracker)
Trigger a user intent, e.g. triggered by an external event.
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")
👋 I can help you get started with Rasa and answer your technical questions.