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