File size: 1,974 Bytes
0d9a014
09583cb
0d9a014
 
 
34f4608
 
0d9a014
 
09583cb
0d9a014
 
378b225
59e8d1c
378b225
59e8d1c
378b225
59e8d1c
378b225
6f5c5a1
5281d1a
378b225
5281d1a
 
 
378b225
5281d1a
378b225
5281d1a
378b225
5281d1a
 
378b225
 
5281d1a
 
378b225
5281d1a
378b225
5281d1a
 
378b225
5281d1a
 
378b225
5281d1a
378b225
59e8d1c
378b225
59e8d1c
5281d1a
378b225
5281d1a
59e8d1c
6f5c5a1
59e8d1c
6f5c5a1
 
 
 
 
 
 
 
 
59e8d1c
 
378b225
5281d1a
 
6f5c5a1
5281d1a
378b225
 
5281d1a
 
6f5c5a1
5281d1a
378b225
5281d1a
378b225
5281d1a
378b225
5281d1a
378b225
5281d1a
378b225
5281d1a
378b225
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
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.