Retrieval-Augmented Generation (RAG) đã trở thành kiến trúc mặc định để kết nối LLM với dữ liệu riêng của doanh nghiệp. Ý tưởng rất đơn giản: truy xuất các tài liệu liên quan từ một kho kiến thức, đưa chúng vào context window của LLM, và để mô hình sinh ra câu trả lời có căn cứ. Nhưng chính khâu thực thi mới là nơi các đội ngũ vướng mắc: một prototype RAG chạy tốt với 10 tài liệu thường thất bại ở quy mô 10.000 tài liệu. Hướng dẫn này bao quát các pattern phân biệt RAG đạt chuẩn production với RAG mức demo.
Pipeline Truy xuất Bốn Giai đoạn
Pipeline truy xuất gồm bốn giai đoạn: chunking (tách tài liệu gốc thành các đoạn có thể tìm kiếm), embedding (chuyển các chunk thành biểu diễn vector), search (tìm các chunk liên quan nhất cho một truy vấn) và generation (đưa các chunk đó vào LLM). Mỗi giai đoạn đều chứa những quyết định xác định hệ thống của bạn trả lời đúng 95% thời gian hay chỉ 70%. Tài liệu RAG của LangChain trình bày đầy đủ các kiến thức nền tảng; hướng dẫn này tập trung vào các quyết định production phía sau đó.
Chunking: Quyết định Các đội hay Sai nhất
Chiến lược chunking là quyết định đầu tiên và cũng là điểm các đội ngũ hay sai nhất. Cách tiếp cận mặc định, chunk kích thước cố định 500-1000 token, hoạt động tốt với văn bản đồng nhất (bài viết, tài liệu hướng dẫn) nhưng thất bại với dữ liệu có cấu trúc (bảng biểu, code, văn bản pháp lý). Các hệ thống RAG production dùng semantic chunking: tách theo ranh giới tự nhiên (hết đoạn văn, tiêu đề mục, định nghĩa hàm) và giữ kích thước chunk trong khoảng 200-800 token. Chunk nhỏ cải thiện độ chính xác truy xuất (ít văn bản không liên quan hơn cho mỗi kết quả khớp) nhưng làm tăng tổng số chunk (tốn bộ nhớ hơn, tìm kiếm chậm hơn). Phần lớn các đội ngũ hội tụ về chunk 400-600 token với phần chồng lấp 50-100 token giữa các chunk liền kề để giữ ngữ cảnh tại ranh giới.

Mô hình Embedding: Số chiều vs Chi phí
Lựa chọn mô hình embedding ảnh hưởng đến cả chất lượng truy xuất lẫn chi phí. Các lựa chọn chủ đạo năm 2026 là text-embedding-3-large của OpenAI (3072 chiều), embed-v4 của Cohere (1536 chiều) và các mô hình open-source như BGE-large (1024 chiều). Số chiều cao hơn nắm bắt được nhiều sắc thái ngữ nghĩa hơn nhưng tốn kém hơn khi lưu trữ và tìm kiếm. Với phần lớn use case doanh nghiệp, 1024-1536 chiều là điểm cân bằng: đủ độ tinh tế cho truy xuất chính xác, chi phí lưu trữ ở quy mô lớn vẫn kiểm soát được.
Vector Database: pgvector vs Dịch vụ Managed
Việc chọn vector database là nơi các quyết định kiến trúc trở nên cụ thể. PostgreSQL với pgvector là lựa chọn mặc định cho các đội đã chạy Postgres. Nó miễn phí, tuân thủ ACID, và xử lý được khoảng 10 triệu vector trước khi hiệu suất suy giảm. Các dịch vụ managed như Pinecone và Weaviate phù hợp hơn cho triển khai quy mô lớn (hơn 100 triệu vector) hoặc khi bạn cần hạ tầng được quản lý trọn gói. Với phần lớn hệ thống RAG doanh nghiệp xử lý 100K-1M tài liệu, pgvector trên Postgres là đủ và tránh được độ phức tạp vận hành của một vector database riêng biệt.
Reranking: Nhân tử Chất lượng
Reranking là kỹ thuật phân biệt RAG tốt với RAG xuất sắc. Sau khi vector search ban đầu trả về top-K ứng viên (thường K=20-50), một reranker chấm điểm lại các ứng viên đó bằng mô hình cross-encoder đắt hơn. Cơ chế cross-attention của reranker nắm bắt mức độ liên quan giữa truy vấn và tài liệu mà các embedding bi-encoder bỏ sót. Rerank API của Cohere và các mô hình open-source như bge-reranker là các lựa chọn chuẩn. Hệ thống RAG production thường truy xuất 20-50 ứng viên bằng vector search, rồi rerank xuống 3-5 kết quả hàng đầu trước khi đưa vào LLM. Cách tiếp cận hai tầng này cải thiện chất lượng câu trả lời 15-25% so với truy xuất một tầng.
Đánh giá: Chỉ số Phân biệt Tốt với Xuất sắc
Đánh giá (evaluation) là phần nhiều đội ngũ bỏ qua và hối hận sau này. Một hệ thống RAG không có đánh giá tự động là một hộp đen: thiếu số liệu, bạn không thể trả lời "chất lượng truy xuất đang cải thiện hay suy giảm?". Hai chỉ số quan trọng nhất: context recall (bộ truy xuất có tìm đúng tài liệu không?) và faithfulness (câu trả lời của LLM có khớp với ngữ cảnh đã truy xuất không?). Ragas và TruLens là các framework đánh giá chuẩn. Các đội ngũ nên xây dựng một golden test set gồm 50-100 cặp câu hỏi - câu trả lời và chạy đánh giá tự động sau mỗi thay đổi pipeline.


