RAG, Knowledge Bases và các vector store trên AWS
RAG, Knowledge Bases, and AWS Vector Stores
Sinh tăng cường truy xuất (RAG) Retrieval Augmented Generation là một trong những chủ đề được hỏi nhiều nhất của Domain 3. Hãy nắm chắc nó giải quyết vấn đề gì, hoạt động ra sao, các dịch vụ AWS liên quan, và khi nào chọn RAG thay vì fine-tuning.
RAG giải quyết vấn đề gì?
Một FM chỉ "biết" những gì có trong dữ liệu huấn luyện tới một thời điểm nhất định (mốc cắt kiến thức knowledge cutoff). Nó không biết:
- Dữ liệu cập nhật sau mốc huấn luyện.
- Dữ liệu riêng tư/nội bộ của doanh nghiệp (tài liệu, chính sách, sản phẩm).
Khi bị hỏi về những điều này, mô hình dễ bịa (hallucinate). RAG khắc phục bằng cách truy xuất thông tin liên quan từ nguồn ngoài và đưa vào prompt để mô hình trả lời dựa trên dữ liệu thật — gọi là grounding (đặt nền câu trả lời) — mà không cần huấn luyện lại.
RAG hoạt động như thế nào
Quy trình RAG gồm hai giai đoạn:
Giai đoạn chuẩn bị (ingestion):
- Chia tài liệu thành các đoạn nhỏ (phân đoạn chunking).
- Dùng một mô hình nhúng embedding model chuyển mỗi đoạn thành vector nhúng embeddings (dãy số biểu diễn ngữ nghĩa).
- Lưu các vector vào kho vector vector store.
Giai đoạn truy vấn (query):
- Câu hỏi người dùng cũng được chuyển thành vector.
- Tìm các đoạn gần nghĩa nhất trong vector store (semantic / similarity search).
- Ghép các đoạn truy xuất được vào prompt → prompt tăng cường.
- FM sinh câu trả lời dựa trên ngữ cảnh được cung cấp.
Mẹo
Cốt lõi của RAG là tìm kiếm theo ngữ nghĩa dựa trên độ tương đồng vector, không phải khớp từ khóa. Nhờ đó "ô tô" và "xe hơi" được coi là gần nhau dù khác chữ.
Knowledge Bases for Amazon Bedrock
Knowledge Bases for Amazon Bedrock Knowledge Bases for Amazon Bedrock là dịch vụ được quản lý giúp dựng RAG mà không phải tự xây pipeline: bạn trỏ tới nguồn dữ liệu (vd Amazon S3), Bedrock tự lo chunking, sinh embeddings, lưu vào vector store và truy xuất. Đây là đáp án mặc định khi đề bài hỏi "cách nhanh nhất/được quản lý để làm RAG trên AWS".
Các lựa chọn vector store trên AWS
RAG cần một nơi lưu và tìm kiếm vector. AWS cho nhiều lựa chọn — bạn nên nhận diện được chúng:
| Dịch vụ | Vai trò làm vector store |
|---|---|
| Amazon OpenSearch Service | Tìm kiếm vector & k-NN; lựa chọn vector store phổ biến, mạnh ở quy mô lớn. |
| Amazon Aurora PostgreSQL | Hỗ trợ vector qua tiện ích pgvector; tốt khi đã dùng Postgres quan hệ. |
| Amazon RDS for PostgreSQL | Cũng dùng pgvector cho vector search. |
| Amazon Neptune | Cơ sở dữ liệu đồ thị; hỗ trợ vector (Neptune Analytics) cho dữ liệu quan hệ phức tạp. |
| Amazon DocumentDB | Cơ sở dữ liệu tài liệu (tương thích MongoDB) có hỗ trợ vector search. |
| Amazon MemoryDB | Lưu trữ in-memory (tương thích Redis), hỗ trợ vector với độ trễ rất thấp. |
| Amazon Kendra | Dịch vụ tìm kiếm thông minh được quản lý; có thể dùng làm nguồn truy xuất cho RAG. |
Trọng tâm thi
Bạn không cần thuộc lòng chi tiết kỹ thuật từng kho. Cần nhận ra rằng nhiều dịch vụ AWS có thể làm vector store cho RAG, và khi đề nói "dùng Postgres sẵn có" → nghĩ tới pgvector trên Aurora/RDS; "tìm kiếm doanh nghiệp được quản lý" → Kendra; "độ trễ cực thấp" → MemoryDB; quy mô tìm kiếm lớn → OpenSearch.
RAG vs Fine-tuning — quyết định cốt lõi
Đây là dạng câu hỏi xuất hiện rất nhiều. Phân biệt theo vấn đề cần giải:
| Tiêu chí | Chọn RAG khi… | Chọn Fine-tuning khi… |
|---|---|---|
| Mục tiêu | Cần kiến thức/sự kiện cập nhật hoặc riêng tư | Cần thay đổi hành vi, giọng văn, định dạng, kỹ năng |
| Tính cập nhật | Dữ liệu thay đổi thường xuyên | Kiến thức/phong cách ổn định |
| Chi phí & tốc độ | Rẻ hơn, triển khai nhanh, không huấn luyện | Tốn hơn, cần dữ liệu gán nhãn & huấn luyện |
| Truy vết nguồn | Dễ trích dẫn nguồn (giảm hallucination) | Không trích nguồn được |
Ghi chú
Nguyên tắc nhớ nhanh: RAG = thêm KIẾN THỨC (đặc biệt là dữ liệu mới/riêng tư); Fine-tuning = thay đổi CÁCH MÔ HÌNH HÀNH XỬ (phong cách, định dạng, kỹ năng chuyên ngành). Khi đề nói "dữ liệu cập nhật liên tục" hoặc "cần trích dẫn tài liệu nội bộ" → gần như luôn là RAG.
Hai cách này không loại trừ nhau — nhiều hệ thống thực tế kết hợp cả RAG lẫn fine-tuning.
Tóm tắt
- RAG giải quyết việc FM không biết dữ liệu mới/riêng tư và hay bịa; nó truy xuất ngữ cảnh liên quan rồi đưa vào prompt — không cần huấn luyện lại.
- Cơ chế: chunk → embeddings → vector store → similarity search → prompt tăng cường → sinh trả lời.
- Knowledge Bases for Amazon Bedrock là cách được quản lý để dựng RAG nhanh.
- Vector store trên AWS: OpenSearch, Aurora/RDS PostgreSQL (pgvector), Neptune, DocumentDB, MemoryDB, Kendra.
- RAG = thêm kiến thức cập nhật/riêng tư; Fine-tuning = đổi hành vi/phong cách.