5.4 KiB
5.RAG-Chat-Application-Playbook.md
Tài liệu này mô tả tầng RAG Chat xây dựng trên Search (file 4). Mục tiêu là:
- Giúp AI trả lời đúng – có dẫn chứng – không hallucinate
- Giúp người dùng cuối dễ hiểu, dễ tin, dễ dùng
- Có thể dùng làm tài liệu tham khảo khi soạn Hướng dẫn sử dụng (User Guide)
File được viết để AI agent đọc là triển khai được, con người đọc là hiểu và sử dụng được.
Mục lục
- RAG Chat là gì trong hệ thống này?
- Nguyên tắc thiết kế RAG Chat
- Kiến trúc tổng thể RAG Chat
- Vai trò của Search trong RAG
- Luồng xử lý câu hỏi (End‑to‑End)
- Prompt Strategy (Quan trọng nhất)
- Context Assembly & Citation
- Tránh Hallucination & Guardrails
- Trải nghiệm người dùng (UX Guidelines)
- Các chế độ Chat khuyến nghị
- Permission propagation
- Logging & Explainability
- Checklist triển khai & Checklist hướng dẫn sử dụng
1. RAG Chat là gì trong hệ thống này?
RAG (Retrieval‑Augmented Generation) = AI KHÔNG tự nghĩ, mà:
- Tìm dữ liệu liên quan trong hệ thống Search
- Chỉ dùng dữ liệu đó để trả lời
- Luôn nói rõ lấy thông tin từ đâu
Trong hệ thống này:
- ❌ Chat không thay thế Search
- ✅ Chat dựa hoàn toàn trên Search
2. Nguyên tắc thiết kế RAG Chat
- Search‑first, LLM‑second
- Không có dữ liệu → không trả lời
- Trả lời = Nội dung + Dẫn chứng
- Ngôn ngữ rõ ràng, không học thuật thừa
- Người dùng luôn có thể click mở tài liệu gốc
3. Kiến trúc tổng thể RAG Chat
User Question
│
▼
Query Understanding
│
▼
Search Layer (OpenSearch)
│
├─ Top K chunks (ACL‑aware)
▼
Context Assembly
│
▼
LLM (Answer generation)
│
▼
Answer + Citations
4. Vai trò của Search trong RAG
Search quyết định:
- AI được phép biết gì
- AI không được phép bịa gì
Quy tắc:
- LLM chỉ được dùng context do Search trả về
- Không cho LLM truy cập internet / training data
5. Luồng xử lý câu hỏi (End‑to‑End)
[User hỏi]
↓
[Normalize câu hỏi]
↓
[Hybrid Search (keyword + vector)]
↓
[Lọc theo permission user]
↓
[Chọn top K chunks]
↓
[Build context + citation map]
↓
[LLM sinh câu trả lời]
↓
[Trả lời + link tài liệu]
6. Prompt Strategy (Rất quan trọng)
6.1 System Prompt (bắt buộc)
Bạn là trợ lý tra cứu tài liệu nội bộ.
Bạn CHỈ được trả lời dựa trên thông tin được cung cấp trong CONTEXT.
Nếu CONTEXT không đủ, hãy trả lời:
"Tôi không tìm thấy thông tin trong các tài liệu hiện có."
Mỗi câu trả lời phải kèm theo nguồn trích dẫn.
6.2 User Prompt Template
CÂU HỎI:
{{user_question}}
CONTEXT:
{{retrieved_chunks}}
6.3 Output Format (khuyến nghị)
TRẢ LỜI NGẮN GỌN:
...
CHI TIẾT:
...
NGUỒN THAM KHẢO:
- Tài liệu A – trang 5
- Tài liệu B – trang 12
➡️ Format này rất phù hợp để đưa vào User Guide.
7. Context Assembly & Citation
7.1 Context Assembly
- Giữ đúng thứ tự logic
- Không quá dài (token budget)
- Mỗi chunk có ID và nguồn
7.2 Citation Object
{
"chunk_id": "...",
"file_name": "...",
"page": 7,
"url": "..."
}
8. Tránh Hallucination & Guardrails
✅ BẮT BUỘC:
- Nếu không có chunk phù hợp → không trả lời
- Không "suy luận thêm" ngoài context
✅ Câu trả lời chuẩn khi không đủ dữ liệu:
"Hiện tại tôi không tìm thấy thông tin trong các tài liệu nội bộ để trả lời câu hỏi này."
9. Trải nghiệm người dùng (UX Guidelines)
9.1 Người dùng nên cảm nhận gì?
- AI đáng tin
- Nói giống đồng nghiệp biết tài liệu, không giống chatbot chung chung
9.2 UX khuyến nghị
- Mỗi đoạn trả lời có nút "Mở tài liệu"
- Highlight đoạn liên quan trong PDF
10. Các chế độ Chat khuyến nghị
| Mode | Mô tả | Đối tượng |
|---|---|---|
| Tra cứu nhanh | Trả lời ngắn + link | Nhân viên |
| Giải thích | Có diễn giải | Đào tạo |
| So sánh | So nhiều tài liệu | Quản lý |
11. Permission Propagation
Nguyên tắc:
- Chat không trả về thứ Search không trả
- Không lộ tên file tồn tại nếu user không có quyền
12. Logging & Explainability
Lưu lại:
- Question
- Retrieved chunks
- Answer
- Citation
➡️ Phục vụ audit, cải tiến prompt, training nội bộ
13. Checklist triển khai & Checklist hướng dẫn sử dụng
13.1 Checklist kỹ thuật
✅ Search trước Chat ✅ Prompt chặt chẽ ✅ Citation bắt buộc ✅ Permission end‑to‑end
13.2 Checklist cho User Guide
✅ Giải thích AI làm gì / không làm gì ✅ Hướng dẫn đọc citation ✅ Cách phản hồi khi AI không tìm thấy dữ liệu
Kết thúc RAG Chat Playbook. Đây là tầng trên cùng của hệ thống.