RAG là kỹ thuật bổ sung kiến thức bên ngoài cho LLM tại runtime bằng cách retrieve (tìm kiếm) đoạn tài liệu liên quan từ knowledge base, rồi chèn vào prompt để LLM generate câu trả lời dựa trên ngữ cảnh đó.
Tại sao cần: LLM pre-train có 3 hạn chế lớn:
- Knowledge cutoff — không biết sự kiện sau training date.
- Không có kiến thức private/domain-specific — tài liệu nội bộ công ty, DB khách hàng.
- Hallucination khi hỏi câu ngoài training set.
RAG giải quyết cả 3 bằng cách đưa thông tin chính xác, cập nhật, có nguồn vào context.
Khi nào dùng RAG: Q&A trên tài liệu, chatbot kỹ thuật, search nội bộ, customer support với knowledge base, trợ lý code với codebase, tóm tắt nhiều tài liệu.
Khác fine-tuning: fine-tune "bake" kiến thức vào weights (tốn resource, khó update); RAG chỉ cần update knowledge base — linh hoạt hơn cho dữ liệu thay đổi nhanh. Trong thực tế thường kết hợp: fine-tune cho format/style/tool use, RAG cho knowledge.