Đơn vị 3 / 12

Tạo câu trả lời từ Cơ sở Kiến thức (Giới thiệu về RAG)

Lợi nhuận:

  • Hiểu logic của việc tạo ra dựa trên kiến thức (RAG) và lý do tại sao nó làm giảm ảo giác
  • Khả năng yêu cầu mô hình phản hồi bằng trích dẫn, chỉ dựa trên các tài liệu nguồn được cung cấp
  • Khả năng quản lý các câu hỏi không có trong nguồn bằng cách chuyển chúng một cách an toàn, không cần tạo câu hỏi

Một mô hình ngôn ngữ "biết" rất nhiều, nhưng nó không biết chính sách hoàn trả của công ty bạn ngày hôm nay, bảng giá hiện tại hoặc thỏa thuận vận chuyển đã thay đổi ngày hôm qua của bạn. Tệ hơn nữa, khi không biết, anh ấy thường bịa ra và viết với giọng điệu cực kỳ tự tin. Đây là một lỗ hổng nghiêm trọng trong dịch vụ khách hàng: mô hình cho biết "Tiền hoàn lại được cấp trong vòng 30 ngày" trong khi chính sách của bạn có thể là 14 ngày. Cách tiếp cận nhằm thu hẹp khoảng cách này được gọi là RAG: Thế hệ tăng cường truy xuất, tức là "sản xuất tăng cường truy xuất".

Ý tưởng rất đơn giản: Mô hình trả lời câu hỏi không phải từ bộ nhớ mà từ các tài liệu nguồn chính xác được đặt trước nó tại thời điểm đó. Đầu tiên, phần tài liệu chính xác liên quan đến câu hỏi là "truy xuất", sau đó mô hình "tạo" câu trả lời chỉ dựa trên phần đó. Trong phần này, bạn sẽ hiểu logic của RAG và tìm hiểu cách điều chỉnh mô hình để nó chỉ bám sát nguồn đã được xác minh mà bạn cung cấp.

Lưu ý: Đơn vị này dạy logic làm việc và mặt nhắc của RAG. Hệ thống truy xuất tài liệu tự động quy mô doanh nghiệp (cơ sở dữ liệu vectơ, v.v.) yêu cầu cài đặt kỹ thuật; Kỷ luật ở đây là cơ sở để hệ thống đó phản ứng chính xác.

Tại sao RAG làm giảm ảo giác?

Ảo giác là khi mô hình tạo ra thông tin không có thật như thể nó là thật. Mô hình này được lập trình để tạo ra phản hồi có vẻ “có thể xảy ra” khi nó nhìn thấy khoảng trống; Không biết có đúng hay không. RAG lấp đầy khoảng trống này: bạn cung cấp cho mô hình văn bản thực tế có liên quan cùng với câu hỏi và nói “chỉ trả lời từ đây”. Bằng cách này, mô hình không "cần" phù hợp.

Có ba thành phần:

  • Cơ sở kiến thức: Các văn bản đáng tin cậy như Câu hỏi thường gặp, tài liệu chính sách, hướng dẫn sử dụng sản phẩm, bảng giá.
  • Truy xuất: Tìm đoạn tài liệu chứa câu trả lời cho câu hỏi và đưa nó cho mô hình.
  • Phiên bản giới hạn: Model phản hồi kèm theo báo giá, chỉ dựa trên bộ phận được cung cấp.

Từng bước: Phản hồi trung thực về nguồn

  1. Chuẩn bị nguồn. Tìm văn bản làm cơ sở cho phản hồi (chính sách, câu hỏi thường gặp) ở định dạng rõ ràng và cập nhật.
  2. Nhúng nguồn vào lời nhắc. Đặt văn bản vào thẻ như <source>.
  3. Viết quy tắc trung thành. "Chỉ sử dụng thông tin từ nguồn, không đi lạc khỏi nguồn."
  4. Yêu cầu trích dẫn. Hãy để anh ấy/cô ấy chỉ ra câu trả lời dựa trên phần nào.
  5. Xác định hành vi phi tài nguyên. Nếu câu trả lời không có trong nguồn, hãy để anh ấy nói "Tôi không có thông tin này" và chuyển nó đi.
  6. Xác minh. Xác nhận câu trả lời bằng cách so sánh nó với câu nguồn làm cơ sở cho câu trả lời đó.

Lời nhắc có thể sao chép

Lời nhắc phản hồi dựa trên nguồn cơ bản:

Vai trò: Bạn là trợ lý hỗ trợ khách hàng. CHỈ trả lời câu hỏi dựa trên thông tin trong khối <nguồn> bên dưới. Không thêm bất kỳ thông tin nào không có trong nguồn, đoán hoặc trả lời từ kiến ​​thức chung của bạn. Thêm phần bạn đang dựa vào vào cuối câu trả lời của bạn ở định dạng "[Nguồn: ...]". Nếu câu trả lời không có trong nguồn, hãy viết như sau: "Tôi không có thông tin chắc chắn về chủ đề này, tôi sẽ chuyển bạn đến một quan chức có thể đưa ra câu trả lời chính xác."<source>{{ Policy_or_faq_text }</source>Câu hỏi: {{ customer_question }}

Trong trường hợp có nhiều nguồn, lời nhắc hiển thị tài liệu đó dựa trên:

Có nhiều tài nguyên được đánh số dưới đây. Khi trả lời câu hỏi, hãy nêu số nguồn bạn đã sử dụng, chẳng hạn như [Nguồn 2]. Nếu có nhiều nguồn mâu thuẫn với bạn, hãy nói rõ ràng và nêu rõ rằng bạn nên hỏi nguồn nào cập nhật hơn.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }</sources>Câu hỏi: {{ customer_question }}

Nhắc quản lý câu hỏi không phải nguồn một cách an toàn:

Nếu câu trả lời cho câu hỏi được tìm thấy MỘT PHẦN trong nguồn: chỉ trả lời phần được đề cập trong nguồn và nói "chi tiết này không có trong nguồn" đối với phần còn lại. Đừng bao giờ điền phần còn thiếu bằng cách đoán.

Lời nhắc dịch phản hồi sang ngôn ngữ máy khách nhưng vẫn đúng với nguồn:

Dịch cách diễn đạt chính thức/kỹ thuật trong nguồn sang ngôn ngữ đơn giản mà khách hàng có thể hiểu được, nhưng KHÔNG thay đổi ý nghĩa và giá trị số (ngày, số tiền, tỷ giá). Ví dụ: làm tròn "14 ngày theo lịch" thành "khoảng hai tuần"; giữ nguyên giá trị.

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

Dấu nhắc yếu

Lời nhắc mạnh mẽ

"Hãy cho chúng tôi biết về chính sách hoàn trả của chúng tôi"

Nhúng nguồn + "chỉ trả lời ở đây" + yêu cầu trích dẫn

Trả lời theo trí nhớ của mẫu (có thể sai)

Câu trả lời từ tài liệu hiện tại của bạn

Nếu không có trong nguồn thì anh ta bịa ra

Anh ta nói "Tôi không có thông tin này" và chuyển nó đi.

Có thể làm tròn và bóp méo số

Duy trì chính xác ngày/số tiền/tỷ lệ

Sự khác biệt là lời nhắc mạnh mẽ cung cấp cho mô hình một điểm neo (văn bản nguồn) và lệnh cấm (đi chệch khỏi nguồn). Người mẫu không còn nói từ ký ức nữa mà từ thực tế trước mặt.

Ba hộp nhỏ

Trường hợp 1 – Cái bẫy chính sách cũ “Trả lại được chấp nhận trong vòng 30 ngày,” bot của một cửa hàng cho biết khi đang chạy mà không có tín dụng; Tuy nhiên, công ty đã giảm thời gian xuống còn 14 ngày. Khi văn bản chính sách cập nhật được thêm vào nguồn trong bản cài đặt RAG, bot hiện phản hồi "14 ngày theo lịch [Nguồn: Chính sách hoàn trả, bài viết 2]". Tranh chấp hoàn tiền phát sinh từ những lời hứa sai lầm đã được thiết lập lại.

Trường hợp 2 - Nắm bắt được sự mâu thuẫn. Một khách hàng hỏi về chi phí vận chuyển. Cả bảng giá cũ và mới đều được nhập vào hệ thống dưới dạng nguồn. Nhờ lời nhắc của nhiều nguồn, người mẫu cho biết: "Hai nguồn đưa ra mức giá khác nhau (49 TL và 59 TL); tôi cần xác nhận giá hiện tại" và truyền đạt vấn đề cho con người. Thay vì nói với khách hàng số tiền không chính xác, anh ấy đã truyền đạt sự không chắc chắn một cách trung thực.

Trường hợp 3 - Kỷ luật phản ứng một phần. “Bạn có vận chuyển sản phẩm ra nước ngoài không và ai là người trả thuế hải quan?” Trong câu hỏi, nguồn tin chỉ cho biết lô hàng được thực hiện chứ không nói gì về việc ai là người nộp thuế. Người mẫu cho biết: "Có, việc vận chuyển được thực hiện ở nước ngoài [Nguồn: Câu hỏi thường gặp về hàng hóa]. Tuy nhiên, trong tài liệu này không ghi ai là người nộp thuế hải quan; tôi sẽ chuyển bạn đến cơ quan chức năng để làm rõ việc này." Thay vì một câu trả lời nửa đúng, nửa bịa đặt, nó tạo ra một câu trả lời trung thực và tự tin.

Mẹo: Giữ phiên bản nguồn thông tin chính xác và cập nhật nhất cho cơ sở kiến ​​thức của bạn. Có cùng một thông tin (ví dụ: thời gian trả lại) được viết khác nhau trong ba tài liệu riêng biệt là kẻ thù lớn nhất của RAG; Mô hình phản hồi khác nhau tùy thuộc vào mô hình mà nó nhìn vào. Đầu tiên hãy sao chép tài liệu của bạn, sau đó tự động hóa chúng.

Xác minh: Đừng thư giãn chỉ vì nguồn tồn tại

RAG làm giảm đáng kể ảo giác nhưng không thiết lập lại nó. Mô hình đôi khi có thể hiểu sai nguồn, trộn lẫn hai câu hoặc đưa ra một “kết luận” không có trong nguồn. Đó là lý do tại sao yêu cầu trích dẫn lại rất quan trọng: hãy mở phần mà câu trả lời tuyên bố dựa trên đó và kiểm tra xem nó có thực sự nói như vậy không. Kiểm soát này là không thể thương lượng, đặc biệt là trong các phản hồi có chứa số (ngày, số tiền, tỷ lệ) và điều kiện (ngoại lệ, điều kiện).

Thận trọng: Nếu bản thân nguồn sai hoặc lỗi thời, RAG sẽ lặp lại lỗi đó một cách trung thực. Nói “mô hình nói từ nguồn” không có nghĩa là “mô hình nói đúng”; Bạn chịu trách nhiệm về tính tiền tệ và tính chính xác của nguồn của bạn.

Giữ cơ sở kiến ​​thức sẵn sàng phản hồi

Chất lượng của RAG phụ thuộc phần lớn vào cách viết văn bản nguồn. Mô hình trả về phản hồi chính xác hơn nhiều so với các văn bản có chủ đề đơn, có tiêu đề và có cấu trúc tốt. Lời khuyên thiết thực: viết chính sách của bạn thành các phần ngắn gọn, có tiêu đề thay vì các đoạn văn dài lồng nhau; Hãy để mỗi phần trả lời một câu hỏi ("Thời gian hoàn trả là bao nhiêu ngày?", "Sản phẩm nào không thể được hoàn trả?"). Việc giữ các câu hỏi thường gặp (FAQ) ở định dạng hỏi đáp giúp mô hình dễ dàng tìm thấy phần phù hợp hơn. Nêu rõ các giá trị như ngày, số lượng và tỷ lệ một cách rõ ràng và ở một nơi trong văn bản; Viết cùng một số khác nhau trong các phần khác nhau sẽ gây nhầm lẫn cho mô hình.

Một thói quen quan trọng khác là duy trì nền tảng kiến ​​thức. Chính sách, giá cả và khuyến mãi khác nhau; Nếu nguồn không được cập nhật, mô hình sẽ tiếp tục lặp lại sự thật cũ một cách an toàn. Với mỗi thay đổi chính sách, hãy cập nhật nguồn và hỏi lại mô hình một số câu hỏi kiểm tra về chủ đề đã thay đổi để xác nhận rằng nó đưa ra câu trả lời chính xác. Việc bảo trì nhỏ nhưng thường xuyên này giúp hệ thống RAG không bị "âm thầm trục trặc" theo thời gian.

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

  • Nói “giải thích chính sách của chúng tôi” mà không cần chôn nguồn và chỉ dựa vào khả năng ghi nhớ của mẫu.
  • Không xác định ranh giới "chỉ trả lời từ nguồn" và hành vi không phải nguồn.
  • Không yêu cầu trích dẫn/tài liệu tham khảo nguồn và để lại câu trả lời không thể xác minh được.
  • Giữ các phiên bản xung đột của cùng một thông tin trong nhiều tài liệu trong cơ sở kiến ​​thức.
  • Cho phép mô hình làm tròn/giải thích các giá trị số.
  • Quên cập nhật nguồn khiến người mẫu lặp lại thông tin cũ một cách trung thực.

Tóm lại

  • RAG có nghĩa là mô hình tạo ra câu trả lời từ tài liệu nguồn hiện tại, thay vì từ bộ nhớ.
  • Cách thiết thực nhất để giảm ảo giác: chôn nguồn, nói “chỉ trả lời ở đây”, yêu cầu trích dẫn.
  • Nếu câu trả lời không có trong nguồn thì mô hình sẽ không phù hợp; Anh ta nên nói "Tôi không có" và đưa nó ra.
  • Làm cho mô hình nhận biết được các nguồn xung đột; Bạn đã bảo toàn chính xác các giá trị số.
  • Độ chính xác của RAG phụ thuộc vào tính kịp thời của nguồn của bạn; Luôn xác nhận báo giá.

Nhiệm vụ ứng dụng

Lấy văn bản chính sách thực tế (trả lại hàng, vận chuyển hoặc tư cách thành viên) từ doanh nghiệp của bạn và nhúng văn bản đó làm nguồn trong lời nhắc RAG cơ bản ở trên. Sau đó đặt ba câu hỏi: (1) một câu hỏi có câu trả lời rõ ràng trong nguồn, (2) một câu hỏi có câu trả lời hoàn toàn không có trong nguồn, (3) một câu hỏi có câu trả lời chỉ không đầy đủ trong nguồn. Xác minh rằng mô hình trả lời đúng, nói “Tôi không có nó” và đánh dấu trung thực một phần câu trả lời và phần còn thiếu. Sửa chữa hành vi sai lệch bằng cách tăng cường các quy tắc trung thành và phi tài nguyên trong lời nhắc.

danh sách kiểm tra

  • [ ] Tôi đã nhúng nguồn hiện tại mà phản hồi sẽ dựa trên lời nhắc.
  • [ ] Tôi đã thêm quy tắc "Chỉ trả lời từ nguồn, không vượt quá".
  • [ ] Tôi đã đưa ra yêu cầu về nguồn tham khảo/ trích dẫn.
  • [ ] Tôi đã xác định hành vi ủy quyền nếu câu trả lời không có sẵn trong nguồn.
  • [ ] Tôi yêu cầu các giá trị số phải được bảo toàn chính xác.
  • [ ] Tôi đã xác nhận câu trả lời từ câu nguồn làm cơ sở cho câu trả lời đó.