Version Migration Guide
You are viewing documentation for our open source project which is maintained by the community. If you want to get started building assistants with Rasa please check out our latest documentation here.
This page contains information about changes between major versions and how you can migrate from one version to another.
Rasa 2.7 to 2.8
caution
This release breaks backward compatibility of machine learning models. It is not possible to load models trained with previous versions of Rasa Open Source. Please re-train your assistant before using this version.
Deprecations
Tracker Featurizers
training_states_actions_and_entities method of TrackerFeaturizer, FullDialogueTrackerFeaturizer and MaxHistoryTrackerFeaturizer classes is deprecated and will be removed in Rasa Open Source 3.0 . If you had a custom tracker featurizer which relied on this method from any of the above classes, please use training_states_labels_and_entities instead.training_states_actions method of TrackerFeaturizer, FullDialogueTrackerFeaturizer and MaxHistoryTrackerFeaturizer classes is deprecated and will be removed in Rasa Open Source 3.0 . If you had a custom tracker featurizer which relied on this method from any of the above classes, please use training_states_labels instead.
State Featurizer
encode_all_actions method of SingleStateFeaturizer class is deprecated and will be removed in Rasa Open Source 3.0 . It is recommended to use the method encode_all_labels instead.
Incremental Training
Users don't need to specify an additional buffer size for sparse featurizers anymore during incremental training.
Space for new sparse features are created dynamically inside the downstream machine learning models - DIETClassifier, ResponseSelector. In other words, no extra buffer is created in advance for additional vocabulary items and space will be dynamically allocated for them inside the model.
This means there's no need to specify additional_vocabulary_size for CountVectorsFeaturizer or number_additional_patterns for RegexFeaturizer. These parameters are now deprecated.
Machine Learning Components
The option model_confidence=linear_norm is deprecated and will be removed in Rasa Open Source 3.0.0.
Rasa Open Source 2.3.0 introduced linear_norm as a possible value for model_confidence parameter in machine learning components such as DIETClassifier, ResponseSelector and TEDPolicy. Based on user feedback, we have identified multiple problems with this option. Therefore, model_confidence=linear_norm is now deprecated and will be removed in Rasa Open Source 3.0.0. If you were using model_confidence=linear_norm for any of the mentioned components, we recommend to revert it back to model_confidence=softmax and re-train the assistant. After re-training, we also recommend to re-tune the thresholds for fallback components.
Rasa 2.5 to 2.6
Forms
New ignored_intents parameter in Forms
There is a new parameter under Forms called ignored_intents. This parameter can be used to prevent any required slots in a form from being filled with the specified intent or intents. Please see the Forms documentation for examples and more information on how to use it in your domain.yml file.
Before, if a user did not want to fill any slots of a form with a specified intent they would have to define it under the not_intent parameter for every slot mapping as shown in the following example :
domain.yml
forms:
restaurant_form:
cuisine:
- type: from_entity
entity: cuisine
not_intent: chitchat
num_people:
- type: from_entity
entity: number
intent: [inform, request_restaurant]
not_intent: chitchat
feedback:
- type: from_entity
entity: feedback
not_intent: chitchat
By introducing the ignored_intents parameter, we now only need to define it in one place and it will affect all the slots of the form :
domain.yml
forms:
restaurant_form:
ignored_intents: chitchat
required_slots:
cuisine:
- type: from_entity
entity: cuisine
num_people:
- type: from_entity
entity: number
intent: [inform, request_restaurant]
feedback:
- type: from_entity
entity: feedback
- type: from_text
Rasa 2.4 to 2.5
Machine Learning Components
DIET, TED, and ResponseSelector
The former weight_sparsity parameter of the DIETClassifier, TEDPolicy, and the ResponseSelector, is now deprecated and superseded by the new connection_density parameter. The old weight_sparsity is roughly equivalent to 1 - connection_density, except at very low densities (high sparsities).
To avoid deprecation issues, you should set connection_density to 1 - your former weight_sparsity setting throughout the config file. (If you left weight_sparsity at its default setting, you don't need to do anything.)
SpaCy 3.0
Rasa now supports spaCy 3.0. This means that we can support more features for more languages but this also introduced a breaking change. SpaCy 3.0 deprecated the spacy link <language model> command. So from now on you need to use the the full model name in the config.yml file.
Before
language: en
pipeline:
- name: SpacyNLP
Now
language: en
pipeline:
- name: SpacyNLP
model: en_core_web_md
Fallback
To make the transition easier, Rasa will try to fall back to a medium spaCy model whenever a compatible language is configured for the entire pipeline in config.yml, even if you don't specify a model. This fallback behavior is temporary and will be deprecated in Rasa Open Source 3.0.0.
We've updated our docs to reflect these changes. All examples now show a direct link to the correct spaCy model. We've also added a warning to the SpaCyNLP docs that explains the fallback behavior.
Rasa 2.3 to Rasa 2.4
Deprecating template for response
NLG Server
- Changed request format to send
responseas well astemplateas a field. Thetemplatefield will be removed in Rasa Open Source 3.0.0. - The terminology
templateis deprecated and replaced byresponse. Support fortemplatefrom the NLG response will be removed in Rasa Open Source 3.0.0. Please see here for more details.
rasa.core.agent
- The terminology
templateis deprecated and replaced byresponse. Support fortemplatefrom the NLG response will be removed in Rasa Open Source 3.0.0. Please see here for more details.
rasa.core.nlg.generator
generate()now takes inutter_actionas a parameter.- The terminology
templateis deprecated and replaced byresponse. Support fortemplatein theNaturalLanguageGeneratorwill be removed in Rasa Open Source 3.0.0.
rasa.shared.core.domain
- The property
templatesis deprecated. Useresponsesinstead. It will be removed in Rasa Open Source 3.0.0. retrieval_intent_templateswill be removed in Rasa Open Source 3.0.0. Please useretrieval_intent_responsesinstead.is_retrieval_intent_templatewill be removed in Rasa Open Source 3.0.0. Please useis_retrieval_intent_responseinstead.check_missing_templateswill be removed in Rasa Open Source 3.0.0. Please usecheck_missing_responsesinstead.
Response Selector
- The field
template_namewill be deprecated in Rasa Open Source 3.0.0. Please useutter_actioninstead. Please see here for more details. - The field
response_templateswill be deprecated in Rasa Open Source 3.0.0. Please useresponsesinstead. Please see here for more details.
Rasa 2.3.3 to Rasa 2.3.4
caution
This is a release breaking backwards compatibility of machine learning models. It is not possible to load previously trained models if they were trained with model_confidence=cosine or model_confidence=inner setting. Please make sure to re-train the assistant before trying to use it with this improved version.