Spaces:
Sleeping
Sleeping
Commit ·
d95a490
1
Parent(s): 67e6e17
docs: update README
Browse files
README.md
CHANGED
|
@@ -1,11 +1,74 @@
|
|
| 1 |
-
# RAG System
|
| 2 |
|
| 3 |
-
Hệ thống RAG (Retrieval-Augmented Generation) cho tài liệu tiếng Việt
|
| 4 |
|
| 5 |
-
##
|
| 6 |
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
| 8 |
|
| 9 |
## Kiến trúc
|
| 10 |
|
| 11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Vietnamese RAG System
|
| 2 |
|
| 3 |
+
Hệ thống RAG (Retrieval-Augmented Generation) cho tài liệu tiếng Việt — hỗ trợ PDF và ảnh hóa đơn, hybrid search, đánh giá RAGAS.
|
| 4 |
|
| 5 |
+
## Tính năng hiện tại
|
| 6 |
|
| 7 |
+
- **Two-tier parsing**: pypdf cho PDF có text layer, EasyOCR (GPU) cho ảnh hóa đơn tiếng Việt
|
| 8 |
+
- **Hybrid search**: Qdrant (vector) + BM25 (keyword) kết hợp bằng Reciprocal Rank Fusion
|
| 9 |
+
- **Embedding**: Google Gemini (`gemini-embedding-001`, 3072 chiều)
|
| 10 |
+
- **LLM**: Groq (`llama-3.3-70b-versatile`)
|
| 11 |
|
| 12 |
## Kiến trúc
|
| 13 |
|
| 14 |
+
```
|
| 15 |
+
Tài liệu (PDF / Ảnh)
|
| 16 |
+
│
|
| 17 |
+
▼
|
| 18 |
+
Parser (pypdf / EasyOCR)
|
| 19 |
+
│
|
| 20 |
+
▼
|
| 21 |
+
Chunker (structure-aware)
|
| 22 |
+
│
|
| 23 |
+
├──► Qdrant (vector store)
|
| 24 |
+
└──► BM25 index (pickle)
|
| 25 |
+
│
|
| 26 |
+
Query ──┤
|
| 27 |
+
├──► Vector search
|
| 28 |
+
├──► BM25 search
|
| 29 |
+
└──► RRF fusion ──► LLM (Groq) ──► Answer
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
## Cài đặt
|
| 33 |
+
|
| 34 |
+
```bash
|
| 35 |
+
python -m venv venv
|
| 36 |
+
venv\Scripts\activate
|
| 37 |
+
pip install -r requirements.txt
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
Tạo file `.env`:
|
| 41 |
+
```
|
| 42 |
+
GOOGLE_API_KEY=...
|
| 43 |
+
GROQ_API_KEY=...
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
## Cách chạy
|
| 47 |
+
|
| 48 |
+
```bash
|
| 49 |
+
# Ingest tài liệu
|
| 50 |
+
python ingest.py pdf # PDF
|
| 51 |
+
python ingest.py images # Ảnh
|
| 52 |
+
python ingest.py all # Cả hai
|
| 53 |
+
|
| 54 |
+
# Hỏi đáp
|
| 55 |
+
python main.py
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
## Lộ trình
|
| 59 |
+
|
| 60 |
+
| Tuần | Nội dung | Trạng thái |
|
| 61 |
+
|------|----------|------------|
|
| 62 |
+
| 1 | Minimal RAG pipeline (ChromaDB) | ✅ |
|
| 63 |
+
| 2 | Two-tier parsing (pypdf + EasyOCR) | ✅ |
|
| 64 |
+
| 3 | Hybrid search (Qdrant + BM25 + RRF) | ✅ |
|
| 65 |
+
| 4 | Reranking + Citation | 🔄 |
|
| 66 |
+
| 5 | Vietnamese optimization | ⏳ |
|
| 67 |
+
| 6 | RAGAS evaluation | ⏳ |
|
| 68 |
+
| 7 | FastAPI + UI | ⏳ |
|
| 69 |
+
| 8 | Docker + Deploy | ⏳ |
|
| 70 |
+
|
| 71 |
+
## Dataset
|
| 72 |
+
|
| 73 |
+
- **PDF**: Báo cáo tài chính công ty (text layer)
|
| 74 |
+
- **Ảnh**: MC-OCR dataset — hóa đơn bán lẻ tiếng Việt
|