Rasa (3 Part Series)
1 What is Rasa? A Beginner’s Guide to Conversational AI
2 Why Choose Rasa Over Other Chatbot Frameworks? A Comprehensive Comparison
3 Setting Up Your First Rasa Project
Rasa is an open source framework for creating conversational AI and chatbots. If you are a looking to configure your first project in Rasa, you’ve come to the right place. In this blog, Iwe will set up a Rasa project from the ground up, step by step.
What Is Rasa?
Before diving in, let’s clarify what Rasa is. Rasa consists of two primary components:
-
Rasa Open Source: A framework for building natural language understanding (NLU) and dialogue management.
-
Rasa X: A tool for improving and managing your assistant over time.
Rasa is written in Python and allows for flexible customisation, making it a popular choice among developers.
Prerequisites
To set up Rasa, you need:
-
Python 3.8 or 3.9 (Rasa currently doesn’t support 3.10+)
-
pip (Python package manager)
-
Virtual Environment (Optional but recommended)
Familiarity with Python and basic command-line usage is helpful but not required.
Step 1: Installing Python and Creating Virtual Environment
- Download Python:
- Head over to the Python website and download Python 3.8 or 3.9.
-
Create a Virtual Environment: Using a virtual environment keeps your Rasa project dependencies isolated from your global Python setup.
python -m venv venv
source venv/bin/activate
Step 2: Install Rasa
-
Install Rasa via pip:
pip install rasa
- Verify the installation:
rasa –version
You should see the Rasa version and Python version displayed.
Step 3: Create Your First Rasa Project
Now, let’s create your Rasa project:
-
Run the following command:
rasa init
- Follow the prompts:
-
Rasa will set up a new project directory with the following structure:
my_project/
├── actions/
├── data/
├── models/
├── tests/
├── config.yml
├── credentials.yml
├── domain.yml
└── endpoints.yml -
We will be prompted to train a model and test your assistant. Go ahead and try it!
Step 4: Understand the Key Files in Rasa
Here’s a breakdown of the key files in your project:
-
domain.yml: Defines your bot’s personality, intents, responses, and entities.
-
data/nlu.yml: Contains training examples for intent recognition.
-
data/stories.yml: Defines conversation flows to train the dialogue model.
-
config.yml: Specifies the machine learning pipeline for intent classification and entity recognition.
-
endpoints.yml: Configures where to find external services (e.g., action server).
-
credentials.yml: Configures third-party integrations like Slack or Telegram.
Step 5: Train Your Rasa Model
-
Use the following command to train your assistant if not already trained:
rasa train
- This will generate a model file in the models/ directory, ready to power your chatbot!
Step 6: Test Your Assistant
-
Test your assistant locally:
rasa shell
- Type in some messages to see how the assistant responds. For example:
> Hi Hello! <br>Hey! How are you?<br>> Hi Hello! <br> Hey! How are you?<br>> Hi Hello!
Hey! How are you?
Enter fullscreen mode Exit fullscreen mode
Step 7: Add Custom Actions
Want your bot to perform actions like fetching data from an API? Add custom actions!
-
Open the actions/ directory and create a Python file (e.g., actions.py).
-
Write your custom action:
from rasa_sdk import Action
from rasa_sdk.executor import CollectingDispatcherclass ActionHelloWorld(Action):
def name(self):
return “action_hello_world”def run(self, dispatcher, tracker, domain):dispatcher.utter_message(text="Hello, world!")return []def run(self, dispatcher, tracker, domain): dispatcher.utter_message(text="Hello, world!") return []
def run(self, dispatcher, tracker, domain): dispatcher.utter_message(text="Hello, world!") return []
- Update domain.yml to include your action:
actions:
- action_hello_world
- Start the action server:
rasa run actions
References
Happy coding
Rasa (3 Part Series)
1 What is Rasa? A Beginner’s Guide to Conversational AI
2 Why Choose Rasa Over Other Chatbot Frameworks? A Comprehensive Comparison
3 Setting Up Your First Rasa Project
暂无评论内容