Spaces:
Sleeping
Sleeping
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. |