All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning starting with version 0.2.0.
[Unreleased 0.9.0.aX] - master
Note
This version is not yet released and is under active development.
- supported loading training data from a folder - loads all stories from all files in that directory
- parameter to specify NLU project when instantiating a
RasaNLUInterpreter
- simple
/respond
endpoint to get bot response to a user message /conversations
endpoint for listing sender ids of running conversations- added a Mattermost channel that allows Rasa Core to communicate via a Mattermost app
- added a Twilio channel that allows Rasa Core to communicate via SMS
FallbackPolicy
for executing a default message if NLU or core model confidence is low.FormAction
class to make it easier to collect multiple pieces of information with fewer stories.
- updated dependency fbmessenger from 4.3.1 to 5.0.0
- updated Rasa NLU to 0.12.x
- Slack connector:
slack_channel
kwarg is used to send messages either back to the user or to a static channel
- script to reload a dumped trackers state and to continue the conversation at the end of the stored dialogue
- minor updates to dependencies
- fixed datetime serialisation of reminder event
- removed deque to support python 3.5
- Documentation improvements to tutorials
- serialisation of date time value for
ReminderScheduled
event
This is a major version change. Make sure to take a look at the :ref:`migration` in the documentation for advice on how to update existing projects.
--debug
and--verbose
flags to scripts (train.py, run.py, server.py) to set the log level- support for story cycles when using checkpoints
- added a new machine learning policy SklearnPolicy that uses an sklearn classifier to predict actions (logistic regression by default)
- warn if action emits events when using a model that it did never emit in any of the stories the model was trained on
- support for event pushing and endpoints to retrieve the tracker state from the server
- Timestamp to every event
- added a Slack channel that allows Rasa Core to communicate via a Slack app
- added a Telegram channel that allows Rasa Core to communicate via a Telegram bot
- rewrite of the whole FB connector: replaced pymessenger library with fbmessenger
- story file utterance format changed from
* _intent_greet[name=Rasa]
to* intent_greet{"name": "Rasa"}
(old format is still supported but deprecated) - persist action names in domain during model persistence
- improved travis build speed by not using miniconda
- don't fail with an exception but with a helpful error message if an utterance template contains a variable that can not be filled
- domain doesn't fail on unknown actions but emits a warning instead. this is to support reading logs from older conversation if one recently removed an action from the domain
- proper evaluation of stories with checkpoints
- proper visualisation of stories with checkpoints
- fixed float slot min max value handling
- fixed non integer feature decoding, e.g. used for memoization policy
- properly log to specified file when starting Rasa Core server
- properly calculate offset of last reset event after loading tracker from tracker store
- UserUtteranceReverted action incorrectly triggered actions to be replayed
- visualisation using Networkx version 2.x
- add output about line of failing intent when parsing story files
- Pypi readme rendering
- log bot utterances to tracker
- documentation improvements in README
- renamed interpreter argument to rasa core server
- moodbot example train command in docs
- "sender_id" (and "DEFAULT_SENDER_ID") keyword consistency issue #56
- improved moodbot example - more nlu examples as well as better fitting of dialogue model
- added method to tracker to retrieve the latest entities #68
- parameter to specify font size when rendering story visualization
- fixed documentation of story visualization
- added facebook bot example
- added support for conditional checkpoints. a checkpoint can be restricted to only allow one to use it if certain slots are set. see docs for details
- utterance templates in domain yaml support buttons and images
- validate domain yaml and raise exception on invalid file
run
script to load models and handle messages from an input channel
- small dropout in standard keras model to decrease reliance on exact intents
- a LOT of documentation improvements
- fixed http error if action listen is not confirmed. #42
- issues with restart events. They created wrong a messed up history leading to wrong predictions
- support for Rasa Core usage as a server with remote action execution
- switched to max code line length 80
- removed action id - use
action.name()
instead. if an action implementation overrides the name, it should include theaction_
prefix (as it is not automatically added anymore) - renamed
rasa_dm.util
torasa_dm.utils
- renamed the whole package to
rasa_core
(sorasa_dm
is gone!) - renamed
Reminder
attributeid
toname
- a lot of documentation improvements. docs are now at https://core.rasa.ai
- use hashing when writing memorized turns into persistence - requires retraining of all models that are trained with a version prior to this
- changed
agent.handle_message(...)
interface for easier usage
- support for multiple policies (e.g. one memoization and a Keras policy at the same time)
- loading domains from yaml files instead of defining them with python code
- added an api layer (called
Agent
) for you to use for 95% of the things you want to do (training, persistence, loading models) - support for reminders
- large refactoring of code base
ScoringPolicy
added to policy implementations (less strict than standard default policy)RasaNLUInterpreter
to run a nlu instance within dm (instead of using the http interface)- more tests
UserUtterance
now holds the complete parse data from nlu (e.g. to access attributes other than entities or intent)Turn
has a reference to aUserUtterance
instead of directly storing intent & entities (allows access to other data)- Simplified interface of output channels
- order of actions in the DefaultPolicy in
possible_actions
(ActionListen
now always has index 0)
RedisTrackerStore
checks if tracker is stored before accessing it (otherwise aNone
access exception is thrown)RegexInterpreter
checks if the regex actually matches the message instead of assuming it always doesstr
implementation for all eventsController
can be started without an input channel (e.g. messages need to be fed into the queue manually)
First released version.