Harnix

Knowledge base

Định dạng tài liệu, giới hạn 20 MB, trạng thái ingest, knowledge_search, trích dẫn.

Một knowledge base (KB) là một tập tài liệu được đưa vào để agent tra cứu ngữ nghĩa (semantic search) khi trả lời. Gắn một KB vào agent (knowledge_base_ids, xem Agent) là agent đó tự có tool knowledge_search — không cần bật cờ nào.

Tạo knowledge base và tải tài liệu

Trong console, mở Cơ sở tri thức và bấm Cơ sở tri thức mới. Đặt Tên (không trùng trong tổ chức), Slug, và Mô tả nếu muốn, rồi bấm Tạo cơ sở tri thức.

Mở knowledge base vừa tạo và bấm Tải tài liệu lên. Chọn được nhiều file một lúc; mỗi file được xếp hàng và ingest riêng.

Gắn knowledge base vào agent (trường Cơ sở tri thức của agent, xem Agent).

Định dạng và giới hạn được chấp nhận

Định dạngĐuôi file
PDF.pdf
Word (.docx).docx
Văn bản thuần.txt
Markdown.md

Mỗi file tối đa 20 MB. Nội dung file được kiểm tra khớp với định dạng khai báo (không chỉ dựa vào tên file) — một file .pdf không thật sự là PDF bị từ chối.

Trạng thái ingest

Sau khi tải lên, tài liệu đi qua các trạng thái:

  1. pending — đang chờ xử lý (console hiện Đang chờ xử lý).
  2. processing — đang tách đoạn (chunk) và tạo embedding.
  3. completed — sẵn sàng để knowledge_search tra cứu.
  4. failed — xử lý lỗi; xem trường error để biết vì sao.

Chỉ tài liệu ở trạng thái completed mới được đưa vào kết quả tìm kiếm — tài liệu đang xử lý dở hoặc lỗi không góp một phần câu trả lời bị cắt cụt.

Tổ chức bạn xử lý tối đa 2 tài liệu cùng lúc (giới hạn dùng chung với các việc chạy nền khác); số còn lại chờ ở trạng thái pending và bắt đầu khi có chỗ trống. Chat được ưu tiên trước việc xử lý tài liệu, nên một lần tải lên lớn không làm hội thoại phải chờ.

Menu của mỗi tài liệu có Thử lại (cho tài liệu failed) và Xử lý lại (cho tài liệu completed). Cả hai đều xử lý lại từ file gốc — không cần tải lại — và danh sách tự cập nhật khi tài liệu đi qua Đang chờ xử lý, Đang xử lý, rồi về Hoàn tất hoặc Thất bại. Trong lúc xử lý lại, tìm kiếm bỏ qua tài liệu đó cho tới khi xong.

Tài liệu được tách thành các đoạn (chunk) có kích thước cố định, chồng lấn nhẹ giữa các đoạn liền kề để không cắt đứt câu ở ranh giới — đây là lý do knowledge_search trả về "đoạn trích" chứ không phải cả tài liệu.

knowledge_search trả về gì

Khi model gọi knowledge_search, nó nhận về tối đa 5 đoạn trích liên quan nhất theo mặc định (model có thể yêu cầu tới 20 qua tham số top_k). Mỗi đoạn được đánh số để model trích dẫn trong câu trả lời, và mỗi câu trả lời có trích dẫn mang theo:

  • Tên tài liệu nguồn.
  • Vị trí đoạn (chunk) trong tài liệu.
  • Điểm liên quan (0–1, càng cao càng khớp).

Không tìm thấy đoạn nào phù hợp — model được yêu cầu trả lời bằng kiến thức sẵn có và nói rõ tài liệu không đề cập tới câu hỏi đó, thay vì bịa.

Một agent, nhiều knowledge base

Một agent có thể gắn nhiều KB cùng lúc; theo mặc định knowledge_search tìm trên tất cả, hoặc model có thể chỉ định một kb_id cụ thể nếu cần thu hẹp phạm vi.

Ghi chú về embedding model

Mỗi knowledge base được lập chỉ mục bằng một embedding model cố định cho toàn bộ deployment của bạn — bạn không chọn model embedding theo từng KB. Nếu deployment đổi embedding model, một KB đã lập chỉ mục bằng model cũ cần được tái ingest trước khi tìm kiếm lại có ý nghĩa; cho tới lúc đó knowledge_search sẽ báo rõ là không thể so sánh thay vì trả kết quả sai.

Trên trang này