Rasa: 2.5.0 Release

Release date:
April 12, 2021
Previous version:
2.4.3 (released March 26, 2021)
Magnitude:
2,912 Diff Delta
Contributors:
12 total committers
Data confidence:
Commits:

77 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Authored April 1, 2021
Authored March 23, 2021
Authored April 1, 2021
Authored March 26, 2021
Authored March 26, 2021
Authored April 7, 2021
Authored March 29, 2021
Authored March 31, 2021
Authored March 29, 2021
Authored April 7, 2021
Authored March 31, 2021
Authored March 25, 2021
Authored March 18, 2021
Authored March 29, 2021
Authored March 23, 2021
Authored March 29, 2021
Authored March 31, 2021
Authored April 6, 2021
Authored March 29, 2021
Authored March 26, 2021
Authored April 6, 2021
Authored March 29, 2021
Authored April 7, 2021
Authored March 26, 2021

Top Contributors in 2.5.0

wochinge
ancalita
koernerfelicia-c355
alwx
b-quachtran
joejuzl
tmbo
dominique-b5af
HotThoughts
samsucik

Directory Browser for 2.5.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Deprecations and Removals

  • #8141: The following import abbreviations were removed:
    • rasa.core.train: Please use rasa.core.train.train instead.
    • rasa.core.visualize: Please use rasa.core.visualize.visualize instead.
    • rasa.nlu.train: Please use rasa.nlu.train.train instead.
    • rasa.nlu.test: Please use rasa.nlu.test.run_evaluation instead.
    • rasa.nlu.cross_validate: Please use rasa.nlu.test.cross_validate instead.

Features

  • #7869: Upgraded Rasa to be compatible with spaCy 3.0.

This means that we can support more features for more languages but there are also a few changes.

SpaCy 3.0 deprecated the spacy link <language model> command so that means that from now on the full model name needs to be used in the config.yml file.

Before

Before you could run spacy link en en_core_web_md and then we would be able to pick up the correct model from the language parameter.

  language: en

  pipeline:
     - name: SpacyNLP

Now

This behavior will be deprecated and instead you'll want to be explicit in config.yml.

  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 when-ever 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 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](components.mdx#spacynlp) docs that explains the fallback behavior.

Improvements

  • #4280: Improved CLI startup time.
  • #4596: Add augmentation and num_threads arguments to API POST /model/train

Fix boolean casting issue for force_training and save_to_default_model_directory arguments - #7477: Add minimum compatible version to --version command - #7660: Updated warning for unexpected slot events during prediction time to Rasa Open Source 2.0 YAML training data format. - #7701: Hide dialogue turns predicted by RulePolicy in the tracker states for ML-only policies like TEDPolicy if those dialogue turns only appear as rules in the training data and do not appear in stories.

Add set_shared_policy_states(...) method to all policies. This method sets _rule_only_data dict with keys: - rule_only_slots: Slot names, which only occur in rules but not in stories. - rule_only_loops: Loop names, which only occur in rules but not in stories.

This information is needed for correct featurization to hide dialogue turns that appear only in rules. - #8208: Faster reading of YAML NLU training data files. - #8335: Added partition_by_sender flag to [Kafka Producer](event-brokers.mdx#kafka-event-broker) to optionally associate events with Kafka partition based on sender_id.

Bugfixes

  • #7260: Fixed the 'loading model' message which was logged twice when using rasa run.
  • #7379: Change training data validation to only count nlu training examples.
  • #7450: Rule tracker states no longer include the initial value of slots. Rules now only require slot values when explicitly stated in the rule.
  • #7640: rasa test, rasa test core and rasa test nlu no longer show temporary paths in case there are issues in the test files.
  • #7690: Resolved memory problems with dense features and CRFEntityExtractor
  • #7916: Handle empty intent and entity mapping in the domain.

There is now an InvalidDomain exception raised if in the domain.yml file there are empty intent or entity mappings. An example of empty intent and entity mappings is the following : ```yaml-rasa intents: - greet: - goodbye:

entities: - cuisine: - number: `` - [#8102](https://github.com/rasahq/rasa/issues/8102): Fixed a bug in a form where slot mapping doesn't work if the predicted intent name is substring for another intent name. - [#8114](https://github.com/rasahq/rasa/issues/8114): Fixes bug where stories could not be retrieved if entities had no start or end. - [#8178](https://github.com/rasahq/rasa/issues/8178): Catch ChannelNotFoundEntity exception coming from the pika broker and raise as ConnectionException. - [#8337](https://github.com/rasahq/rasa/issues/8337): Fix bug with NoReturn throwing an exception in Python 3.7.0 when runningrasa train - [#8382](https://github.com/rasahq/rasa/issues/8382): ThrowRasaExceptioninstead ofValueError` in situations when environment variables specified in YAML cannot be expanded. - #8343: Updated python-engineio version for compatibility with python-socketio

Miscellaneous internal changes