Đơn vị 1 / 11

RAG là gì và tại sao nó cần thiết?

Lợi nhuận:

  • Giải thích rằng RAG chèn ngữ cảnh mà không thay đổi trọng số của mô hình và hoạt động theo logic 'kỳ thi sách mở'
  • So sánh RAG với các phương pháp tinh chỉnh và ngữ cảnh dài theo chi phí, tính kịp thời và kịch bản sử dụng
  • Liệt kê các bước của quy trình RAG điển hình bao gồm các giai đoạn lập chỉ mục và truy vấn

Cho dù mô hình ngôn ngữ mạnh đến đâu (trí tuệ nhân tạo hiểu và tạo ra văn bản; từ nay chúng ta gọi tắt là mô hình), nó không biết hợp đồng mà công ty bạn đã ký ngày hôm qua, trang wiki nội bộ (cơ sở kiến thức nội bộ) của bạn hoặc ghi chú phát hành được xuất bản sáng nay. Mô hình chỉ giới hạn ở kiến ​​thức tổng quát tính đến thời điểm được đào tạo; Đây được gọi là "ngày kết thúc giáo dục". RAG (Thế hệ tăng cường truy xuất) lấp đầy chính xác khoảng trống này: nó tìm thấy các tài liệu của công ty liên quan đến câu hỏi, đưa nó vào mô hình dưới dạng ngữ cảnh (nghĩa là văn bản bổ sung mà nó sẽ đọc trong khi đưa ra câu trả lời) và có câu trả lời được tạo ra dựa trên ngữ cảnh này.

Trong phần này, chúng ta sẽ thấy rõ RAG là gì, khi nào nó được ưu tiên hơn các lựa chọn thay thế khác và các bước của quy trình RAG điển hình. Tất cả các đơn vị tiếp theo sẽ đào sâu từng phần của bản đồ này.

Ý tưởng cơ bản của RAG: Bài kiểm tra sách mở

Hãy giải thích RAG bằng một câu: "Đầu tiên hãy tìm tài liệu liên quan, sau đó yêu cầu người mẫu đọc tài liệu đó và in câu trả lời tương ứng."

Sự tương tự hữu ích nhất là thế này: RAG chuyển mô hình từ “bài kiểm tra sách đóng” sang “bài kiểm tra sách mở”. Trong bài thi đóng sách, học sinh chỉ trả lời theo trí nhớ; Có nguy cơ cao bạn sẽ bịa ra những gì bạn không nhớ. Trong bài thi mở sách, học sinh trả lời bằng cách nhìn vào nguồn tài liệu đặt trước mặt. Trong RAG, mô hình không còn trả lời từ bộ nhớ của chính nó nữa mà từ văn bản hiện tại và cụ thể mà bạn cung cấp cho nó.

Điểm tới hạn: RAG không thay đổi trọng số của mô hình, tức là hàng tỷ tham số số mà mô hình đã học. Bạn không đào tạo lại mô hình. Đối với mỗi câu hỏi, bạn đưa các đoạn văn bản liên quan đến câu hỏi đó vào lời nhắc (văn bản hướng dẫn được gửi tới mô hình). Vì vậy, bạn không phải đào tạo lại mô hình khi tài liệu được cập nhật; bạn chỉ cần làm mới bản ghi liên quan trong cơ sở dữ liệu tìm kiếm.

Gợi ý: Hai câu hỏi quyết định chất lượng của RAG: (1) Bạn đã tìm được tài liệu phù hợp chưa? (2) Mô hình có đọc chính xác không? Đầu tiên là "chất lượng truy xuất", thứ hai là "chất lượng tạo". Cả hai đều được đo lường và cải thiện riêng biệt.

RAG, Tinh chỉnh hay Bối cảnh dài?

Ba con đường thường bị nhầm lẫn khi tìm kiếm giải pháp cho một vấn đề của tổ chức. Hãy làm rõ sự khác biệt của họ. Tinh chỉnh là cập nhật trọng số của mô hình với dữ liệu của bạn và dạy cho nó một hành vi/phong cách mới. Ngữ cảnh dài có nghĩa là điền trực tiếp tất cả tài liệu vào dấu nhắc mà không cần bất kỳ lựa chọn nào.

Cách tiếp cận

làm gì

Khi nào thì thích hợp?

Chi phí / Rủi ro

RAG

Chèn tài liệu liên quan làm bối cảnh

Thông tin thường xuyên thay đổi, phong phú, cụ thể

Thấp; dễ dàng cập nhật, có thể trích dẫn nguồn

Tinh chỉnh

Cập nhật trọng số với dữ liệu mới

Cố định phong cách/định dạng/giảng dạy ngôn ngữ

Cao; Cần đào tạo lại sau mỗi lần cập nhật

Chỉ ngữ cảnh dài

Điền tất cả tài liệu vào dấu nhắc

Bộ tài liệu văn phòng phẩm nhỏ

Giá token và nguy cơ “mất phần giữa” tăng cao

Theo quy luật: Tinh chỉnh dạy người mẫu cách nói chuyện; RAG cho mô hình biết những điều cần biết. Trong hầu hết các tình huống doanh nghiệp, RAG được thử trước tiên vì nó rẻ, có thể cập nhật và có thể hiển thị nguồn của câu trả lời. Ngữ cảnh dài là hợp lý nếu bộ tài liệu thực sự nhỏ và cố định (ví dụ: một cuốn sổ tay 20 trang); Nhưng với hàng nghìn trang, nó đắt tiền và mô hình có thể bỏ lỡ thông tin ở giữa văn bản dài.

Đường ống RAG điển hình

RAG bao gồm hai giai đoạn chính: lập chỉ mục (chuẩn bị, thực hiện một lần hoặc định kỳ) và truy vấn (chạy trên mọi câu hỏi của người dùng).

Lập chỉ mục từng bước (ngoại tuyến, không cần người dùng chờ đợi):

  1. Thu thập: Lấy tài liệu từ các nguồn (PDF, wiki, hệ thống vé, cơ sở dữ liệu, email).
  2. Phân đoạn: Chia văn bản dài thành các phần nhỏ hơn để quản lý.
  3. Nhúng: Chuyển từng phần thành nhúng (vectơ số mang ý nghĩa của văn bản).
  4. Lưu: Ghi các vectơ cùng với văn bản và siêu dữ liệu (nguồn, ngày tháng, thông tin ủy quyền) vào cơ sở dữ liệu vectơ.

Truy vấn từng bước (trực tuyến, trong khi người dùng đang chờ):

  1. Chuyển đổi câu hỏi của người dùng sang dạng nhúng.
  2. Truy xuất các phần giống nhau nhất từ ​​cơ sở dữ liệu vectơ.
  3. Đặt những phần + câu hỏi này vào một mẫu gợi ý.
  4. Nhận câu trả lời theo ngữ cảnh và nguồn của nó từ mô hình.

# Phác thảo khái niệm của giai đoạn tìm hiểu (không phụ thuộc vào ngôn ngữ)quest = "Bao nhiêu ngày nghỉ phép hàng năm?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # hầu hết các phần tương tựprompt = f"""Trả lời CÂU HỎI bằng cách sử dụng BỐI CẢNH bên dưới. Nếu câu trả lời không phù hợp với ngữ cảnh, hãy nói "Tôi không có thông tin về điều này." Lắp.CONTEXT:{parts}CÂU HỎI: {question}"""answer = model.uret(prompt) # ví dụ: mô hình: Claude-opus-4-8

Luồng này là bản đồ của từng giai đoạn, chúng tôi sẽ giải nén từng giai đoạn một trong các phần tiếp theo.

Nhắc yếu / Nhắc mạnh

Ngay cả với cùng một bối cảnh RAG, chất lượng của lời nhắc sẽ thay đổi câu trả lời.

Lời nhắc yếu (mở để phù hợp với mô hình, không yêu cầu tài nguyên):

Sử dụng thông tin này và nói ngày nghỉ phép hàng năm: {parts}. Câu hỏi: {câu hỏi}

Lời nhắc mạnh mẽ (nối đất + quyền "Tôi không biết" + yêu cầu tài nguyên):

Chỉ trả lời dựa trên BỐI CẢNH bên dưới. Nếu không có câu trả lời rõ ràng trong ngữ cảnh, hãy viết "Tôi không thể tìm thấy thông tin về vấn đề này trong tài liệu"; Đừng đoán. Thêm thẻ [Nguồn: file_name] của phần bạn đang dựa vào vào cuối câu trả lời. BỐI CẢNH: {mảnh} CÂU HỎI: {question}

Ba hộp nhỏ

Trường hợp 1 - Trợ lý nhân sự (Nhân sự). Một công ty có cuốn sổ tay nhân sự dày 340 trang và nhân viên hỏi trung bình 90 câu hỏi mỗi ngày. Việc tinh chỉnh đã được thử, nhưng vì sách hướng dẫn được cập nhật hàng tháng nên mỗi lần đều phải đào tạo lại; Chi phí lên tới hàng ngàn đô la mỗi tháng. Sau khi chuyển sang RAG, bản cập nhật được giảm xuống bước "lập chỉ mục lại tài liệu" (phút) và tỷ lệ trả lời đúng tăng từ 71% lên 93% trong phép đo thủ công.

Trường hợp 2 - Hỗ trợ khách hàng. Nhóm hỗ trợ có 12.000 yêu cầu đã được giải quyết và 800 bài viết trợ giúp. Phải mất trung bình 4 phút để người đại diện tìm ra câu trả lời theo cách thủ công. Khi trợ lý RAG mang 5 hồ sơ phù hợp nhất và đưa ra phản hồi nháp thì thời gian giảm xuống còn 40 giây; Nhưng nhóm nghiên cứu đã nhận ra nguy cơ "có vẻ không chắc chắn khi đưa sai bài báo" và bắt buộc phải trích dẫn nguồn.

Trường hợp 3 - Luật. Một nhóm hợp đồng hỏi "điều khoản bảo mật có thời hạn 5 năm trong hợp đồng nào?" anh ấy đặt câu hỏi. Trong thử nghiệm ngữ cảnh dài, 60 hợp đồng được điền vào một dấu nhắc duy nhất; người mẫu đã bỏ qua hai hợp đồng ở giữa. Khi chỉ giới thiệu các vật phẩm có liên quan với RAG, chi phí mã thông báo đã giảm 80% và việc bỏ qua bị thiếu đã được đặt lại.

Tại sao cần có RAG?

  • Tính cập nhật: Bạn truy cập thông tin sau ngày kết thúc khóa đào tạo.
  • Thông tin đặc biệt: Tài liệu nội bộ của bạn không được đưa vào đào tạo bất kỳ mô hình nào; Chỉ có bạn mới có thể cho đi.
  • Khả năng xác minh: Bạn có thể trích dẫn nguồn của câu trả lời (trích dẫn) - cần thiết cho việc kiểm tra và tin cậy.
  • Kiểm soát ảo giác: Nó dựa vào văn bản đặt trước nó hơn là tạo thành một mô hình.
  • Chi phí: Đưa vào vận hành rẻ hơn và nhanh hơn nhiều so với việc tinh chỉnh.
Thận trọng: RAG không phải là phép thuật. Nếu bạn mang sai mảnh, người mẫu sẽ đưa ra câu trả lời sai với vẻ “tự tin”. Hãy ghi nhớ cụm từ "Chất lượng truy xuất = chất lượng RAG".

Những lỗi thường gặp

  • Nhầm RAG với việc tinh chỉnh: RAG không thay đổi trọng số; Nó chỉ thêm bối cảnh. Nhầm lẫn hai điều này sẽ dẫn đến việc chọn sai kiến ​​trúc.
  • Không cho phép "Tôi không biết": Nếu lời nhắc để mô hình tự do điền vào chỗ trống, nó sẽ bị bù.
  • Không trích dẫn nguồn: Câu trả lời không có nguồn thì không thể kiểm tra được; Người dùng không thể nhận ra lỗi.
  • Nhồi nhét mọi thứ vào một lời nhắc: Ngữ cảnh dài có vẻ rẻ tiền nhưng lại đắt tiền và bỏ sót thông tin ở giữa.
  • Bị mắc kẹt trong quá trình tạo mà không đo lường khả năng truy xuất: Nếu câu trả lời không tốt, trước tiên hãy hỏi "Phần phù hợp đã đến chưa?" nên được hỏi.

Tóm lại

  • RAG là một cách tiếp cận đưa các tài liệu liên quan đến câu hỏi vào mô hình dưới dạng ngữ cảnh; không thay đổi trọng số ("bài thi mở sách").
  • Tinh chỉnh dạy phong cách/định dạng, RAG cung cấp thông tin hiện tại và cụ thể; bối cảnh dài hoạt động tốt cho các bộ cố định nhỏ. Trong hầu hết các trường hợp, RAG được thử trước tiên.
  • Quy trình có hai giai đoạn: lập chỉ mục ngoại tuyến (chunk + nhúng + lưu) và truy vấn trực tuyến (truy xuất + nhắc + tạo).
  • RAG cung cấp thông tin kịp thời, cụ thể, có thể kiểm chứng, kiểm soát ảo giác và chi phí thấp.
  • Chất lượng của hệ thống phụ thuộc trực tiếp vào chất lượng truy xuất: phần sai có nghĩa là câu trả lời sai.

Nhiệm vụ ứng dụng

Chọn nguồn thông tin xác thực từ nhóm của bạn (ví dụ: tài liệu quy trình hoặc trang Câu hỏi thường gặp). (1) Viết 5 câu hỏi thực tế về nguồn này. (2) Lưu ý phần nào của tài liệu chứa câu trả lời đúng cho mỗi câu hỏi - phần này sẽ trở thành danh sách “câu trả lời vàng” của bạn. (3) Sử dụng mẫu "dấu nhắc mạnh" ở trên, dán thủ công phần liên quan làm ngữ cảnh và hỏi mẫu. (4) So sánh câu trả lời của người mẫu với câu trả lời vàng và đánh dấu đúng/sai. Đây là phiên bản đánh giá thủ công đầu tiên mà bạn sẽ tự động hóa trong các bài học sau này.

danh sách kiểm tra

  • [ ] Tôi có thể giải thích bằng một câu rằng RAG không thay đổi trọng số, nó chỉ bổ sung thêm ngữ cảnh.
  • [ ] Tôi có thể phân biệt giữa RAG, tinh chỉnh và bối cảnh dài và khi nào thì phù hợp.
  • [ ] Tôi có thể đếm các giai đoạn lập chỉ mục (thu thập-cắt nhỏ-nhúng-lưu) và truy vấn (nhúng-tìm nạp-nhắc-tạo) theo thứ tự.
  • [ ] Tôi biết tại sao tôi lại thêm hướng dẫn "nếu không đúng ngữ cảnh, hãy nói rằng tôi không biết" và "trích dẫn nguồn" vào lời nhắc.
  • [ ] Tôi có thể áp dụng nguyên tắc "Chất lượng truy xuất = chất lượng RAG" cho trường hợp của riêng tôi.