June 23rd, 2022
Behind the Release Notes: Rasa Open Source 3.2
Lauren Goerz
With over 25+ million downloads, the Rasa Open Source Framework is one of the most widely adopted conversational AI frameworks in the world. With the release of Rasa Open Source 3.2, we want to highlight some of the key improvements and fixes that we have made to advance our Open Source Framework.
Improvements
- Asynchronous Tracker Store
The Tracker Store retrieves and saves conversation history. It is essential for contextual dialogue management during a conversation, and for logging conversation history for future analysis. Up until now, the Tracker Store has used synchronous calls to retrieve and save conversations. In order to allow Rasa to operate better at scale and handle a higher number of conversations, we have updated the tracker store so that it will work asynchronously. This will prevent the tracker store from becoming a process bottleneck, and aid overall system performance. In Rasa Open Source 3.2 there is a mechanism in place that automatically converts the existing tracker store to an asynchronous interface. However, with the launch of the next major version (4.0), non-asynchronous tracker stores will no longer be supported.
- Enable TED Policy to train with GPU or CPU
The TED Policy is one of the machine learning policies you can use in the Rasa NLU Pipeline, and is important for dialogue management at Rasa. This policy uses machine learning to help Rasa choose the next best action in a given dialogue flow, and it is one of the reasons Rasa has a more advanced approach to dialogue management in comparison to the conditional, rule-based dialogue tree approach.
In order to make this NLU Pipeline even more flexible, we’ve added a use_gpu
tag to the Ted Policy which will allow you to switch between GPU and CPU processing while training. This means you can choose the processing system that works best for your use case. If you want to learn more about the TED policy and how it works with Rasa, check out this blog post.
- Add optional --endpoints argument to rasa train
The Rasa server provides endpoints to retrieve trackers of conversations as well as endpoints to modify them. Additionally, endpoints for training and testing models are provided. We’ve added the optional --endpoints
command line parameter to the rasa train parser to make endpoints available during training if needed.
Deprecations
- Deprecate NLU JSON Format
Until now, we have supported both JSON and YAML file formats. However, with this release we will only continue to support YAML as the only official Rasa file format. If you are currently working with JSON, the following command should help you convert to YAML: rasa data convert nlu -f yaml --data <path to NLU data>
The features we have added to Rasa Open Source 3.2 give you the power of customization, and allow you to choose how and when you train and track data in our open source framework. We would like to additionally give a shout out to one of our community members, @danielenricocahal, who implemented key improvements to the tracker store. Try it out and let us know what you think!