Trackers are Different in Rasa Core SDK


(Adrian Humphrey) #1

I am creating a RedisTrackerStore and loading my agent with this RedisTrackerStore. e.i:

domain = TemplateDomain.load(os.path.join('./agents/superagent/models/dialogue', "domain.yml"))
domain.compare_with_specification('./agents/superagent/models/dialogue')

redis_store = RedisTrackerStore(domain, host="172.31.x.x", port=6379)

super_agent_interpreter = NaturalLanguageInterpreter.create("./agents/superagent/models/nlu/default/current")
superagent = Agent.load("./agents/superagent/models/dialogue", interpreter=super_agent_interpreter, tracker_store=redis_store, action_endpoint=EndpointConfig(url="http://localhost:5055/webhook"))

However, If I print the type of tracker here, it is a:

<rasa_core.trackers.DialogueStateTracker object at 0x7f20da3cd400>

However, in my action when I print the tracker that is passed into the action, it is a

<rasa_core_sdk.Tracker object at 0x7f15202f9cc0>

However! They have the same sender id. However! they do not have slots that have been set earlier.

My question is, how do I get access to the correct Tracker?


(Adrian Humphrey) #2

The answer was to save the tracker after updating it.