We are currently on Rasa - 1.3.2 version. We have few concerns related to the memory consumption by Rasa in the context of the way we use it.
Use case
We have a user interface which allows the user to define utterances/dialog flow etc. After changes, we allow the user to publish the changes which will update the models on the Rasa instance that is already running and serving requests. On publish, we run APIs to train the models and reload the agent with a new Interpreter instance.
We observed that the memory keeps on accumulating each time
- We try to train the models on the fly
- Reload the agent on the fly i.e. Recreate the Agent with the updated models.
Note: we spawn a new thread each time we try to train and reload the models.
NLU Pipeline Configuration
pipeline:
- name: “WhitespaceTokenizer”
intent_split_symbol: “_”
intent_tokenization_flag: true
-
name: “RegexFeaturizer”
-
name: “CRFEntityExtractor”
-
name: “EntitySynonymMapper”
-
name: “CountVectorsFeaturizer”
-
name: “EmbeddingIntentClassifier”
-
name: DucklingHTTPExtractor
dimensions: [“time”, “number”, “email”]
locale: “en_US”
timezone: “UTC”
Dialog Policy Configurations
-
{“name”: “KerasPolicy”,“priority”:1,“epochs”: 300,“batch_size”: 10,“validation_split”: 0.2,“featurizer”: [{“name”: “MaxHistoryTrackerFeaturizer”,“max_history”: 5,“state_featurizer”: [{“name”: “BinarySingleStateFeaturizer”}]}]}
-
(“name”: “AugmentedMemoizationPolicy”,“priority”:2,“max_history”: 6}
-
{“name”:“FallbackPolicy”,“priority”:3,“nlu_threshold”:0.3,“core_threshold”:0.3,“ambiguity_threshold”:0,“fallback_action_name”:“action_default_fallback”}
-
{“name”:“FormPolicy”,“priority”:4}
-
{“name”:“MappingPolicy”,“priority”:5}
Any help/inputs/suggestions on how to address the memory issue is appreciated.