notice
This is documentation for Rasa Open Source Documentation v2.0.x, which is no longer actively maintained.
For up-to-date documentation, see the latest version (2.3.x).
rasa.core.tracker_store
TrackerStore Objects
Class to hold all of the TrackerStore classes
__init__
Create a TrackerStore.
Arguments:
domain
- TheDomain
to initialize theDialogueStateTracker
.event_broker
- An event broker to publish any new events to another destination.retrieve_events_from_previous_conversation_sessions
- IfTrue
,retrieve
will return all events (even if they are from a previous conversation session). This setting only applies toTrackerStore
s which usually would only return events for the latest session.
create
Factory to create a tracker store.
get_or_create_tracker
Returns tracker or creates one if the retrieval returns None.
Arguments:
sender_id
- Conversation ID associated with the requested tracker.max_event_history
- Value to update the tracker store's max event history to.append_action_listen
- Whether or not to append an initialaction_listen
.
init_tracker
Returns a Dialogue State Tracker
create_tracker
Creates a new tracker for sender_id
.
The tracker begins with a SessionStarted
event and is initially listening.
Arguments:
sender_id
- Conversation ID associated with the tracker.append_action_listen
- Whether or not to append an initialaction_listen
.
Returns:
The newly created tracker for sender_id
.
save
Save method that will be overridden by specific tracker
retrieve
Retrieve method that will be overridden by specific tracker
stream_events
Streams events to a message broker
number_of_existing_events
Return number of stored events for a given sender id.
keys
Returns the set of values for the tracker store's primary key
serialise_tracker
Serializes the tracker, returns representation of the tracker.
deserialise_tracker
Deserializes the tracker and returns it.
InMemoryTrackerStore Objects
Stores conversation history in memory
save
Updates and saves the current conversation state
retrieve
Arguments:
sender_id
- the message owner ID
Returns:
DialogueStateTracker
keys
Returns sender_ids of the Tracker Store in memory
RedisTrackerStore Objects
Stores conversation history in Redis
save
Saves the current conversation state
retrieve
Arguments:
sender_id
- the message owner ID
Returns:
DialogueStateTracker
keys
Returns keys of the Redis Tracker Store
DynamoTrackerStore Objects
Stores conversation history in DynamoDB
__init__
Initialize DynamoTrackerStore
.
Arguments:
domain
- Domain associated with this tracker store.table_name
- The name of the DynamoDB table, does not need to be present a priori.region
- The name of the region associated with the client. A client is associated with a single region.event_broker
- An event broker used to publish events.
get_or_create_table
Returns table or creates one if the table name is not in the table list
save
Saves the current conversation state
serialise_tracker
Serializes the tracker, returns object with decimal types
retrieve
Create a tracker from all previously stored events.
keys
Returns sender_ids of the DynamoTrackerStore
MongoTrackerStore Objects
Stores conversation history in Mongo
Property methods: conversations: returns the current conversation
conversations
Returns the current conversation
save
Saves the current conversation state
retrieve
Arguments:
sender_id
- the message owner ID
Returns:
DialogueStateTracker
keys
Returns sender_ids of the Mongo Tracker Store
is_postgresql_url
Determine whether url
configures a PostgreSQL connection.
Arguments:
url
- SQL connection URL.
Returns:
True
if url
is a PostgreSQL connection URL.
create_engine_kwargs
Get sqlalchemy.create_engine()
kwargs.
Arguments:
url
- SQL connection URL.
Returns:
kwargs to be passed into sqlalchemy.create_engine()
.
ensure_schema_exists
Ensure that the requested PostgreSQL schema exists in the database.
Arguments:
session
- Session used to inspect the database.
Raises:
ValueError
if the requested schema does not exist.
SQLTrackerStore Objects
Store which can save and retrieve trackers from an SQL database.
SQLEvent Objects
Represents an event in the SQL Tracker Store
get_db_url
Build an SQLAlchemy URL
object representing the parameters needed
to connect to an SQL database.
Arguments:
dialect
- SQL database type.host
- Database network host.port
- Database network port.db
- Database name.username
- User name to use when connecting to the database.password
- Password for database user.login_db
- Alternative database name to which initially connect, and create the database specified bydb
(PostgreSQL only).query
- Dictionary of options to be passed to the dialect and/or the DBAPI upon connect.
Returns:
URL ready to be used with an SQLAlchemy Engine
object.
session_scope
Provide a transactional scope around a series of operations.
keys
Returns sender_ids of the SQLTrackerStore
retrieve
Create a tracker from all previously stored events.
save
Update database with events from the current conversation.
FailSafeTrackerStore Objects
Wraps a tracker store so that we can fallback to a different tracker store in case of errors.
__init__
Create a FailSafeTrackerStore
.
Arguments:
tracker_store
- Primary tracker store.on_tracker_store_error
- Callback which is called when there is an error in the primary tracker store.