Deprecations and Removals
- #6484: NLG Server
- Changed request format to send
response
as well as template
as a field. The template
field will be removed in Rasa Open Source 3.0.0.
rasa.core.agent
- The terminology template
is deprecated and replaced by response
. Support for template
from the NLG response will be removed in Rasa Open Source 3.0.0. Please see [here](nlg.mdx) for more details.
rasa.core.nlg.generator
- generate()
now takes in utter_action
as a parameter.
- The terminology template
is deprecated and replaced by response
. Support for template
in the NaturalLanguageGenerator
will be removed in Rasa Open Source 3.0.0.
rasa.shared.core.domain
- The property templates
is deprecated. Use responses
instead. It will be removed in Rasa Open Source 3.0.0.
- retrieval_intent_templates
will be removed in Rasa Open Source 3.0.0. Please use retrieval_intent_responses
instead.
- is_retrieval_intent_template
will be removed in Rasa Open Source 3.0.0. Please use is_retrieval_intent_response
instead.
- check_missing_templates
will be removed in Rasa Open Source 3.0.0. Please use check_missing_responses
instead.
Response Selector
- The field template_name
will be deprecated in Rasa Open Source 3.0.0. Please use utter_action
instead. Please see [here](components.mdx#selectors) for more details.
- The field response_templates
will be deprecated in Rasa Open Source 3.0.0. Please use responses
instead. Please see [here](components.mdx#selectors) for more details.
Improvements
#7022: The following endpoints now require the existence of the conversation for the specified conversation ID, raising an exception and returning a 404 status code.
GET /conversations/<conversation_id:path>/story
POST /conversations/<conversation_id:path>/execute
POST /conversations/<conversation_id:path>/predict
#7438: Simplify our training by overwriting train_step
instead of fit
for our custom models.
This allows us to use the build-in callbacks from Keras, such as the
Tensorboard Callback,
which offers more functionality compared to what we had before.
:::warning
If you want to use Tensorboard for `DIETClassifier`, `ResponseSelector`, or `TEDPolicy` and log metrics after
every (mini)batch, please use 'batch' instead of 'minibatch' as 'tensorboard_log_level'.
- #7578: When
TED
is configured to extract entities rasa test
now evaluates them against the labels in the test stories. Results are saved in /results
along with the results for the NLU components that extract entities.
- #7680: We're now running integration tests for Rasa Open Source, with initial coverage for
SQLTrackerStore
(with PostgreSQL),
RedisLockStore
(with Redis) and PikaEventBroker
(with RabbitMQ). The integration tests are now part of our
CI, and can also be ran locally using make test-integration
(see Rasa Open Source README for more information).
- #7763: Allow tests to be located anywhere, not just in
tests
directory.
- #7893: Model configuration files are now validated whether they match the expected schema.
- #7952: Speed up
YAMLStoryReader.is_key_in_yaml
function by making it to check if key is in YAML without
actually parsing the text file.
- #7953: Speed up YAML parsing by reusing parsers, making the process of environment variable interpolation optional,
and by not adding duplicating implicit resolvers and YAML constructors to
ruamel.yaml
- #7955: Drastically improved finger printing time for large story graphs
- #8000: Remove console logging of conversation level F1-score and precision since these calculations were not meaningful.
Add conversation level accuracy to core policy results logged to file in story_report.json
after running rasa test core
or rasa test
.
- #8100: Improved the [lock store](lock-stores.mdx) debug log message when the process has to
queue because other messages have to be processed before this item.
Bugfixes
- #4612: Fixed the bug that OR statements in stories would break the check whether a model needs to be retrained
- #7063: Update the spec of
POST /model/test/intents
and add tests for cases when JSON is provided.
Fix the incorrect temporary file extension for the data that gets extracted from the payload provided
in the body of POST /model/test/intents
request.
- #7113: Fix for the cli command rasa data convert config
when migrating Mapping Policy and no rules.
Making rasa data convert config
migrate correctly the Mapping Policy when no rules are available. It updates the config.yml
file by removing the MappingPolicy
and adding the RulePolicy
instead. Also, it creates the data/rules.yml
file even if empty in the case of no available rules.
- #7470: Allow to have slots with values that result to a dictionary under the key slot_was_set
(in stories.yml
file).
An example would be to have the following story step in stories.yml
:
yaml
- slot_was_set:
- some_slot:
some_key: 'some_value'
other_key: 'other_value'
This would be allowed if the some_slot
is also set accordingly in the domain.yml
with type any
.
- #7662: Update the fingerprinting function to recognize changes in lookup files.
- #7932: Fixed a bug when interpolating environment variables in YAML files which included $
in their value.
This led to the following stack trace:
ValueError: Error when trying to expand the environment variables in '${PASSWORD}'. Please make sure to also set these environment variables: '['$qwerty']'.
(13 additional frame(s) were not displayed)
...
File "rasa/utils/endpoints.py", line 26, in read_endpoint_config
content = rasa.shared.utils.io.read_config_file(filename)
File "rasa/shared/utils/io.py", line 527, in read_config_file
content = read_yaml_file(filename)
File "rasa/shared/utils/io.py", line 368, in read_yaml_file
return read_yaml(read_file(filename, DEFAULT_ENCODING))
File "rasa/shared/utils/io.py", line 349, in read_yaml
return yaml_parser.load(content) or {}
File "rasa/shared/utils/io.py", line 314, in env_var_constructor
" variables: '{}'.".format(value, not_expanded)
- #7949: The REQUESTED_SLOT always belongs to the currently active form.
Previously it was possible that after form switching, the REQUESTED_SLOT was for the previous form.
- #96: Update the LanguageModelFeaturizer
tests to reflect new default model weights for bert
, and skip all bert
tests
with default model weights on CI, run bert
tests with bert-base-uncased
on CI instead.
Miscellaneous internal changes