-
#9045: The option
model_confidence=linear_norm
is deprecated and will be removed in Rasa Open Source3.0.0
.Rasa Open Source
2.3.0
introducedlinear_norm
as a possible value formodel_confidence
parameter in machine learning components such asDIETClassifier
,ResponseSelector
andTEDPolicy
.
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 Source3.0.0
. If you were usingmodel_confidence=linear_norm
for any of the mentioned components,
we recommend to revert it back tomodel_confidence=softmax
and re-train the assistant. After re-training,
we also recommend to re-tune the thresholds for fallback components. -
#9091: The fallback mechanism for spaCy models has now been removed in Rasa
3.0.0
.Rasa Open Source
2.5.0
introduced support for spaCy 3.0. This introduced a
breaking feature because models would no longer be manually linked. To make
the transition smooth Rasa would rely on thelanguage
parameter in the
config.yml
to fallback to a medium spaCy model if no model was configured
for theSpacyNLP
component. In Rasa Open Source3.0.0
and onwards the
SpacyNLP
component will require the model name (like"en_core_web_md"
)
to be passed explicitly.
Features
-
#8724: Added
sasl_mechanism
as an optional configurable parameters for the Kafka Producer. -
#8913: Introduces a new policy called
UnexpecTEDIntentPolicy
.UnexpecTEDIntentPolicy
helps you review conversations
and also allows your bot to react to unexpected user turns in conversations.
It is an auxiliary policy that should only be used in conjunction with
at least one other policy, as the only action that it can trigger
is the special and newly introduced
action_unlikely_intent
action.The auto-configuration will include
UnexpecTEDIntentPolicy
in your
configuration automatically, but you can also include it yourself
in thepolicies
section of the configuration:policies: - name: UnexpecTEDIntentPolicy epochs: 200 max_history: 5
As part of the feature, it also introduces:
IntentMaxHistoryTrackerFeaturizer
to featurize the trackers forUnexpecTEDIntentPolicy
.MultiLabelDotProductLoss
to supportUnexpecTEDIntentPolicy
's multi-label training objective.- A new default action called
action_unlikely_intent
.
rasa test
command has also been adapted toUnexpecTEDIntentPolicy
:- If a test story contains
action_unlikely_intent
and the policy ensemble does not trigger it, this leads to
a test error (wrongly predicted action) and the corresponding story will be logged infailed_test_stories.yml
. - If the story does not contain
action_unlikely_intent
and Rasa Open Source does predict it then
the prediction ofaction_unlikely_intent
will be ignored for the evaluation (and hence not lead
to a prediction error) but the story will be logged in a file calledstories_with_warnings.yml
.
The
rasa data validate
command will warn ifaction_unlikely_intent
is
included in the training stories. Accordingly,YAMLStoryWriter
andMarkdownStoryWriter
have been updated to not dumpaction_unlikely_intent
when writing stories to a file.:::caution
The introduction of a new default action breaks backward compatibility of previously trained models.
It is not possible to load models trained with previous versions of Rasa Open Source. Please re-train
your assistant before trying to use this version.:::
Improvements
-
#8127: Added detailed json schema validation for
UserUttered
,SlotSet
,ActionExecuted
andEntitiesAdded
events both sent and received from the action server, as well as covered at high-level the validation of the rest of the 20 events.
In case the events are invalid, aValidationError
will be raised. -
#8232: 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
forCountVectorsFeaturizer
or
number_additional_patterns
forRegexFeaturizer
. These parameters are now deprecated.Before
pipeline: - name: "WhitespaceTokenizer" - name: "RegexFeaturizer" number_additional_patterns: 100 - name: "CountVectorsFeaturizer" additional_vocabulary_size: {text: 100, response: 20}
Now
pipeline: - name: "WhitespaceTokenizer" - name: "RegexFeaturizer" - name: "CountVectorsFeaturizer"
Also, all custom layers specifically built for machine learning models -
RasaSequenceLayer
,RasaFeatureCombiningLayer
andConcatenateSparseDenseFeatures
now inherit fromRasaCustomLayer
so that they support flexible incremental training out of the box. -
#8295: Speed up the contradiction check of the
RulePolicy
by a factor of 3. -
#8801: Change the confidence score assigned by
FallbackClassifier
to fallback intent to be the same as the fallback threshold. -
#8926: Issue a UserWarning if a specified domain folder contains files that look like YML files but cannot be parsed successfully.
Only invoked if user specifies a folder path in--domain
paramater. Previously those invalid files in the specified folder were silently ignored.
Does not apply to individually specified domain YAML files, e.g.--domain /some/path/domain.yml
, those being invalid will still raise an exception.
Bugfixes
- #8711: Fix for unnecessary retrain and duplication of folders in the model