Rasa Change Log
Rasa Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning starting with version 1.0.
[1.3.10] - 2019-10-18
Added
- Can now pass a package as an argument to the
--actionsparameter of therasa run actionscommand.
Fixed
- Fixed visualization of stories with entities which led to a failing visualization in Rasa X
[1.3.9] - 2019-10-10
Added
Port of 1.2.10 (support for RabbitMQ TLS authentication and
portkey in event broker endpoint config).Port of 1.2.11 (support for passing a CA file for SSL certificate verification via the –ssl-ca-file flag).
Fixed
Fixed the hanging HTTP call with
ner_duckling_httppipeline.Fixed text processing of
intentattribute insideCountVectorFeaturizer.Fixed
argument of type 'NoneType' is not iterablewhen usingrasa shell,rasa interactive/rasa run
[1.3.8] - 2019-10-08
Changed
- Policies now only get imported if they are actually used. This removes TensorFlow warnings when starting Rasa X
Fixed
Fixed error
Object of type 'MaxHistoryTrackerFeaturizer' is not JSON serializablewhen runningrasa train coreDefault channel
send_methods no longer support kwargs as they caused issues in incompatible channels
[1.3.7] - 2019-09-27
Fixed
re-added TLS, SRV dependencies for PyMongo
socketio can now be run without turning on the
--enable-apiflagMappingPolicy no longer fails when the latest action doesn’t have a policy
[1.3.6] - 2019-09-21
Added
- Added the ability for users to specify a conversation id to send a message to when using the
RasaChatinput channel.
[1.3.5] - 2019-09-20
Fixed
- Fixed issue where
rasa initwould fail without spaCy being installed
[1.3.4] - 2019-09-20
Added
Added the ability to set the
backlogparameter in Sanicsrun()method using theSANIC_BACKLOGenvironment variable. This parameter sets the number of unaccepted connections the server allows before refusing new connections. A default value of 100 is used if the variable is not set.Status endpoint (
/status) now also returns the number of training processes currently running
Fixed
Added the ability to properly deal with spaCy
Doc-objects created on empty strings as discussed here. Only training samples that actually bear content are sent toself.nlp.pipefor every given attribute. Non-content-bearing samples are converted to emptyDoc-objects. The resulting lists are merged with their preserved order and properly returned.asyncio warnings are now only printed if the callback takes more than 100ms (up from 1ms).
agent.load_model_from_serverno longer affects logging.
Changed
- The endpoint
POST /model/trainno longer supports specifying an output directory for the trained model using the fieldout. Instead you can choose whether you want to save the trained model in the default model directory (models) (default behavior) or in a temporary directory by specifying thesave_to_default_model_directoryfield in the training request.
[1.3.3] - 2019-09-13
Fixed
Added a check to avoid training CountVectorizer for a particular attribute of a message if no text is provided for that attribute across the training data.
Default one-hot representation for label featurization inside
EmbeddingIntentClassifierif label features don’t exist.Policy ensemble no longer incorrectly wrings “missing mapping policy” when mapping policy is present.
“test” from
utter_custom_jsonnow correctly saved to tracker when using telegram channel
Removed
- Removed computation of
intent_spacy_doc. As a result, none of the spacy components process intents now.
[1.3.2] - 2019-09-10
Fixed
- SQL tracker events are retrieved ordered by timestamps. This fixes interactive learning events being shown in the wrong order.
[1.3.1] - 2019-09-09
Changed
- Pin gast to == 0.2.2
[1.3.0] - 2019-09-05
Added
Added option to persist nlu training data (default: False)
option to save stories in e2e format for interactive learning
bot messages contain the
timestampof theBotUtteredevent, which can be used in channelsFallbackPolicycan now be configured to trigger when the difference between confidences of two predicted intents is too narrowexperimental training data importer which supports training with data of multiple sub bots. Please see the docs for more information.
throw error during training when triggers are defined in the domain without
MappingPolicybeing present in the policy ensembleThe tracker is now available within the interpreter’s
parsemethod, giving the ability to create interpreter classes that use the tracker state (e.g. slot values) during the parsing of the message. More details on motivation of this change see issues/3015.add example bot
knowledgebasebotto showcase the usage ofActionQueryKnowledgeBasesoftmaxstarspace loss for bothEmbeddingPolicyandEmbeddingIntentClassifierbalancedbatching strategy for bothEmbeddingPolicyandEmbeddingIntentClassifiermax_historyparameter forEmbeddingPolicySuccessful predictions of the NER are written to a file if
--successesis set when runningrasa test nluIncorrect predictions of the NER are written to a file by default. You can disable it via
--no-errors.New NLU component
ResponseSelectoradded for the task of response selectionMessage data attribute can contain two more keys -
response_key,responsedepending on the training dataNew action type implemented by
ActionRetrieveResponseclass and identified withresponse_prefixVocabulary sharing inside
CountVectorsFeaturizerwithuse_shared_vocabflag. If set to True, vocabulary of corpus is shared between text, intent and response attributes of the messageAdded an option to share the hidden layer weights of text input and label input inside
EmbeddingIntentClassifierusing the flagshare_hidden_layersNew type of training data file in NLU which stores response phrases for response selection task.
Add flags
intent_split_symbolandintent_tokenization_flagto allWhitespaceTokenizer,JiebaTokenizerandSpacyTokenizerAdded evaluation for response selector. Creates a report
response_selection_report.jsoninside--outdirectory.argument
--config-endpointto specify the URL from whichrasa xpulls the runtime configuration (endpoints and credentials)LockStoreclass storing instances ofTicketLockfor everyconversation_idenvironment variables
SQL_POOL_SIZE(default: 50) andSQL_MAX_OVERFLOW(default: 100) can be set to control the pool size and maximum pool overflow forSQLTrackerStorewhen used with thepostgresqldialectAdd a
bot_challengeintent and autter_iamabotaction to all example projects and the rasa init bot.Allow sending attachments when using the socketio channel
rasa data validatewill fail with a non-zero exit code if validation fails
Changed
added character-level
CountVectorsFeaturizerwith empirically found parameters into thesupervised_embeddingsNLU pipeline templateNLU evaluations now also stores its output in the output directory like the core evaluation
show warning in case a default path is used instead of a provided, invalid path
compare mode of
rasa train coreallows the whole core config comparison, naming style of models trained for comparison is changed (this is a breaking change)pika keeps a single connection open, instead of open and closing on each incoming event
RasaChatInputfetches the public key from the Rasa X API. The key is used to decode the bearer token containing the conversation ID. This requiresrasa-x>=0.20.2.more specific exception message when loading custom components depending on whether component’s path or class name is invalid or can’t be found in the global namespace
change priorities so that the
MemoizationPolicyhas higher priority than theMappingPolicysubstitute LSTM with Transformer in
EmbeddingPolicyEmbeddingPolicycan now useMaxHistoryTrackerFeaturizernon-zero
evaluate_on_num_examplesinEmbeddingPolicyandEmbeddingIntentClassifieris the size of holdout validation set that is excluded from training datadefaults parameters and architectures for both
EmbeddingPolicyandEmbeddingIntentClassifierare changed (this is a breaking change)evaluation of NER does not include ‘no-entity’ anymore
--successesforrasa test nluis now boolean values. If set incorrect/successful predictions are saved in a file.--errorsis renamed to--no-errorsand is now a boolean value. By default incorrect predictions are saved in a file. If--no-errorsis set predictions are not written to a file.Remove
label_tokenization_flagandlabel_split_symbolfromEmbeddingIntentClassifier. Instead move these parameters toTokenizers.Process features of all attributes of a message, i.e. - text, intent and response inside the respective component itself. For e.g. - intent of a message is now tokenized inside the tokenizer itself.
Deprecate
as_markdownandas_jsonin favor ofnlu_as_markdownandnlu_as_jsonrespectively.pin python-engineio >= 3.9.3
update python-socketio req to >= 4.3.1
Fixed
rasa test nluwith a folder of configuration filesMappingPolicystandard featurizer is set toNoneRemoved
textparameter from send_attachment function in slack.py to avoid duplication of text output to slackbotserver
/statusendpoint reports status when an NLU-only model is loaded
Removed
- Removed
--reportargument fromrasa test nlu. All output files are stored in the--outdirectory.
[1.2.11] - 2019-10-09
Added
- Support for passing a CA file for SSL certificate verification via the –ssl-ca-file flag
[1.2.10] - 2019-10-08
Added
Added support for RabbitMQ TLS authentication. The following environment variables need to be set:
RABBITMQ_SSL_CLIENT_CERTIFICATE- path to the SSL client certificate (required)RABBITMQ_SSL_CLIENT_KEY- path to the SSL client key (required)RABBITMQ_SSL_CA_FILE- path to the SSL CA file (optional, for certificate verification)RABBITMQ_SSL_KEY_PASSWORD- SSL private key password (optional)Added ability to define the RabbitMQ port using the
portkey in theevent_brokerendpoint config.
[1.2.9] - 2019-09-17
Fixed
- Correctly pass SSL flag values to x CLI command
[1.2.8] - 2019-09-10
Fixed
- SQL tracker events are retrieved ordered by timestamps. This fixes interactive learning events being shown in the wrong order. Backport of
1.3.2patch (PR #4427).
[1.2.7] - 2019-09-02
Fixed
- Added
querydictionary argument toSQLTrackerStorewhich will be appended to the SQL connection URL as query parameters.
[1.2.6] - 2019-09-02
Fixed
- fixed bug that occurred when sending template
elementsthrough a channel that doesn’t support them
[1.2.5] - 2019-08-26
Added
- SSL support for
rasa runcommand. Certificate can be specified using--ssl-certificateand--ssl-keyfile.
Fixed
made default augmentation value consistent across repo
'/restart'will now also restart the bot if the tracker is paused
[1.2.4] - 2019-08-23
Fixed
- the
SocketIOinput channel now allows access from other origins (fixesSocketIOchannel on Rasa X)
[1.2.3] - 2019-08-15
Changed
messages with multiple entities are now handled properly with e2e evaluation
data/test_evaluations/end_to_end_story.mdwas rewritten in the restaurantbot domain
[1.2.2] - 2019-08-07
Fixed
UserUtteredevents always got the same timestamp
[1.2.1] - 2019-08-06
Added
- Docs now have an
EDIT THIS PAGEbutton
Fixed
Flood control exceedederror in Telegram connector which happened because the webhook was set twice
[1.2.0] - 2019-08-01
Added
add root route to server started without
--enable-apiparameteradd
--evaluate-model-directorytorasa test coreto evaluate models fromrasa train core -c <config-1> <config-2>option to send messages to the user by calling
POST /conversations/{conversation_id}/execute
Changed
Agent.update_model()andAgent.handle_message()now work without needing to set a domain or a policy ensembleUpdate pytype to
2019.7.11new event broker class:
SQLProducer. This event broker is now used when running locally with Rasa XAPI requests are no longer logged to
rasa_core.logby default in order to avoid problems when running on OpenShift (use--log-file rasa_core.logto retain the old behavior)metadataattribute added toUserMessage
Fixed
rasa test corecan handle compressed model filesrasa can handle story files containing multi-line comments
template will retain { if escaped with {. e.g. {{“foo”: {bar}}} will result in {“foo”: “replaced value”}
[1.1.8] - 2019-07-25
Added
TrainingFileImporterinterface to support customizing the process of loading training datafill slots for custom templates
Changed
Agent.update_model()andAgent.handle_message()now work without needing to set a domain or a policy ensembleupdate pytype to
2019.7.11
Fixed
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
[1.1.7] - 2019-07-18
Added
added optional pymongo dependencies
[tls, srv]torequirements.txtfor better mongodb supportcase_sensitiveoption added toWhiteSpaceTokenizerwithtrueas default.
Fixed
validation no longer throws an error during interactive learning
fixed wrong cleaning of
use_entitiesin case it was a list and notTrueupdated the server endpoint
/model/parseto handle also messages with the intent prefixfixed bug where “No model found” message appeared after successfully running the bot
debug logs now print to
rasa_core.logwhen runningrasa x -vvorrasa run -vv
[1.1.6] - 2019-07-12
Added
- rest channel supports setting a message’s input_channel through a field
input_channelin the request body
Changed
- recommended syntax for empty
use_entitiesandignore_entitiesin the domain file has been updated fromFalseorNoneto an empty list ([])
Fixed
rasa runwithout--enable-apidoes not require a local model anymoreusing
rasa runwith--enable-apito run a server now prints “running Rasa server” instead of “running Rasa Core server”actions, intents, and utterances created in
rasa interactivecan no longer be empty
[1.1.5] - 2019-07-10
Added
debug logging now tells you which tracker store is connected
the response of
/model/trainnow includes a response header for the trained model filenameValidatorclass to help develop by checking if the files have any errorsproject’s code is now linted using flake8
infolog when credentials were provided for multiple channels and channel in--connectorargument was specified at the same timevalidate export paths in interactive learning
Changed
deprecate
rasa.core.agent.handle_channels(...). Please userasa.run(...)orrasa.core.run.configure_appinstead.Agent.load()also acceptstar.gzmodel file
Removed
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 the Travis script
Fixed
all temporal model files are now deleted after stopping the Rasa server
rasa shell nlunow outputs unicode characters instead of\uxxxxcodesfixed PUT /model with model_server by deserializing the model_server to EndpointConfig.
x in AnySlotDictis nowTruefor anyx, which fixes empty slot warnings in interactive learningrasa trainnow also includes NLU files in other formats than the Rasa formatrasa train coreno longer crashes without a--domainargrasa interactivenow looks for endpoints inendpoints.ymlif no--endpointsarg is passedcustom files, e.g. custom components and channels, load correctly when using the command line interface
MappingPolicynow works correctly when used as part of a PolicyEnsemble
[1.1.4] - 2019-06-18
Added
unfeaturize single entities
added agent readiness check to the
/statusresource
Changed
- removed leading underscore from name of ‘_create_initial_project’ function.
Fixed
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
[1.1.3] - 2019-06-14
Fixed
- fixed any inconsistent type annotations in code and some bugs revealed by type checker
[1.1.2] - 2019-06-13
Fixed
- fixed duplicate events appearing in tracker when using a PostgreSQL tracker store
[1.1.1] - 2019-06-13
Fixed
fixed compatibility with Rasa SDK
bot responses can contain
custommessages besides other message types
[1.1.0] - 2019-06-13
Added
- nlu configs can now be directly compared for performance on a dataset in
rasa test nlu
Changed
update the tracker in interactive learning through reverting and appending events instead of replacing the tracker
POST /conversations/{conversation_id}/tracker/eventssupports a list of events
Fixed
fixed creation of
RasaNLUHttpInterpreterform actions are included in domain warnings
default actions, which are overridden by custom actions and are listed in the domain are excluded from domain warnings
SQL
datacolumn type toTextfor compatibility with MySQLnon-featurizer training parameters don’t break SklearnPolicy anymore
[1.0.9] - 2019-06-10
Changed
- revert PR #3739 (as this is a breaking change): set
PikaProducerandKafkaProducerdefault queues back torasa_core_events
[1.0.8] - 2019-06-10
Added
support for specifying full database URLs in the
SQLTrackerStoreconfigurationmaximum number of predictions can be set via the environment variable
MAX_NUMBER_OF_PREDICTIONS(default is 10)
Changed
default
PikaProducerandKafkaProducerqueues torasa_production_eventsexclude unfeaturized slots from domain warnings
Fixed
loading of additional training data with the
SkillSelectorstrip trailing slashes in endpoint URLs
[1.0.7] - 2019-06-06
Added
- added argument
--rasa-x-portto specify the port of Rasa X when running Rasa X locally viarasa x
Fixed
slack notifications from bots correctly render text
fixed usage of
--log-fileargument forrasa runandrasa shellcheck if correct tracker store is configured in local mode
[1.0.6] - 2019-06-03
Fixed
- fixed backwards incompatible utils changes
[1.0.5] - 2019-06-03
Fixed
- fixed spaCy being a required dependency (regression)
[1.0.4] - 2019-06-03
Added
- automatic creation of index on the
sender_idcolumn when using an SQL tracker store. If you have 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);.
Changed
- NLU evaluation in cross-validation mode now also provides intent/entity reports, confusion matrix, etc.
[1.0.3] - 2019-05-30
Fixed
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
[1.0.2] - 2019-05-29
Added
- added
domain_warnings()method toDomainwhich returns a dict containing the diff between supplied {actions, intents, entities, slots} and what’s contained in the domain
Fixed
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
[1.0.1] - 2019-05-21
Fixed
- updated installation command in docs for Rasa X
[1.0.0] - 2019-05-21
Added
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 modelReminderCancelled(action_name)event to cancel given action_name reminder for the current userRasa HTTP intent evaluation endpoint at
POST /intentEvaluation. This endpoint performs an intent evaluation of a Rasa modeloption 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 templatesarbitrary json messages via the
- "custom":key in utterance templates and viautter_custom_json()method in custom actionssupport to load sub skills (domain, stories, nlu data)
support to select which sub skills to load through
importsection inconfig.ymlsupport for spaCy 2.1
a model for an agent can now also be loaded from a remote storage
log level can be set via the environment variable
LOG_LEVELadd
--store-uncompressedto train command to not compress Rasa modellog level of libraries, such as tensorflow, can be set via environment variable
LOG_LEVEL_LIBRARIESif no spaCy model is linked upon building a spaCy pipeline, an appropriate error message is now raised with instructions for linking one
Changed
renamed all CLI parameters containing any
_to use dashes-instead (GNU standard)renamed
rasa_corepackage torasa.corefor interactive learning only include manually annotated and ner_crf entities in nlu export
made
message_idan additional argument tointerpreter.parsechanged removing punctuation logic in
WhitespaceTokenizertraining_processesin the Rasa NLU data router have been renamed toworker_processescreated a common utils package
rasa.utilsfor nlu and core, common methods likeread_yamlmoved thereremoved
--num_threadsfrom run command (server will be asynchronous but running in a single thread)the
_check_token()method inRasaChatnow authenticates against/auth/verifyinstead of/userremoved
--pre_loadfrom 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.gztrain 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
--modelMerged rasa.core and rasa.nlu server into a single server. See swagger file in
docs/_static/spec/server.yamlfor 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 testandrasa interactiveare actually used, removed arguments that were not used at all (e.g.--coreforrasa test)
Removed
removed possibility to execute
python -m rasa_core.trainetc. (e.g. scripts inrasa.coreandrasa.nlu). Use the CLI for rasa instead, e.g.rasa train core.removed
_sklearn_numpy_warning_fixfrom theSklearnIntentClassifierremoved
Dispatcherclass from coreremoved projects: the Rasa NLU server now has a maximum of one model at a time loaded.