desc: | Rasa Changelog |
---|
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning starting with version 1.0.
[Unreleased 1.2.3] - master
- FallbackPolicy can now be configured to trigger when the difference between confidences of two predicted intents is too narrow
- throw error during training when triggers are defined in the domain without
MappingPolicy
being present in the policy ensemble - experimental training data importer which supports training with data of multiple sub bots. Please see the docs for more information.
- The tracker is now available within the interpreter's
parse
method, giving the ability to create interpreter classes that use the tracker state (eg. slot values) during the parsing of the message. More details on motivation of this change see issues/3015
- added character-level
CountVectorsFeaturizer
with empirically found parameters into thesupervised_embeddings
NLU pipeline template - bot messages contain the timestamp of the BotUttered event, which can be used in channels
- NLU evaluations now also stores its output in the output directory like the core evaluation
UserUttered
events always got the same timestamp
- Docs now have an
EDIT THIS PAGE
button
Flood control exceeded
error in Telegram connector which happened because the webhook was set twice
- add root route to server started without
--enable-api
parameter - add
--evaluate-model-directory
torasa test core
to evaluate models fromrasa train core -c <config-1> <config-2>
- option to send messages to the user by calling
POST /conversations/{conversation_id}/execute
- new event broker class:
SQLProducer
. This event broker is now used when running locally with Rasa X - API requests are not longer logged to
rasa_core.log
by default in order to avoid problems when running on OpenShift (use--log-file rasa_core.log
to retain the old behavior) metadata
attribute added toUserMessage
rasa test core
can handle compressed model files- Rasa can handle story files containing multi line comments
- Template will retain { if escaped with {. e.g. {{"foo": {bar}}} will result in {"foo": "replaced value"}
TrainingFileImporter
interface to support customizing the process of loading training data- fill slots for custom templates
Agent.update_model()
andAgent.handle_message()
now work without needing to set a domain or a policy ensemble- update pytype to
2019.7.11
- interactive learning bug where reverted user utterances were dumped to training data
- added timeout to terminal input channel to avoid freezing input in case of server errors
- fill slots for image, buttons, quick_replies and attachments in templates
rasa train core
in comparison mode stores the model files compressed (tar.gz
files)- slot setting in interactive learning with the TwoStageFallbackPolicy
- added optional pymongo dependencies
[tls, srv]
torequirements.txt
for better mongodb support case_sensitive
option added toWhiteSpaceTokenizer
withtrue
as default.
- validation no longer throws an error during interactive learning
- fixed wrong cleaning of
use_entities
in case it was a list and notTrue
- updated the server endpoint
/model/parse
to handle also messages with the intent prefix - fixed bug where "No model found" message appeared after successfully running the bot
- debug logs now print to
rasa_core.log
when runningrasa x -vv
orrasa run -vv
- rest channel supports setting a message's input_channel through a field
input_channel
in the request body
- recommended syntax for empty
use_entities
andignore_entities
in the domain file has been updated fromFalse
orNone
to an empty list ([]
)
rasa run
without--enable-api
does not require a local model anymore- using
rasa run
with--enable-api
to run a server now prints "running Rasa server" instead of "running Rasa Core server" - actions, intents, and utterances created in
rasa interactive
can no longer be empty
- debug logging now tells you which tracker store is connected
- the response of
/model/train
now includes a response header for the trained model filename Validator
class to help developing by checking if the files have any errors- project's code is now linted using flake8
info
log when credentials were provided for multiple channels and channel in--connector
argument was specified at the same time- validate export paths in interactive learning
- deprecate
rasa.core.agent.handle_channels(...)`. Please use ``rasa.run(...)
orrasa.core.run.configure_app
instead. Agent.load()
also acceptstar.gz
model file
- revert the stripping of trailing slashes in endpoint URLs since this can lead to problems in case the trailing slash is actually wanted
- starter packs were removed from Github and are therefore no longer tested by Travis script
- all temporal model files are now deleted after stopping the Rasa server
rasa shell nlu
now outputs unicode characters instead of\uxxxx
codes- fixed PUT /model with model_server by deserializing the model_server to EndpointConfig.
x in AnySlotDict
is nowTrue
for anyx
, which fixes empty slot warnings in interactive learningrasa train
now also includes NLU files in other formats than the Rasa formatrasa train core
no longer crashes without a--domain
argrasa interactive
now looks for endpoints inendpoints.yml
if no--endpoints
arg is passed- custom files, e.g. custom components and channels, load correctly when using the command line interface
MappingPolicy
now works correctly when used as part of a PolicyEnsemble
- unfeaturize single entities
- added agent readiness check to the
/status
resource
- removed leading underscore from name of '_create_initial_project' function.
- fixed bug where facebook quick replies were not rendering
- take FB quick reply payload rather than text as input
- fixed bug where training_data path in metadata.json was an absolute path
- fixed any inconsistent type annotations in code and some bugs revealed by type checker
- fixed duplicate events appearing in tracker when using a PostgreSQL tracker store
- fixed compatibility with Rasa SDK
- bot responses can contain
custom
messages besides other message types
- nlu configs can now be directly compared for performance on a dataset
in
rasa test nlu
- update the tracker in interactive learning through reverting and appending events instead of replacing the tracker
POST /conversations/{conversation_id}/tracker/events
supports a list of events
- fixed creation of
RasaNLUHttpInterpreter
- form actions are included in domain warnings
- default actions, which are overriden by custom actions and are listed in the domain are excluded from domain warnings
- SQL
data
column type toText
for compatibility with MySQL - non-featurizer training parameters don't break SklearnPolicy anymore
- revert PR #3739 (as this is a breaking change): set
PikaProducer
andKafkaProducer
default queues back torasa_core_events
- support for specifying full database urls in the
SQLTrackerStore
configuration - maximum number of predictions can be set via the environment variable
MAX_NUMBER_OF_PREDICTIONS
(default is 10)
- default
PikaProducer
andKafkaProducer
queues torasa_production_events
- exclude unfeaturized slots from domain warnings
- loading of additional training data with the
SkillSelector
- strip trailing slashes in endpoint URLs
- added argument
--rasa-x-port
to specify the port of Rasa X when running Rasa X locally viarasa x
- slack notifications from bots correctly render text
- fixed usage of
--log-file
argument forrasa run
andrasa shell
- check if correct tracker store is configured in local mode
- fixed backwards incompatible utils changes
- fixed spacy being a required dependency (regression)
- automatic creation of index on the
sender_id
column when using an SQL tracker store. If you have an existing data and you are running into performance issues, please make sure to add an index manually usingCREATE INDEX event_idx_sender_id ON events (sender_id);
.
- NLU evaluation in cross-validation mode now also provides intent/entity reports, confusion matrix, etc.
- non-ascii characters render correctly in stories generated from interactive learning
- validate domain file before usage, e.g. print proper error messages if domain file is invalid instead of raising errors
- added
domain_warnings()
method toDomain
which returns a dict containing the diff between supplied {actions, intents, entities, slots} and what's contained in the domain
- fix lookup table files failed to load issues/3622
- buttons can now be properly selected during cmdline chat or when in interactive learning
- set slots correctly when events are added through the API
- mapping policy no longer ignores NLU threshold
- mapping policy priority is correctly persisted
- updated installation command in docs for Rasa X
- added arguments to set the file paths for interactive training
- added quick reply representation for command-line output
- added option to specify custom button type for Facebook buttons
- added tracker store persisting trackers into a SQL database
(
SQLTrackerStore
) - added rasa command line interface and API
- Rasa HTTP training endpoint at
POST /jobs
. This endpoint will train a combined Rasa Core and NLU model ReminderCancelled(action_name)
event to cancel given action_name reminder for current user- Rasa HTTP intent evaluation endpoint at
POST /intentEvaluation
. This endpoints performs an intent evaluation of a Rasa model - option to create template for new utterance action in
interactive learning
- you can now choose actions previously created in the same session
in
interactive learning
- add formatter 'black'
- channel-specific utterances via the
- "channel":
key in utterance templates - arbitrary json messages via the
- "custom":
key in utterance templates and viautter_custom_json()
method in custom actions - support to load sub skills (domain, stories, nlu data)
- support to select which sub skills to load through
import
section inconfig.yml
- support for spaCy 2.1
- a model for an agent can now also be loaded from a remote storage
- log level can be set via environment variable
LOG_LEVEL
- add
--store-uncompressed
to train command to not compress Rasa model - log level of libraries, such as tensorflow, can be set via environment variable
LOG_LEVEL_LIBRARIES
- if no spaCy model is linked upon building a spaCy pipeline, an appropriate error message is now raised with instructions for linking one
- renamed all CLI parameters containing any
_
to use dashes-
instead (GNU standard) - renamed
rasa_core
package torasa.core
- for interactive learning only include manually annotated and ner_crf entities in nlu export
- made
message_id
an additional argument tointerpreter.parse
- changed removing punctuation logic in
WhitespaceTokenizer
training_processes
in the Rasa NLU data router have been renamed toworker_processes
- created a common utils package
rasa.utils
for nlu and core, common methods likeread_yaml
moved there - removed
--num_threads
from run command (server will be asynchronous but running in a single thread) - the
_check_token()
method inRasaChat
now authenticates against/auth/verify
instead of/user
- removed
--pre_load
from run command (Rasa NLU server will just have a maximum of one model and that model will be loaded by default) - changed file format of a stored trained model from the Rasa NLU server to
tar.gz
- train command uses fallback config if an invalid config is given
- test command now compares multiple models if a list of model files is provided for the argument
--model
- Merged rasa.core and rasa.nlu server into a single server. See swagger file in
docs/_static/spec/server.yaml
for available endpoints. utter_custom_message()
method in rasa_core_sdk has been renamed toutter_elements()
- updated dependencies. as part of this, models for spacy need to be reinstalled for 2.1 (from 2.0)
- make sure all command line arguments for
rasa test
andrasa interactive
are actually used, removed arguments that were not used at all (e.g.--core
forrasa test
)
- removed possibility to execute
python -m rasa_core.train
etc. (e.g. scripts inrasa.core
andrasa.nlu
). Use the CLI for rasa instead, e.g.rasa train core
. - removed
_sklearn_numpy_warning_fix
from theSklearnIntentClassifier
- removed
Dispatcher
class from core - removed projects: the Rasa NLU server now has a maximum of one model at a time loaded.
- evaluating core stories with two stage fallback gave an error, trying to handle None for a policy
- the
/evaluate
route for the Rasa NLU server now runs evaluation in a parallel process, which prevents the currently loaded model unloading - added missing implementation of the
keys()
function for the Redis Tracker Store - in interactive learning: only updates entity values if user changes annotation
- log options from the command line interface are applied (they overwrite the environment variable)
- all message arguments (kwargs in dispatcher.utter methods, as well as template args) are now sent through to output channels
- utterance templates defined in actions are checked for existence upon training a new agent, and a warning is thrown before training if one is missing