Module 3 • Bài 845 phút

RAG - AI tự tìm tài liệu liên quan trước khi trả lời

Cơ chế RAG biến AI từ 'thi đóng sách' thành 'thi mở sách', nguyên lý Semantic Search và quy trình 3 bước (Retrieval → Context → Generation).

3 mảnh ghép RAG (Retrieval → Context → Generation)
Phân biệt Semantic Search (theo nghĩa) vs. Keyword Match (Ctrl+F)
Phòng tránh lỗi đảo lộn thứ tự trong kiến trúc RAG

RAG - AI tự tìm tài liệu liên quan trước khi trả lời

LLM không thể tự biết dữ liệu nội bộ riêng tư và context window cũng không thể chứa toàn bộ kho tài liệu doanh nghiệp. RAG (Retrieval-Augmented Generation) là giải pháp bắc cầu: giúp AI trả lời chính xác dựa trên tài liệu thực tế mà không cần nạp toàn bộ dữ liệu vào model.

1. Vì sao AI không tự biết dữ liệu riêng của doanh nghiệp?

Bạn đã để ý ChatGPT không biết tin tức sau 2025 không? Đây là lý do.

Tri thức của model bị đóng băng tại thời điểm huấn luyện (Parametric Knowledge), hoàn toàn không thể tự cập nhật:

  • Quy chế nội bộ, bảng lương, chính sách mới ban hành.
  • Tồn kho, đơn hàng thay đổi cách đây 5 phút.
  • Tài liệu kỹ thuật bảo mật không công khai.

Ẩn dụ thi cử:

  • Không có RAG (Thi đóng sách): Thí sinh phải nhớ thuộc lòng; gặp câu hỏi mới buộc phải đoán mò (dễ ảo giác).
  • Có RAG (Thi mở sách): Thí sinh được lật đúng trang tài liệu liên quan, đọc kỹ rồi mới tổng hợp câu trả lời chính xác.

2. Ba mảnh ghép tuần tự của RAG: Retrieval → Context → Generation

  1. Truy xuất (Retrieval): Quét kho tài liệu để trích xuất các đoạn văn bản (chunks) liên quan nhất đến câu hỏi.
  2. Ghép ngữ cảnh (Augmentation): Đóng gói đoạn trích tìm được cùng câu hỏi của người dùng vào Prompt gửi tới model.
  3. Sinh câu trả lời (Generation): Model đọc các trích đoạn thực tế và tổng hợp câu trả lời chính xác kèm dẫn chứng.

Luồng hoạt động 4 bước của hệ thống RAG

RAG biến model từ thi đóng sách thành thi mở sách bằng cách tìm tài liệu liên quan trước rồi mới để AI sinh câu trả lời.

Nhấn vào từng bước để xem chi tiết luồng dữ liệu và vai trò:

2

Truy xuất ngữ nghĩa (Retrieval)

Bước 2 / 4

Hệ thống không tìm từ khóa cứng mà tính toán độ tương đồng ý nghĩa, trích xuất 2-3 đoạn văn bản liên quan nhất từ sổ tay 500 trang.

Data State / Representation:Trích đoạn tìm thấy: "[Điều 12.3] Nhân viên chính thức được nghỉ không hưởng lương tối đa 14 ngày/năm sau khi quản lý duyệt..."
Truy xuất tài liệu bắt buộc phải diễn ra trước khi Model sinh câu trả lời. Đảo lộn thứ tự sẽ dẫn đến ảo giác.

Quy tắc bắt buộc: Tìm kiếm tài liệu (Retrieval) luôn phải diễn ra TRƯỚC khi Model đọc và sinh câu trả lời (Generation).

3. Tìm kiếm theo nghĩa (Semantic Search) khác gì tìm từ khoá (Ctrl+F)?

Semantic Search hoạt động khác Ctrl+F ở tầng cơ bản nhất: thay vì so khớp từng ký tự, AI mã hoá mỗi đoạn văn bản thành một embedding - một toạ độ số học trong không gian ý nghĩa - rồi lưu vào một vector store (kho dữ liệu chuyên dùng để tìm kiếm theo độ tương đồng này). Những câu gần nghĩa nhau sẽ nằm gần nhau trong không gian đó - dù dùng từ ngữ hoàn toàn khác. Khi bạn gửi câu hỏi, AI cũng mã hoá câu hỏi đó thành một embedding tương tự rồi tìm đoạn đã lưu nào đang nằm gần nhất.

Tại sao Semantic Search hiểu được ý định ẩn sau câu hỏi?

Không gian ý nghĩa

Gần = ý nghĩa tương đồng · Xa = nghĩa khác biệt

Câu hỏi người dùng

"Làm sao em xin off 3 ngày đi đám cưới?"

Khớp gần nhất - 94%

"Quy trình phê duyệt nghỉ việc riêng không hưởng lương."

Không trùng một từ nào - nhưng toạ độ ý nghĩa nằm gần nhau nhất.

8%
Cách xa - 8%

"Bảng giá sản phẩm và chính sách đổi trả."

Nghĩa khác hoàn toàn → không được truy xuất.

AI mã hoá mọi cụm từ thành toạ độ số trong không gian ý nghĩa - những cụm từ gần nghĩa nhau nằm gần nhau. Semantic Search chỉ cần tìm điểm tài liệu gần nhất với câu hỏi, không cần trùng từng chữ.

Người dùng thường hỏi bằng ngôn ngữ tự nhiên đời thường, rất ít khi khớp 100% từ ngữ trong văn bản quy chế:

  • Người dùng hỏi: "Làm sao để em xin off 3 ngày đi đám cưới?"
  • Quy chế công ty: "Quy trình phê duyệt nghỉ việc riêng không hưởng lương."

Đối chiếu:

  • Ctrl+F (Keyword Match): Báo 0 kết quả vì không trùng cụm từ "xin off" hay "đám cưới".
  • Semantic Search: Hiểu ý định tiềm ẩn, khớp 94% ngữ nghĩa với "nghỉ việc riêng" và trích xuất đúng điều khoản cần tìm.

Tìm từ khoá (Ctrl+F) vs Tìm kiếm theo nghĩa (Semantic Search)

Người dùng hỏi bằng ngôn ngữ tự nhiên đời thường. Semantic Search hiểu ý định tiềm ẩn thay vì chỉ so khớp từng ký tự.

Chọn một câu hỏi thực tế của người dùng:
Tìm kiếm từ khoá (Keyword Match / Ctrl+F)Thất bại (0 kết quả)
Searched keywords: xin off, ăn cưới

Không tìm thấy kết quả phù hợp. (Tài liệu không chứa cụm từ 'xin off' hay 'ăn cưới').

Tìm kiếm theo nghĩa (Semantic Search trong RAG)Thành công (Khớp 94% ngữ nghĩa)
Recognized intent: Nghỉ việc riêng / Nghỉ phép cá nhân

“Nhân viên có nhu cầu nghỉ việc riêng không hưởng lương cần nộp đơn trước 3 ngày làm việc thông qua cổng nhân sự nội bộ...”

Trích [Quy chế Nhân sự, Điều 8.2 - Nghỉ việc riêng]
Semantic Search tính toán khoảng cách ý nghĩa, tìm đúng điều khoản quy chế kể cả khi không trùng một chữ nào.

4. Lỗi thiết kế đảo lộn thứ tự và Khung quyết định RAG

Lỗi kinh điển: Cho model sinh câu trả lời trước bằng trí nhớ, sau đó mới quét database để đính kèm link brochure ở cuối. Kết quả: Khách hàng vẫn đọc phải thông tin sai/giá cũ do AI bịa ra trước khi xem link.

Luồng chuẩn: Nhận câu hỏi → Tra cứu dữ liệu mới nhất → Nhét vào Prompt → Model đọc và sinh câu trả lời.