Bỏ qua, tới nội dung chính

Kho tri thức và truy hồi

Trợ lý trả lời bằng tài liệu của bạn, kèm trích dẫn nguồn đầy đủ

Nạp bảng giá, chính sách và câu hỏi thường gặp vào kho tri thức. Với mỗi câu hỏi, hệ thống truy hồi đúng các đoạn liên quan rồi mới để model soạn câu trả lời, kèm số trích dẫn để bạn đối chiếu. Đây là khác biệt giữa một trợ lý nắm được nghiệp vụ và một chatbot trả lời chung chung.

Từ tài liệu đến câu trả lời

Năm bước dưới đây được thực hiện tự động. Bạn chỉ cần thao tác ở bước đầu tiên.

  1. 1
    Đưa nội dung vào hệ thống

    Ba phương thức: nhập trực tiếp văn bản, khai báo địa chỉ URL, hoặc tải lên tệp (.pdf, .docx, .xlsx, .txt, .md, .csv, .json, .html). Bảng giá, chính sách đổi trả và câu hỏi thường gặp là những nội dung nên ưu tiên nạp trước.

  2. 2
    Hệ thống xử lý nền

    Các tác vụ nặng được chuyển sang hàng đợi xử lý nền nên bạn không phải chờ đợi. Mỗi tài liệu có trạng thái riêng: đang xử lý, sẵn sàng, hoặc lỗi kèm nguyên nhân cụ thể để xử lý dứt điểm.

  3. 3
    Phân đoạn tài liệu có chồng lấn

    Tài liệu dài được cắt thành các đoạn khoảng 900 ký tự, hai đoạn liền kề chồng lấn khoảng 150 ký tự. Phần chồng lấn bảo đảm một câu quan trọng không bị chia đôi tại điểm nối và mất ngữ nghĩa.

  4. 4
    Mã hoá từng đoạn thành vector

    Mỗi đoạn được mã hoá thành vector ngữ nghĩa bằng model embedding đa ngôn ngữ đặt tại máy chủ Việt Nam, xử lý tốt tiếng Việt. Việc mã hoá thực hiện theo lô nên tài liệu dài không gây tắc nghẽn.

  5. 5
    Truy hồi trước, trả lời sau

    Câu hỏi của khách hàng cũng được mã hoá, hệ thống tìm các đoạn liên quan nhất và bổ sung vào ngữ cảnh trước khi model soạn câu trả lời. Số đoạn mặc định là sáu.

Truy hồi lai: hai phương pháp tìm kiếm, một kết quả

Đây là phần kỹ thuật quyết định chất lượng câu trả lời. Tóm lược: hệ thống truy hồi bằng cả ngữ nghĩa lẫn chuỗi ký tự, sau đó hợp nhất kết quả.

Nhánh vector: truy hồi theo ngữ nghĩa
Khách hàng hỏi "mua rồi đổi được không" trong khi tài liệu ghi "chính sách hoàn trả trong 7 ngày". Hai câu không trùng từ nào nhưng tương đồng về nghĩa nên nhánh vector vẫn truy hồi được. Cơ chế này chạy trên pgvector với chỉ mục HNSW, đo bằng khoảng cách cosine.
Nhánh full-text: khớp chính xác chuỗi ký tự
Khách hàng hỏi "còn mã SP-2451 không". Mã sản phẩm, số hiệu đơn hàng và tên riêng viết tắt thường bị nhánh vector bỏ sót do không mang nhiều ngữ nghĩa. Tìm kiếm toàn văn của Postgres xử lý chính xác nhóm truy vấn này.
Hợp nhất hai bảng xếp hạng bằng RRF
Hai nhánh cho ra hai bảng xếp hạng trên thang đo khác nhau nên không thể cộng điểm trực tiếp. Reciprocal Rank Fusion chỉ xét thứ hạng: đoạn được cả hai nhánh xếp cao sẽ vượt lên trên đoạn chỉ nổi bật ở một nhánh. Đây là phương pháp hợp nhất chuẩn mực, không phụ thuộc vào việc tự điều chỉnh trọng số theo cảm tính.
Lý do không chỉ dùng riêng nhánh vector
Khách hàng tại Việt Nam đặt câu hỏi theo cả hai dạng. "Áo này giặt máy được không" là truy vấn ngữ nghĩa, còn "đơn DH00912 tới đâu rồi" là truy vấn khớp chuỗi. Chỉ triển khai một nhánh đồng nghĩa với việc chấp nhận trả lời sai một nửa số trường hợp.

Trích dẫn nguồn để đối chiếu

Một chatbot trả lời sai mà không truy được nguồn thì không đủ điều kiện phục vụ hoạt động kinh doanh.

Câu trả lời có đánh số nguồn

Các đoạn đưa vào ngữ cảnh đều được đánh số [1], [2] và model được yêu cầu ghi rõ số nguồn khi sử dụng thông tin từ đoạn tương ứng. Người đọc xác định được câu trả lời dựa trên tài liệu nào.

Trích dẫn dẫn ngược về tài liệu gốc

Mỗi trích dẫn lưu tiêu đề tài liệu, địa chỉ nguồn nếu có và đoạn văn bản đã sử dụng. Khi trợ lý trả lời chưa chính xác, bạn xác định được ngay nội dung nào trong tài liệu là nguyên nhân.

Nêu rõ khi dữ liệu chưa đầy đủ

Trợ lý được hướng dẫn chỉ trả lời dựa trên các đoạn được cung cấp và thông báo khi chưa có thông tin. Với hàng hoá và chính sách đổi trả, một thông tin không có căn cứ có thể dẫn tới khiếu nại.

Điều chỉnh tài liệu thay vì điều chỉnh trợ lý

Khi trợ lý trả lời sai giá, bạn cập nhật bảng giá trong kho tri thức thay vì sửa prompt. Nếu nội dung không thay đổi, hệ thống nhận biết qua checksum và bỏ qua bước mã hoá lại để không phát sinh chi phí thừa.

Dữ liệu của bạn được lưu trữ ở đâu

  • Mỗi tổ chức có kho tri thức riêng, cách ly ở tầng cơ sở dữ liệu
  • Tài liệu của bạn không được sử dụng để huấn luyện bất kỳ model nào
  • Chọn embedding đặt tại Việt Nam thì nội dung tài liệu không rời khỏi hạ tầng trong nước
  • Xoá tài liệu đồng thời xoá toàn bộ đoạn và vector sinh ra từ tài liệu đó
  • Mỗi tài liệu có trạng thái riêng, lỗi được nêu nguyên nhân cụ thể
  • Nạp lại cùng một nội dung luôn cho ra cùng một kết quả

Giới hạn hiện tại

Chúng tôi công bố trước các giới hạn để bạn cân nhắc đầy đủ trước khi triển khai.

Những nội dung hệ thống chưa xử lý được

  • Chưa đọc được PDF dạng ảnh scan không có lớp văn bản (cần OCR). PDF thông thường, Word (.docx) và Excel (.xlsx) đều xử lý được.
  • Mỗi lần khai báo URL chỉ nạp đúng một trang tại địa chỉ đó. Chưa có cơ chế dò toàn bộ website hay đọc sitemap, nạp 20 trang cần khai báo 20 địa chỉ.
  • Chưa hỗ trợ nạp lại theo lịch. Khi website cập nhật giá, bạn cần nạp lại tài liệu tương ứng theo cách thủ công.
  • Chưa trích xuất được nội dung nằm trong hình ảnh và chưa chuyển bảng biểu phức tạp thành dữ liệu có cấu trúc.

Kiểm thử với chính tài liệu của bạn

Nạp một trang chính sách, đặt vài câu hỏi khách hàng thường gặp và đối chiếu trích dẫn. Toàn bộ quá trình mất khoảng năm phút.