Rasa as open source alternative to Google Dialogflow - Migration Guide¶
This guide shows you how to migrate your application built with Google Dialogflow to Rasa. Here are a few reasons why we see developers switching:
- Faster: Runs locally - no https requests and server round trips required
- Customizable: Tune models and get higher accuracy with your data set
- Open source: No risk of vendor lock-in - the Rasa Stack comes with an Apache 2.0 licence and you can use it in commercial projects
Let's get started with migrating your application from Dialogflow to Rasa (you can find a more detailed tutorial here):
Step 1: Export your data from Dialogflow¶
Navigate to your agent’s settings by clicking the gear icon.
Click on the ‘Export and Import’ tab and click on the ‘Export as ZIP’ button.
This will download a file with a .zip
extension. Unzip this file to create a folder.
Step 2: Train your Rasa NLU model¶
Follow the instructions in the NLU Quickstart, using your downloaded folder as the training data.
If your unzipped folder is called testagent
, the command would be:
python -m rasa_nlu.train -c config.yml -d testagent
Step 3: Modify your app to call your Rasa NLU Server¶
Your existing application will have some code to make API requests to Dialogflow.
Modify the API url to point to your Rasa NLU server.
If you are testing this on your development machine, that will be at http://localhost:5000
When you start the Rasa NLU server, you can also pass an emulate
argument:
python -m rasa_nlu.server -e dialogflow
By adding this parameter, Rasa NLU’s responses will be in the same format as Dialogflow provides, so that you don’t have to modify anything other than the URL in your API call.
Terminology:¶
The words intent
, entity
, and utterance
have the same meaning in Rasa as they do in Dialogflow.
In Dialogflow, there is a concept called Fulfillment
. In Rasa we call this a Custom Action.
Dialogflow also has a Small Talk module. One of our awesome contributors has made a Rasa compatible version of this here.
Join the Rasa Community Forum and let us know how your migration went!