Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,137 +1,114 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
├─ backend/
|
| 23 |
-
│
|
| 24 |
-
│
|
| 25 |
-
│
|
| 26 |
-
│
|
| 27 |
-
├─ frontend/
|
| 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 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
Hệ thống đã load CSV và JSON mẫu, sẵn sàng demo.
|
| 116 |
-
|
| 117 |
-
8. Notes
|
| 118 |
-
Nếu gặp lỗi thiếu package, đảm bảo backend/ai/requirements.txt có đầy đủ:
|
| 119 |
-
|
| 120 |
-
text
|
| 121 |
-
Copy code
|
| 122 |
-
fastapi>=0.95.0
|
| 123 |
-
uvicorn[standard]>=0.22.0
|
| 124 |
-
python-multipart>=0.0.6
|
| 125 |
-
python-dotenv>=1.0.0
|
| 126 |
-
google-genai>=0.0.1
|
| 127 |
-
websockets>=11.0
|
| 128 |
-
requests>=2.31.0
|
| 129 |
-
aiofiles>=23.1.0
|
| 130 |
-
httpx>=0.24.0
|
| 131 |
-
pandas>=2.0.0
|
| 132 |
-
.env phải nằm trong thư mục docker, không nằm ngoài.
|
| 133 |
-
|
| 134 |
-
9. Liên hệ
|
| 135 |
-
Mọi vấn đề liên quan tới chạy MVP có thể trao đổi trực tiếp với nhóm phát triển.
|
| 136 |
-
|
| 137 |
-
Chúc Ban giám khảo trải nghiệm MVP PINE-AI thành công!
|
|
|
|
| 1 |
+
PINE-AI MVP – Hugging Face Space (Docker)
|
| 2 |
+
1. Giới thiệu
|
| 3 |
+
|
| 4 |
+
PINE-AI là hệ thống AI hỗ trợ logic sales, xử lý dữ liệu khách hàng & gói cước, demo thông qua giao diện web.
|
| 5 |
+
|
| 6 |
+
Repository này được cấu hình để chạy trực tiếp trên Hugging Face Spaces (Docker)
|
| 7 |
+
👉 Ban giám khảo không cần cài Python, không cần Docker, chỉ cần mở link Space.
|
| 8 |
+
|
| 9 |
+
2. Công nghệ sử dụng
|
| 10 |
+
|
| 11 |
+
Backend: Python, FastAPI
|
| 12 |
+
|
| 13 |
+
Frontend: Web UI (serve trực tiếp từ backend)
|
| 14 |
+
|
| 15 |
+
AI / LLM: Google GenAI + VNPT AI (qua API key)
|
| 16 |
+
|
| 17 |
+
Deployment: Hugging Face Spaces – Docker runtime
|
| 18 |
+
|
| 19 |
+
3. Cấu trúc thư mục
|
| 20 |
+
.
|
| 21 |
+
├── Dockerfile # Dockerfile cho Hugging Face (bắt buộc ở ROOT)
|
| 22 |
+
├── backend/
|
| 23 |
+
│ └── ai/
|
| 24 |
+
│ ├── data/ # CSV / JSON mẫu
|
| 25 |
+
│ ├── requirements.txt
|
| 26 |
+
│ └── main.py # FastAPI entrypoint
|
| 27 |
+
├── frontend/ # Frontend source
|
| 28 |
+
└── README.md
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
⚠️ Lưu ý:
|
| 32 |
+
|
| 33 |
+
Hugging Face chỉ đọc Dockerfile ở ROOT
|
| 34 |
+
|
| 35 |
+
Không sử dụng docker-compose, start.ps1, hoặc .env trong Space
|
| 36 |
+
|
| 37 |
+
4. Environment Variables & Secrets
|
| 38 |
+
|
| 39 |
+
Toàn bộ API key và biến môi trường KHÔNG được commit vào repo,
|
| 40 |
+
mà được cấu hình trong Hugging Face:
|
| 41 |
+
|
| 42 |
+
Settings → Variables and secrets
|
| 43 |
+
|
| 44 |
+
4.1 Variables (không nhạy cảm)
|
| 45 |
+
Name Value
|
| 46 |
+
PYTHONUNBUFFERED 1
|
| 47 |
+
PRECOMPUTE_DATA_DIR /app/backend/precomputation/data
|
| 48 |
+
4.2 Secrets (API keys)
|
| 49 |
+
Name Mô tả
|
| 50 |
+
GOOGLE_API_KEY Google GenAI API key
|
| 51 |
+
VNPT_AI_API_KEY VNPT AI API key
|
| 52 |
+
VNPT_AI_ENDPOINT Endpoint VNPT AI (nếu có)
|
| 53 |
+
|
| 54 |
+
⚠️ Secrets không hiển thị trong code và logs.
|
| 55 |
+
|
| 56 |
+
5. Cách Space hoạt động
|
| 57 |
+
|
| 58 |
+
Khi Space được build:
|
| 59 |
+
|
| 60 |
+
Hugging Face đọc Dockerfile
|
| 61 |
+
|
| 62 |
+
Build image
|
| 63 |
+
|
| 64 |
+
Inject Variables & Secrets
|
| 65 |
+
|
| 66 |
+
Chạy backend FastAPI
|
| 67 |
+
|
| 68 |
+
Public web app qua URL Space
|
| 69 |
+
|
| 70 |
+
Không cần thao tác thủ công.
|
| 71 |
+
|
| 72 |
+
6. Truy cập demo
|
| 73 |
+
|
| 74 |
+
Sau khi Space ở trạng thái Running, mở trực tiếp link Space:
|
| 75 |
+
|
| 76 |
+
👉 Web UI sẽ hiển thị ngay
|
| 77 |
+
|
| 78 |
+
Hệ thống đã:
|
| 79 |
+
|
| 80 |
+
Load dữ liệu mẫu
|
| 81 |
+
|
| 82 |
+
Sẵn sàng demo logic AI & sales flow
|
| 83 |
+
|
| 84 |
+
7. Troubleshooting
|
| 85 |
+
Space không chạy / Config error
|
| 86 |
+
|
| 87 |
+
Kiểm tra:
|
| 88 |
+
|
| 89 |
+
Dockerfile có nằm ở ROOT không
|
| 90 |
+
|
| 91 |
+
backend/ai có tồn tại đúng đường dẫn không
|
| 92 |
+
|
| 93 |
+
Không có log
|
| 94 |
+
|
| 95 |
+
Đợi 1–2 phút sau khi Restart Space
|
| 96 |
+
|
| 97 |
+
Nếu vẫn trống → thường là Dockerfile không được detect
|
| 98 |
+
|
| 99 |
+
8. Ghi chú cho Ban giám khảo
|
| 100 |
+
|
| 101 |
+
Đây là MVP demo
|
| 102 |
+
|
| 103 |
+
Tập trung vào:
|
| 104 |
+
|
| 105 |
+
Kiến trúc AI Agent
|
| 106 |
+
|
| 107 |
+
Flow xử lý dữ liệu & tư vấn sales
|
| 108 |
+
|
| 109 |
+
Khả năng mở rộng & tích hợp thực tế
|
| 110 |
+
|
| 111 |
+
9. Liên hệ
|
| 112 |
+
|
| 113 |
+
Mọi câu hỏi liên quan đến hệ thống PINE-AI
|
| 114 |
+
vui lòng liên hệ trực tiếp nhóm phát triển.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|