psfr937
(Raymond)
1
Everytime I send a message to the bot, it stucks for a long time when it prints
DEBUG rasa_core.policies.memoization - Launch DeLorean…
, maybe around a minute or more. I am already using a small max_history.
This is my policy:
policies:
- name: KerasPolicy
epochs: 100
max_history: 5
- name: AugmentedMemoizationPolicy
max_history: 2
- name: FormPolicy
- name: MappingPolicy
And my log:
2019-06-17 22:13:18 DEBUG rasa_core.processor - Action ‘utter_introduce’ ended with events ‘’
2019-06-17 22:13:18 DEBUG rasa_core.processor - Bot utterance >‘BotUttered(text: hello, data: {
“elements”: null,
“buttons”: null,
“attachment”: null
})’
2019-06-17 22:13:19 DEBUG rasa_core.policies.memoization - Current tracker state [{‘slot_ex_0’: 1.0, ‘slot_utterance_id_0’: 1.0, ‘slot_respondent_0’: 1.0, ‘entity_epic_id’: 1.0, ‘entity_utterance_id’: 1.0, ‘slot_enquirer_0’: 1.0, ‘slot_epic_id_0’: 1.0, ‘prev_action_listen’: 1.0, ‘intent_greet’: 1.0, ‘slot_mc_answer_1’: 1.0}, {‘slot_ex_0’: 1.0, ‘slot_utterance_id_0’: 1.0, ‘slot_respondent_0’: 1.0, ‘entity_epic_id’: 1.0, ‘entity_utterance_id’: 1.0, ‘slot_enquirer_0’: 1.0, ‘slot_epic_id_0’: 1.0, ‘intent_greet’: 1.0, ‘slot_mc_answer_1’: 1.0, ‘prev_utter_introduce’: 1.0}]
2019-06-17 22:13:19 DEBUG rasa_core.policies.memoization - Launch DeLorean…
Do you know what makes it so slow and how to make it faster?
psfr937
(Raymond)
2
Problems solved. It is my mistake.
It is because I have not specified max_event_history when I define my custom tracker store.
So, when I ahve more then 10k records, the McFly update function iterates through all of them.
After I set max_event_history to 100, the memorization policy is much faster.
The thread below shows how to limit the tracker history size:
selphe
(Selphe)
3
I’ve faced same issue.
Is it possible to set max_event_history
with mongo or sql tracker?
dosapati
(Dosapati)
4
Did found this issue recently and clients started complaining.
I did dig deep into the code and able to solve by writing custom TrackerStore,
class MyCustomRedisTrackerStore(RedisTrackerStore):
read the existing events and delete the old events and save them back to the store. Hope this helps you too.
this can be done to any TrackerStore