Deprecations and Removals
-
#6484: NLG Server
- Changed request format to send
response
as well astemplate
as a field. Thetemplate
field will be removed in Rasa Open Source 3.0.0.
rasa.core.agent
- The terminology
template
is deprecated and replaced byresponse
. Support fortemplate
from 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_action
as a parameter.- The terminology
template
is deprecated and replaced byresponse
. Support fortemplate
in theNaturalLanguageGenerator
will be removed in Rasa Open Source 3.0.0.
rasa.shared.core.domain
- The property
templates
is deprecated. Useresponses
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 useretrieval_intent_responses
instead.is_retrieval_intent_template
will be removed in Rasa Open Source 3.0.0. Please useis_retrieval_intent_response
instead.check_missing_templates
will be removed in Rasa Open Source 3.0.0. Please usecheck_missing_responses
instead.
Response Selector
- The field
template_name
will be deprecated in Rasa Open Source 3.0.0. Please useutter_action
instead. Please see here for more details. - The field
response_templates
will be deprecated in Rasa Open Source 3.0.0. Please useresponses
instead. Please see here for more details.
- Changed request format to send
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 offit
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 forDIETClassifier
,ResponseSelector
, orTEDPolicy
and log metrics after
every (mini)batch, please use 'batch' instead of 'minibatch' as 'tensorboard_log_level'. -
#7578: When
TED
is configured to extract entitiesrasa 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) andPikaEventBroker
(with RabbitMQ). The integration tests are now part of our
CI, and can also be ran locally usingmake 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 toruamel.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 runningrasa test core
orrasa test
. -
#8100: Improved the lock store 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 ofPOST /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 theconfig.yml
file by removing theMappingPolicy
and adding theRulePolicy
instead. Also, it creates thedata/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
(instories.yml
file).An example would be to have the following story step in
stories.yml
:- 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 thedomain.yml
with typeany
. -
#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 forbert
, and skip allbert
tests
with default model weights on CI, runbert
tests withbert-base-uncased
on CI instead.