Phase 7: Hoàn thiện Modular RAG Backend với FastAPI và Đa LLM Provider
This commit is contained in:
194
doc/14.Project-Bridge-Context-for-New-Chat.md
Normal file
194
doc/14.Project-Bridge-Context-for-New-Chat.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# 14.Project-Bridge-Context-for-New-Chat.md
|
||||
|
||||
> Mục tiêu file này: **cầu nối ngữ cảnh** để mở New Chat và tiếp tục dự án mà **không cần attach lại toàn bộ 13 file**.
|
||||
>
|
||||
> ⚠️ Lưu ý quan trọng:
|
||||
> - File này là **bản tóm lược có cấu trúc**, **KHÔNG thay thế** hoàn toàn cho các file 1–13.
|
||||
> - Dùng khi giới hạn số file đính kèm thấp.
|
||||
> - Nếu cần chi tiết kỹ thuật sâu cho một mô-đun, vẫn nên attach thêm file gốc liên quan.
|
||||
|
||||
---
|
||||
|
||||
## 1. Dự án đang làm là gì?
|
||||
|
||||
Xây dựng hệ thống tra cứu tài liệu nội bộ theo pipeline:
|
||||
|
||||
```text
|
||||
SharePoint → Ingestion → Document Classification → PDF Inspection → OCR (có điều kiện) → MarkItDown → Chunking → Search → RAG Chat
|
||||
```
|
||||
|
||||
Mục tiêu:
|
||||
- Tra cứu nhanh nội dung tài liệu công ty lưu trong SharePoint
|
||||
- Tìm đúng file, đúng trang, đúng quyền truy cập
|
||||
- Hỗ trợ Search và RAG Chat có dẫn nguồn
|
||||
|
||||
---
|
||||
|
||||
## 2. Các quyết định kiến trúc đã CHỐT (không thay đổi)
|
||||
|
||||
### 2.1 Phân loại tài liệu là bắt buộc trước xử lý
|
||||
- Không có one-size-fits-all cho mọi file
|
||||
- Mỗi file phải đi qua **Document Classification Engine (DCE)** trước
|
||||
|
||||
### 2.2 PDF phải được inspect trước OCR
|
||||
PDF được chia thành 3 loại:
|
||||
- `TEXT_PDF` → không OCR, đưa thẳng vào MarkItDown
|
||||
- `SCAN_PDF` → OCR bắt buộc, page-wise
|
||||
- `DRAWING_PDF` → không OCR đại trà, không MarkItDown, không RAG
|
||||
|
||||
### 2.3 Bản vẽ kỹ thuật / CAD / binary không đi vào RAG
|
||||
- DWG/DXF/IFC/CAD/Binary → metadata search only
|
||||
- Drawing PDF → metadata + optional title-block OCR, không RAG
|
||||
|
||||
### 2.4 OCR chính thức được chọn
|
||||
- **PaddleOCR (Detection) + VietOCR (Recognition)**
|
||||
- On-prem, open-source, không lock-in cloud
|
||||
- OCR chỉ gọi khi:
|
||||
- `doc_type = textual_document`
|
||||
- `pdf_type = SCAN_PDF`
|
||||
|
||||
### 2.5 RAG là tầng sau Search, có điều kiện
|
||||
- Search-first, LLM-second
|
||||
- Không có context tốt → không trả lời
|
||||
- Trả lời phải có citation
|
||||
- OCR confidence thấp → không đưa vào RAG
|
||||
|
||||
---
|
||||
|
||||
## 3. Các file gốc đã tồn tại trước đó
|
||||
|
||||
### Nhóm kiến trúc lõi
|
||||
1. Kiến trúc tổng thể
|
||||
2. SharePoint ingestion playbook
|
||||
3. Extraction & normalization playbook
|
||||
4. OpenSearch index & search playbook
|
||||
5. RAG chat application playbook
|
||||
6. Operations / monitoring / governance playbook
|
||||
|
||||
### Nhóm review & điều phối
|
||||
7. Review / double-check / gap analysis
|
||||
8. End-to-end processing flows bullets
|
||||
|
||||
### Nhóm phụ lục kỹ thuật quan trọng
|
||||
9. Appendix – Vietnamese OCR strategy
|
||||
10. Appendix – Document type classification and processing strategy
|
||||
11. Appendix – PDF inspection and text-layer detection
|
||||
12. Appendix – OCR integration strategy and flow
|
||||
13. PoC implementation checklist
|
||||
|
||||
---
|
||||
|
||||
## 4. Trạng thái hiện tại của dự án
|
||||
|
||||
- Đã chốt kiến trúc end-to-end
|
||||
- Đã chốt luật xử lý tài liệu
|
||||
- Đã chốt chiến lược OCR tiếng Việt
|
||||
- Đã có checklist PoC chi tiết
|
||||
- Đang chuyển sang giai đoạn **bắt tay triển khai PoC thật**
|
||||
|
||||
Trọng tâm hiện tại:
|
||||
> Tạo / dùng **SharePoint Team Site test** làm nguồn dữ liệu đầu vào cho PoC.
|
||||
|
||||
---
|
||||
|
||||
## 5. Site SharePoint test dự kiến / khuyến nghị
|
||||
|
||||
### Loại site
|
||||
- **Team site**
|
||||
- Privacy: Private
|
||||
|
||||
### Tên gợi ý
|
||||
- `SP-RAG-Test`
|
||||
|
||||
### Cấu trúc thư mục test khuyến nghị
|
||||
```text
|
||||
/Documents
|
||||
/01-PDF-Text
|
||||
/02-PDF-Scan
|
||||
/03-PDF-Drawing
|
||||
/04-DOCX
|
||||
/05-XLSX-Textual
|
||||
/06-XLSX-Structured
|
||||
/07-CAD-Binary
|
||||
/99-Pending-Classification
|
||||
```
|
||||
|
||||
### ACL test
|
||||
- Có ít nhất 1 thư mục/folder restricted để test permission filtering
|
||||
|
||||
---
|
||||
|
||||
## 6. Thứ tự triển khai PoC đã chốt
|
||||
|
||||
1. Tạo SharePoint site test
|
||||
2. Upload bộ dữ liệu test nhỏ nhưng đủ loại
|
||||
3. Kiểm tra quyền truy cập khác nhau giữa user
|
||||
4. Bắt đầu ingestion
|
||||
5. Chạy document classification
|
||||
6. Chạy PDF inspection
|
||||
7. Chỉ OCR cho SCAN_PDF
|
||||
8. MarkItDown / normalization / chunking
|
||||
9. Index vào OpenSearch
|
||||
10. Bật search
|
||||
11. Chỉ bật RAG sau khi search + ACL + citation ổn
|
||||
|
||||
---
|
||||
|
||||
## 7. Các ngưỡng / guardrails đã chốt
|
||||
|
||||
### OCR confidence
|
||||
- `>= 0.90` → có thể dùng cho RAG
|
||||
- `0.80 – 0.90` → search only
|
||||
- `< 0.80` → flag review
|
||||
|
||||
### Không được làm
|
||||
- Không OCR drawing PDF đại trà
|
||||
- Không đưa CAD/binary vào RAG
|
||||
- Không bỏ qua bước classification/PDF inspection
|
||||
- Không để AI tự thay đổi kiến trúc đã chốt
|
||||
|
||||
---
|
||||
|
||||
## 8. Khi mở New Chat, AI cần tuân thủ gì?
|
||||
|
||||
### Bắt buộc
|
||||
1. Không thay đổi các quyết định đã chốt ở trên
|
||||
2. Không đề xuất đi ngược các guardrails
|
||||
3. Nếu mở rộng thì chỉ tạo phụ lục mới hoặc ghi rõ là đề xuất mở rộng
|
||||
4. Tiếp tục đúng ngữ cảnh: **từ SharePoint site test → PoC triển khai**
|
||||
|
||||
### Câu mở đầu gợi ý cho New Chat
|
||||
```text
|
||||
Tôi đang tiếp tục dự án SharePoint → Search → RAG.
|
||||
Hãy coi file bridge context này là source of truth tạm thời.
|
||||
Mục tiêu hiện tại: dùng SharePoint site test làm input cho PoC và đi tiếp đúng theo roadmap đã chốt.
|
||||
Không thay đổi kiến trúc, không nhảy bước.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. Gợi ý attach file khi chỉ được add ít file
|
||||
|
||||
### Tối thiểu nên attach
|
||||
1. **File bridge này**
|
||||
2. `10.Appendix-Document-Type-Classification-and-Processing-Strategy.md`
|
||||
3. `13.PoC-Implementation-Checklist.md`
|
||||
|
||||
### Nếu cần đi sâu OCR
|
||||
Thay file 13 hoặc attach tiếp ở lượt sau:
|
||||
- `11.Appendix-PDF-Inspection-and-TextLayer-Detection.md`
|
||||
- `12.Appendix-OCR-Integration-Strategy-and-Flow.md`
|
||||
|
||||
---
|
||||
|
||||
## 10. Mục tiêu thảo luận tiếp theo sau khi mở New Chat
|
||||
|
||||
Một trong các hướng sau:
|
||||
- Chuẩn bị dataset test cho SharePoint site
|
||||
- Map SharePoint site test vào PoC pipeline
|
||||
- Lập execution plan theo checklist PoC
|
||||
- Bắt đầu dựng skeleton triển khai kỹ thuật
|
||||
|
||||
---
|
||||
|
||||
*Kết thúc file bridge. Đây là file cầu nối ngữ cảnh, tối ưu cho trường hợp giới hạn số file đính kèm.*
|
||||
Reference in New Issue
Block a user