194 lines
4.2 KiB
Markdown
194 lines
4.2 KiB
Markdown
# 13.PoC-Implementation-Checklist.md
|
||
|
||
> **Checklist triển khai PoC (Proof of Concept)** cho hệ thống tra cứu tài liệu SharePoint → Search → RAG Chat.
|
||
>
|
||
> ⚠️ Nguyên tắc của checklist này:
|
||
> - Dựa **100% trên các quyết định đã chốt trong file 1–12**
|
||
> - Dùng để **triển khai PoC thật**, không phải tài liệu lý thuyết
|
||
> - Checklist theo thứ tự **chuẩn kỹ thuật**, làm xong mục trước mới sang mục sau
|
||
> - Có thể dùng cho: Tech Lead, Dev, Vendor, AI Agent
|
||
|
||
---
|
||
|
||
## 0. Phạm vi PoC (BẮT BUỘC CHỐT TRƯỚC KHI LÀM)
|
||
|
||
### ✅ Mục tiêu PoC
|
||
- Tra cứu tài liệu nội bộ (SharePoint)
|
||
- Hỗ trợ **search + RAG chat**
|
||
- Đúng quyền người dùng
|
||
- Ưu tiên **tài liệu tiếng Việt**
|
||
|
||
### ❌ Ngoài phạm vi PoC
|
||
- Fine‑tune OCR
|
||
- Phân tích bản vẽ kỹ thuật bằng AI
|
||
- Multi‑tenant phức tạp
|
||
|
||
---
|
||
|
||
## 1. Chuẩn bị môi trường
|
||
|
||
- [ ] Tenant SharePoint test
|
||
- [ ] App Registration (Graph API – app‑only)
|
||
- [ ] Server PoC (CPU ≥ 16 cores, RAM ≥ 32GB)
|
||
- [ ] Docker / Container runtime
|
||
- [ ] OpenSearch cluster (dev size)
|
||
|
||
---
|
||
|
||
## 2. Ingestion – SharePoint
|
||
|
||
- [ ] Kết nối Graph API thành công
|
||
- [ ] Lấy được site / library metadata
|
||
- [ ] Delta query hoạt động
|
||
- [ ] Persist delta token
|
||
- [ ] Detect create / update / delete file
|
||
|
||
---
|
||
|
||
## 3. Document Classification Engine (File 10)
|
||
|
||
- [ ] Parse extension + MIME type
|
||
- [ ] Header byte validation (chống giả extension)
|
||
- [ ] Gán `doc_type`
|
||
- [ ] Gán `processing_policy`
|
||
- [ ] Log lý do classify
|
||
|
||
---
|
||
|
||
## 4. PDF Inspection (File 11)
|
||
|
||
- [ ] Detect text layer PDF
|
||
- [ ] Calculate text density
|
||
- [ ] Detect vector / drawing layout
|
||
- [ ] Classify: TEXT_PDF / SCAN_PDF / DRAWING_PDF
|
||
- [ ] Log quyết định inspection
|
||
|
||
---
|
||
|
||
## 5. OCR Integration (File 12)
|
||
|
||
### 5.1 Điều kiện gọi OCR
|
||
- [ ] Chỉ OCR khi `SCAN_PDF`
|
||
- [ ] Skip DRAWING_PDF
|
||
- [ ] Skip non‑textual documents
|
||
|
||
### 5.2 OCR Service
|
||
- [ ] PaddleOCR detector chạy ổn định
|
||
- [ ] VietOCR recognizer nhận tiếng Việt có dấu
|
||
- [ ] OCR page‑wise
|
||
- [ ] OCR chạy được trên CPU
|
||
|
||
### 5.3 OCR Output
|
||
- [ ] Có page number
|
||
- [ ] Có text
|
||
- [ ] Có confidence
|
||
- [ ] OCR output chuẩn JSON contract
|
||
|
||
---
|
||
|
||
## 6. MarkItDown & Normalization
|
||
|
||
- [ ] Nhận text từ OCR hoặc text‑PDF
|
||
- [ ] Convert sang Markdown
|
||
- [ ] Giữ heading / paragraph / list
|
||
- [ ] Gắn page marker
|
||
|
||
---
|
||
|
||
## 7. Chunking
|
||
|
||
- [ ] Chunk theo heading / page
|
||
- [ ] Token size phù hợp cho search & RAG
|
||
- [ ] Gắn metadata: file_id, page, URL
|
||
|
||
---
|
||
|
||
## 8. Index & Search (OpenSearch)
|
||
|
||
- [ ] Mapping chunk‑first
|
||
- [ ] Index text field
|
||
- [ ] Index metadata field
|
||
- [ ] Index ACL
|
||
- [ ] Index embedding (nếu dùng)
|
||
|
||
---
|
||
|
||
## 9. Permission Enforcement
|
||
|
||
- [ ] Resolve user identity
|
||
- [ ] Resolve group membership
|
||
- [ ] Filter search theo ACL
|
||
- [ ] Không lộ file user không có quyền
|
||
|
||
---
|
||
|
||
## 10. Search Experience
|
||
|
||
- [ ] Keyword search hoạt động
|
||
- [ ] Search trả đúng file & page
|
||
- [ ] Highlight nội dung
|
||
- [ ] Click mở file gốc
|
||
|
||
---
|
||
|
||
## 11. RAG Chat (File 5)
|
||
|
||
### 11.1 Điều kiện vào RAG
|
||
- [ ] Có kết quả search
|
||
- [ ] OCR confidence đạt threshold
|
||
|
||
### 11.2 Prompt & Answer
|
||
- [ ] System prompt chặt (no hallucination)
|
||
- [ ] Chỉ dùng context search
|
||
- [ ] Trả câu trả lời + citation
|
||
|
||
### 11.3 Fallback
|
||
- [ ] Không có dữ liệu → trả lời chuẩn
|
||
|
||
---
|
||
|
||
## 12. Logging & Audit
|
||
|
||
- [ ] Log ingestion
|
||
- [ ] Log OCR
|
||
- [ ] Log search query
|
||
- [ ] Log RAG answer + context
|
||
|
||
---
|
||
|
||
## 13. User Validation (PoC Acceptance)
|
||
|
||
- [ ] User tìm được tài liệu mong muốn
|
||
- [ ] User hiểu citation
|
||
- [ ] AI không trả lời bịa
|
||
- [ ] UX dễ sử dụng
|
||
|
||
---
|
||
|
||
## 14. KPI PoC (Đủ/Không đủ)
|
||
|
||
- [ ] Search latency < 3s
|
||
- [ ] OCR Vietnamese readable
|
||
- [ ] RAG trả lời đúng phạm vi
|
||
- [ ] Không lộ quyền
|
||
|
||
---
|
||
|
||
## 15. Quyết định sau PoC
|
||
|
||
- [ ] Go Pilot
|
||
- [ ] Điều chỉnh OCR threshold
|
||
- [ ] Thêm loại document
|
||
- [ ] Fine‑tune sau (nếu cần)
|
||
|
||
---
|
||
|
||
## Kết luận Checklist
|
||
|
||
- Checklist này hoàn thành → PoC **đã thành công về mặt kỹ thuật**
|
||
- Chưa hoàn thành → **không nên lên production**
|
||
|
||
---
|
||
|
||
*Tài liệu này là checklist thực thi, không phải tài liệu mô tả.*
|