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

Kho tri thức & truy hồi

Bot trả lời bằng tài liệu của bạn, và chỉ rõ nó lấy từ đâu

Đưa bảng giá, chính sách và câu hỏi thường gặp vào kho tri thức. Mỗi lần khách hỏi, hệ thống đi tìm đúng những đoạn liên quan rồi mới để model trả lời — kèm số trích dẫn để bạn kiểm chứng. Đây là khác biệt giữa một trợ lý biết việc và một con bot nói chuyện suông.

Từ tài liệu tới câu trả lời

Năm bước dưới đây chạy tự động. Bạn chỉ làm bước một.

  1. 1
    Bạn đưa nội dung vào

    Ba cách: gõ hoặc dán thẳng văn bản, thêm một địa chỉ URL, hoặc tải lên tệp (.pdf, .docx, .txt, .md, .csv, .json, .html). Bảng giá, chính sách đổi trả, câu hỏi thường gặp — thứ gì khách hay hỏi thì đưa vào.

  2. 2
    Hệ thống xử lý ngầm

    Việc nặng đẩy sang hàng đợi xử lý nền, bạn không phải ngồi chờ màn hình quay. 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 lý do cụ thể để bạn biết phải sửa gì.

  3. 3
    Cắt thành đoạn 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 nhau chừng 150 ký tự. Chồng lấn để một câu quan trọng không bị chặt đôi ngay chỗ nối và mất nghĩa.

  4. 4
    Chuyển từng đoạn thành vector

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

  5. 5
    Khách hỏi — truy hồi rồi mới trả lời

    Câu hỏi của khách cũng được mã hoá, hệ thống tìm các đoạn liên quan nhất, nhét vào ngữ cảnh rồi mới để model viết câu trả lời. Mặc định lấy 6 đoạn.

Truy hồi lai: hai cách tìm, một kết quả

Phần kỹ thuật quyết định chất lượng câu trả lời. Nếu bạn không quan tâm chi tiết thì chỉ cần nhớ: chúng tôi tìm bằng cả nghĩa lẫn chữ, rồi hoà lại.

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

Trích dẫn nguồn — để bạn kiểm tra được

Một chatbot nói sai mà không truy được nguồn thì không dùng cho việc bán hàng nghiêm túc.

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

Các đoạn được đưa cho model đều đánh số [1], [2]… và model được yêu cầu ghi số nguồn khi dùng thông tin từ đoạn đó. Bạn đọc câu trả lời là biết nó dựa vào 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 giữ tiêu đề tài liệu, địa chỉ nguồn nếu có, và đoạn văn bản đã dùng. Bot trả lời sai thì bạn tìm ra ngay câu chữ nào trong tài liệu gây ra chuyện đó.

Không đủ dữ liệu thì nói thẳng

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

Sửa tài liệu, không sửa bot

Khi bot trả lời sai giá, bạn sửa bảng giá trong kho tri thức chứ không phải đi vá prompt. Nội dung không đổi thì hệ thống nhận ra qua checksum và bỏ qua bước mã hoá lại — không tốn tiền vô ích.

Dữ liệu của bạn nằm ở đâ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 dùng để huấn luyện bất cứ 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 là xoá luôn các đoạn và vector sinh ra từ nó
  • Mỗi tài liệu có trạng thái riêng, lỗi hiện lý do cụ thể chứ không im lặng
  • Nạp lại cùng một nội dung cho ra cùng kết quả, chạy lại bao nhiêu lần cũng vậy

Những gì hiện CHƯA làm được

Chúng tôi thà bạn biết trước còn hơn phát hiện sau khi đã nạp tiền.

Giới hạn ở thời điểm hiện tại

  • Chưa đọc được Excel (.xlsx) và PDF dạng ảnh scan (không có lớp chữ, cần OCR). PDF thường và Word (.docx) thì đọc được. Nếu tài liệu của bạn là bảng Excel, cách nhanh nhất lúc này là lưu sang CSV rồi tải lên, hoặc dán nội dung vào ô văn bản.
  • Mỗi lần thêm URL chỉ lấy đúng MỘT trang tại địa chỉ đó. Chưa có bộ dò toàn bộ website hay đọc sitemap — muốn nạp 20 trang thì thêm 20 địa chỉ.
  • Chưa tự động nạp lại theo lịch. Website đổi giá thì bạn bấm nạp lại tài liệu đó bằng tay.
  • Chưa trích được nội dung nằm trong ảnh, và chưa đọc bảng biểu phức tạp thành dữ liệu có cấu trúc.

Thử với chính tài liệu của bạn

Dán một trang chính sách vào, hỏi vài câu khách hay hỏi, xem bot trích dẫn có đúng không. Mất chừng năm phút.