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