Migration Guide
Migration Guide
This page contains information about changes between major versions and how you can migrate from one version to another.
Rasa 1.7 to Rasa 1.8
Warning: This is a release breaking backwards compatibility. It is not possible to load previously trained models. Please make sure to retrain a model before trying to use it with this improved version.
General
- The TED Policy replaced the Keras Policy as the recommended machine learning policy. New projects generated with
rasa initwill automatically use this policy. In case you want to change your existing model configuration to use the TED Policy, add this to thepoliciessection in yourconfig.ymland remove potentially existingKerasPolicyentries:
policies:
# - ... other policies
- name: TEDPolicy
max_history: 5
epochs: 100
```
- All pre-defined pipeline templates are deprecated. **Any templates you use will be** **mapped to the new configuration, but the underlying architecture is the same**.
- The [Embedding Policy](https://legacy-docs-v1.rasa.com/1.8.3/core/policies/#embedding-policy) was renamed to [TED Policy](https://legacy-docs-v1.rasa.com/1.8.3/core/policies/#ted-policy). The functionality of the policy stayed the same. Please update your configuration files to use `TEDPolicy` instead of `EmbeddingPolicy`.
- Most of the model options for `EmbeddingPolicy`, `EmbeddingIntentClassifier`, and `ResponseSelector` got renamed. Please update your configuration files using the following mapping:
| Old model option | New model option |
| --- | --- |
| hidden_layers_sizes_a | dictionary “hidden_layers_sizes” with key “text” |
| hidden_layers_sizes_b | dictionary “hidden_layers_sizes” with key “label” |
| hidden_layers_sizes_pre_dial | dictionary “hidden_layers_sizes” with key “dialogue” |
| hidden_layers_sizes_bot | dictionary “hidden_layers_sizes” with key “label” |
| num_transformer_layers | number_of_transformer_layers |
| num_heads | number_of_attention_heads |
| max_seq_length | maximum_sequence_length |
| dense_dim | dense_dimension |
| embed_dim | embedding_dimension |
| num_neg | number_of_negative_examples |
| mu_pos | maximum_positive_similarity |
| mu_neg | maximum_negative_similarity |
| use_max_sim_neg | use_maximum_negative_similarity |
| C2 | regularization_constant |
| C_emb | negative_margin_scale |
| droprate_a | droprate_dialogue |
| droprate_b | droprate_label |
| evaluate_every_num_epochs | evaluate_every_number_of_epochs |
| evaluate_on_num_examples | evaluate_on_number_of_examples |
- [EmbeddingIntentClassifier](https://legacy-docs-v1.rasa.com/1.8.3/nlu/components/#embedding-intent-classifier) is now deprecated and will be replaced by [DIETClassifier](https://legacy-docs-v1.rasa.com/1.8.3/nlu/components/#diet-classifier) in the future. If you want to get the same model behavior as the current `EmbeddingIntentClassifier`, you can use the following configuration of `DIETClassifier`:
pipeline:
# - ... other components
- name: DIETClassifier
hidden_layers_sizes:
text: [256, 128]
number_of_transformer_layers: 0
weight_sparsity: 0
intent_classification: True
entity_recognition: False
use_masked_language_model: False
BILOU_flag: False
# ... any other parameters
```
- If your pipeline contains
CRFEntityExtractorandEmbeddingIntentClassifier, you can substitute both components with DIETClassifier. You can use the following pipeline for that:
pipeline:
# - ... other components
- name: LexicalSyntacticFeaturizer
features: [
["low", "title", "upper"],
[
"BOS",
"EOS",
"low",
"prefix5",
"prefix2",
"suffix5",
"suffix3",
"suffix2",
"upper",
"title",
"digit",
],
["low", "title", "upper"],
]
- name: DIETClassifier
number_of_transformer_layers: 0
# ... any other parameters
```
## Rasa 1.6 to Rasa 1.7
### General
- By default, the `EmbeddingIntentClassifier`, `EmbeddingPolicy`, and `ResponseSelector` will now normalize the top 10 confidence results if the `loss_type` is "softmax" (which has been default since 1.3). This is configurable via the `ranking_length` configuration parameter; to turn off normalization to match the previous behavior, set `ranking_length: 0`.
## Rasa 1.2 to Rasa 1.3
### General
- Default parameters of `EmbeddingIntentClassifier` are changed. See [Components](https://legacy-docs-v1.rasa.com/1.8.3/nlu/components/#components) for details.
*... (subsequent sections would follow the same pattern, referring to specific versions and changes within the documentation)*
👋 I can help you get started with Rasa and answer your technical questions.