title: RasaBot
emoji: 💬
colorFrom: yellow
colorTo: purple
sdk: docker
sdk_version: 5.35.0
app_file: app.py
pinned: false
license: mit
RasaBot
Project Overview
RasaBot is an intelligent chatbot leveraging Rasa (version 2.8.3) for conversational management and a classifier microservice built with FastAPI and Outlines. It is composed of two main components running in separate Docker containers:
- Rasa Server: Handles conversations using Rasa.
- Classifier Microservice: Classifies user intents using an LLM hosted by Together AI.
Requirements
- Docker
- Docker Compose
- Together AI API Key
Setup
1. Clone Repository
git clone <repository-url>
cd RasaBot
2. Provide Together AI API Key
Set the Together AI API Key as an environment variable:
export TOGETHERAI_API_KEY="your_together_ai_api_key_here"
Ensure this environment variable is set before running the classifier.
3. Build Docker Images
Execute the provided build script to create the necessary Docker images:
sh build.sh
4. Create Docker Network
Before running the services, create a Docker network named rasa-net
to allow communication between the containers:
docker network create rasa-net
5. Run Services
Start the classifier service on the rasa-net
network:
sh run_classifier.sh
Then, in a separate terminal, start the Rasa server on the rasa-net
network:
sh run_rasa.sh
Your chatbot services will now be running locally and connected via the rasa-net
network.
Usage
Interact with the chatbot via the provided UI or API endpoints.
Stopping Services
To stop the running services, press Ctrl+C
in the respective terminals or stop the Docker containers manually.
Notes
- The classifier microservice relies on Together AI for classification. Ensure the
TOGETHERAI_API_KEY
environment variable is properly configured to avoid runtime errors.