Rasa Advanced Deployment: Part 5(Conversation driven development)

Analytics Vidhya
Published in
5 min readDec 20, 2020

Welcome to the 5th part of the Rasa Advanced Development Series. Here, we will talk about Conversation driven development.
Conversation-Driven Development (CDD) is the process of listening to your users and using those insights to improve your AI assistant. It is the overarching best practice approach for chatbot development.

Developing great AI assistants is challenging because users will always say something you didn’t anticipate. The principle behind CDD is that in every conversation users are telling you — in their own words — exactly what they want. By practicing CDD at every stage of bot development, you orient your assistant towards real user language and behavior.

CDD includes the following actions:

  • Share your assistant with users as soon as possible
  • Review conversations on a regular basis
  • Annotate messages and use them as NLU training data
  • Test that your assistant always behaves as you expect
  • Track when your assistant fails and measure its performance over time
  • Fix how your assistant handles unsuccessful conversations


Let’s first share the bot with the test user or end-user. You can find the share option in the model section of rasa-x.

In assistant detail either you can write your chatbot title or anything that you want. In the description, you can write what the chatbot is doing and how the test user can interact with it.


When the guest tester will use our bot we will see the conversation that the guest tester has in our conversation section of rasa-x.


Now if we look into the awesome text we can find that our chatbot is identifying this as mood_unhappy intent which is written down in text. which is wrong. so if we found any conversation is wrong then we can correct it from here by clicking the pencil button near our text. Then we can add that corrected data into training data.

It’s a best practice that after correcting the conversation we can tag that conversation as reviewed so we don’t look at the same conversation again for correction.

Annotating Data

If we look closer at the git section in rasa-x, the color changes to yellow as we have some changes in our data. Let’s push that data into git first, so that our data is up-to-date.

Click on “Add changes to Git server” button.

Now, whenever we will add changes to our Git rasa-x will create a new branch. So we can verify the change and if it looks good then we will merge with the master branch.

We can compare the changes and create a pull request to merge those changes with the master branch by clicking on the Compare & pull request button.

Here we have to change the repository that we have to merge. As we have forked the repo we will see the master branch of the original repo on the left side. So we have to change it to our master branch.

Here we can write what changes we have done for future perspectives and also for a developer who is going to merge this branch. Now we can create a pull request.

Here we can merge changes with the master branch.

Test, Track & Fix

As we merge here our rasa-x will try to sync with the master branch changes. we have to wait for git to sync when it will finish we can see git section color will be changed to green and our new data in NLU data. Now we can train it again, then activate the new model and talk with it.

Now we have our new model so we can again give this URL to the test user and we will keep track of the conversation. Also wherever we will find the conversation is predicted wrong we can fix that and repeat the process.

That’s all for today in the series of advance deployment of the Rasa chatbot. Keep an eye on the series of this blog. Till then, Happy Coding!!!


If you like this post, HIT Buy me a coffee! Thanks for reading.

Your every small contribution will encourage me to create more content like this.



Analytics Vidhya

Howdy & Welcome. I am a content creator, machine learning researcher, and consultant. consultancy: dlmadeblog@gmail.com