Rasa as open source alternative to Google Dialogflow - Migration Guide
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: Create a Rasa Project
To create a Rasa project, run:
This will create a directory called data
.
Remove the files in this directory, and
move your unzipped folder into this directory.
Step 3: Train your NLU model
To train a model using your Dialogflow data, run:
Step 4: Test your NLU model
Let's see how your NLU model will interpret some test messages. To start a testing session, run:
This will prompt your for input. Type a test message and press 'Enter'. The output of your NLU model will be printed to the screen. You can keep entering messages and test as many as you like. Press 'control + C' to quit.
Step 5: Start a Server with your NLU Model
To start a server with your NLU model, run:
This will start a server listening on port 5005.
To send a request to the server, run:
The emulation_mode
parameter tells Rasa that you want your JSON response to have the same format as you would
get from the Dialogflow sessions.detectIntent
endpoint (the format is
described here).
You can also leave it out to get the result in the usual Rasa format.
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.
Join the Rasa Community Forum and let us know how your migration went!