RasaBot / README.md
Luigi's picture
recall user to create rasa-net for inetr-service communication
6f5c5a1
---
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
```bash
git clone <repository-url>
cd RasaBot
```
### 2. Provide Together AI API Key
Set the Together AI API Key as an environment variable:
```bash
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:
```bash
sh build.sh
```
### 4. Create Docker Network
Before running the services, create a Docker network named `rasa-net` to allow communication between the containers:
```bash
docker network create rasa-net
```
### 5. Run Services
Start the classifier service on the `rasa-net` network:
```bash
sh run_classifier.sh
```
Then, in a separate terminal, start the Rasa server on the `rasa-net` network:
```bash
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.