RasaBot / README.md
Luigi's picture
recall user to create rasa-net for inetr-service communication
6f5c5a1
metadata
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.