|
--- |
|
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. |
|
|