File size: 2,417 Bytes
63c66f1
fd75e3e
 
 
 
 
9be5b28
63c66f1
9be5b28
de833bd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---

title: RAG
emoji: 👁
colorFrom: blue
colorTo: indigo
sdk: docker
pinned: false
---


# RAG Model for Solana SuperTeam Chatbot

Mô hình RAG (Retrieval Augmented Generation) cho Solana SuperTeam Chatbot sử dụng Gemini-1.5-flash và Pinecone để lưu trữ và truy xuất dữ liệu liên quan đến Solana SuperTeam.

## Cấu trúc

```

.

├── NLP_model/

│   └── chatbot.py       # Chứa logic của mô hình RAG

├── app.py               # FastAPI server

├── requirements.txt     # Thư viện cần thiết

├── Dockerfile          # Docker configuration

├── docker-compose.yml  # Docker Compose configuration

├── .dockerignore      # Docker ignore file

└── .env               # Biến môi trường (API keys)

```

## Cài đặt

### Cài đặt trực tiếp

1. Cài đặt các thư viện:

```bash

pip install -r requirements.txt

```

2. Cấu hình API keys trong file `.env`:

```

GOOGLE_API_KEY=your_google_api_key

PINECONE_API_KEY=your_pinecone_api_key

```

3. Chạy API:

```bash

python app.py

```

### Cài đặt bằng Docker

1. Đảm bảo đã cài đặt Docker và Docker Compose

2. Cấu hình API keys trong file `.env`:

```

GOOGLE_API_KEY=your_google_api_key

PINECONE_API_KEY=your_pinecone_api_key

```

3. Build và chạy container:

```bash

docker-compose up --build

```

API sẽ chạy trên `http://localhost:8000`.

## API Endpoints

### POST /chat

Gửi câu hỏi đến mô hình RAG:

```json

{

  "query": "Câu hỏi của người dùng",

  "user_id": "id_của_người_dùng"

}

```

Response:

```json

{

  "response": "Câu trả lời từ mô hình RAG"

}

```

### GET /health

Kiểm tra trạng thái của API:

```json

{

  "status": "healthy"

}

```

## Lưu ý

- Mô hình sử dụng Pinecone index "testbot768" để lưu trữ và truy xuất thông tin.
- Nếu Pinecone không khả dụng, mô hình sẽ cố gắng sử dụng FAISS local index nếu có.
- Mô hình lưu lịch sử trò chuyện cho mỗi người dùng để cung cấp phản hồi phù hợp với ngữ cảnh.
- Khi sử dụng Docker, các biến môi trường sẽ được tự động load từ file .env.
- Container sẽ tự động restart nếu gặp lỗi hoặc server được khởi động lại.