Tracker Stores

Tracker Stores

All conversations are stored within a tracker store. Rasa Open Source provides implementations for different store types out of the box. If you want to use another store, you can also build a custom tracker store by extending the TrackerStore class.

Contents

InMemoryTrackerStore (default)

Description

InMemoryTrackerStore is the default tracker store. It is used if no other tracker store is configured. It stores the conversation history in memory.

Note

As this store keeps all history in memory, the entire history is lost if you restart the Rasa server.

Configuration

To use the InMemoryTrackerStore no configuration is needed.

SQLTrackerStore

Description

SQLTrackerStore can be used to store the conversation history in an SQL database. Storing your trackers this way allows you to query the event database by sender_id, timestamp, action name, intent name and typename.

Configuration

To set up Rasa Open Source with SQL the following steps are required:

  1. Add required configuration to your endpoints.yml:

    tracker_store:
        type: SQL
        dialect: "postgresql"  # the dialect used to interact with the db
        url: ""  # (optional) host of the sql db, e.g. "localhost"
        db: "rasa"  # path to your db
        username:  # username used for authentication
        password:  # password used for authentication
        query: # optional dictionary to be added as a query string to the connection URL
          driver: my-driver
    
  2. To start the Rasa server using your SQL backend, add the --endpoints flag, e.g.:

    rasa run -m models --endpoints endpoints.yml
    

... (other stores configuration follows similarly)