RAG (Retrieval-Augmented Generation) là kỹ thuật tìm các mẩu thông tin liên quan rồi nhét vào prompt để mô hình trả lời dựa trên dữ liệu của bạn, thay vì dựa trên trí nhớ mơ hồ của nó. Đây là công cụ số một để giảm bịa và cập nhật kiến thức mà không cần huấn luyện lại.
Vì sao cần RAG
Mô hình chỉ biết những gì có trong dữ liệu huấn luyện, tới một thời điểm cắt (knowledge cutoff), và không biết tài liệu nội bộ của công ty bạn. RAG giải quyết cả hai: kiến thức mới và kiến thức riêng, theo thời gian thực, mà không đụng tới trọng số mô hình.
Đường ống RAG gồm những gì
- Ingestion: thu tài liệu (PDF, wiki, DB) và chunk — cắt thành đoạn nhỏ (ví dụ 300–800 token).
- Embedding: chuyển mỗi chunk thành vector số bằng mô hình embedding.
- Vector store: lưu vector để tìm kiếm theo độ tương đồng.
- Retrieval: khi có câu hỏi, embed câu hỏi rồi lấy top-k chunk gần nhất.
- Augmentation: chèn các chunk đó vào prompt kèm câu hỏi.
- Generation: mô hình trả lời dựa trên ngữ cảnh được cấp.
Các nút vặn PM cần hiểu
- Kích thước chunk: chunk quá to → nhiễu, tốn token; quá nhỏ → mất ngữ cảnh. Thường có overlap để không cắt đứt ý.
- Top-k: lấy bao nhiêu chunk. Nhiều hơn = ngữ cảnh đầy hơn nhưng đắt và dễ nhiễu.
- Hybrid search: kết hợp tìm theo nghĩa (vector) và theo từ khóa (keyword/BM25) — mạnh cho mã sản phẩm, tên riêng, số hiệu.
- Re-ranking: dùng một bước xếp hạng lại để đẩy chunk đúng nhất lên đầu.
- Metadata filter: lọc theo phòng ban, ngày, quyền truy cập trước khi tìm.
Ví dụ cụ thể
Trợ lý pháp lý nội bộ. Câu hỏi: "Điều khoản phạt trễ hạn trong hợp đồng mẫu 2024 là bao nhiêu?"
- Retrieval lấy 4 chunk từ đúng file hợp đồng 2024 (nhờ metadata filter theo năm).
- Prompt: "Chỉ trả lời dựa trên các trích đoạn sau. Trích dẫn nguồn. Nếu không có, nói không tìm thấy."
- Kết quả có trích dẫn để người dùng kiểm chứng — yếu tố tạo niềm tin.
Khung đánh giá chất lượng RAG
RAG hỏng ở hai chỗ, cần đo riêng:
- Retrieval quality: có lấy đúng chunk chứa câu trả lời không? (đo recall@k)
- Generation quality: có trả lời trung thành với ngữ cảnh không, hay vẫn bịa (faithfulness/groundedness)?
Checklist triển khai RAG
- [ ] Dữ liệu nguồn sạch, có phân quyền (đừng để lộ tài liệu mật qua retrieval).
- [ ] Chiến lược chunk + overlap được thử nghiệm, không mặc định.
- [ ] Có metadata (nguồn, ngày, phòng ban) để filter và trích dẫn.
- [ ] Prompt ràng buộc "chỉ dựa trên ngữ cảnh" + yêu cầu trích dẫn.
- [ ] Đo cả retrieval recall lẫn faithfulness, không chỉ nhìn câu trả lời.
- [ ] Có đường xử lý khi retrieval trống (fallback: nói không biết).
Sai lầm thường gặp
- Đổ lỗi cho mô hình trong khi lỗi thật ở retrieval lấy sai chunk.
- Chunk vô tội vạ cắt giữa câu, giữa bảng → mô hình hiểu sai.
- Bỏ qua keyword search: vector kém với mã SKU, số hợp đồng, tên riêng.
- Nhồi top-k quá lớn làm loãng ngữ cảnh và đội chi phí token.
- Không phân quyền retrieval: nhân viên hỏi và vô tình thấy dữ liệu lương của người khác.
- Không trích dẫn nguồn, khiến người dùng không thể kiểm chứng và mất niềm tin.
Học xong bài này rồi?
Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu,
và học hết khóa thì có chứng chỉ.
Lưu tiến độ của tôi