# Nạp kiến thức cho AI

Đưa cho trợ lý FAQ, chính sách, website, Google Docs, trang Notion và tệp của bạn, hoặc đẩy tài liệu từ hệ thống của bạn qua API, và viết sao cho trợ lý tìm đúng câu trả lời.

Kiến thức là tất cả những gì trợ lý được phép nói. Trợ lý chỉ trả lời từ những gì bạn thêm ở tab **Kiến thức**, trên mọi kênh của doanh nghiệp, và chuyển nhân viên khi không tìm thấy câu trả lời. Kiến thức tốt là yếu tố quyết định lớn nhất tới chất lượng câu trả lời.

## Các loại kiến thức

| **Loại** | Thêm gì | Phù hợp cho |
|---|---|---|
| **FAQ (cặp hỏi/đáp)** | Các khối hỏi và đáp, cách nhau bằng dòng trống | Phí ship, giá, giờ mở cửa, đổi trả: những gì khách hỏi trong một câu |
| **Văn bản / markdown** | Văn bản bất kỳ, có thể dùng tiêu đề `#`, tối đa 200.000 ký tự | Chính sách, hướng dẫn sản phẩm, cách bảo quản |
| **Website, Google Doc / Sheet, hoặc liên kết Notion** | Địa chỉ website hoặc `sitemap.xml`, Google Doc hoặc Sheet chia sẻ "bất kỳ ai có liên kết", hoặc một trang hay cơ sở dữ liệu Notion | Nội dung bạn vẫn cập nhật ở nơi khác |
| **Tệp PDF / Word** | Tệp PDF hoặc DOCX tối đa 20 MB | Catalogue, bảng giá, sổ tay |
| **API** | Tài liệu lập trình viên đẩy từ trung tâm trợ giúp, CMS hoặc tài liệu sản phẩm của bạn (xem [bên dưới](#đẩy-tài-liệu-từ-hệ-thống-của-bạn)) | Bộ tài liệu lớn hoặc hay thay đổi, cần luôn khớp với hệ thống của bạn |

Sản phẩm không phải là kiến thức: trợ lý đọc giá và mô tả trực tiếp từ danh mục sản phẩm. Xem [Danh mục sản phẩm](https://hatang.dev/vi/help/products/product-catalog).

## Thêm một nguồn

1. Vào **Hỗ trợ khách hàng → Kiến thức** (hoặc tab **Kiến thức** trong **Hỗ trợ khách hàng → Trợ lý AI**).
2. Chọn **Loại**.
3. Nhập **Tiêu đề**. Với tệp, có thể để trống để dùng tên tệp.
4. Điền nội dung, liên kết hoặc chọn tệp:
   - **FAQ**: viết các khối `Hỏi:` và `Đáp:` (hoặc `Q:` và `A:`) cách nhau bằng dòng trống.
   - **Liên kết**: dán địa chỉ. Với website, đặt **Thu thập lại mỗi (ngày, 0 = không bao giờ)**; mặc định là 7.
   - **Tệp**: chọn tệp PDF hoặc DOCX.
5. Bấm **Thêm nguồn**.

![Tab Kiến thức với câu hỏi chưa có đáp án, ô thêm nguồn và các nguồn đã lập chỉ mục](https://hatang.dev/help/img/vi/ai/knowledge.webp)

Nguồn hiện trong bảng với trạng thái: **Đang chờ**, rồi **Đang lập chỉ mục**, rồi **Đã lập chỉ mục**, hoặc **Lỗi** kèm lý do bên dưới. Cột **Đoạn** cho biết nguồn được chia thành bao nhiêu đoạn, và với website thì đọc được bao nhiêu trang.

## Đẩy tài liệu từ hệ thống của bạn

Nếu bạn đã có trung tâm trợ giúp, CMS hay danh mục sản phẩm, lập trình viên có thể đẩy thẳng tài liệu vào kiến thức qua **Knowledge API**, thay vì để trợ lý thu thập website. Mỗi tài liệu giữ mã của bạn, có ngôn ngữ riêng (trợ lý ưu tiên tài liệu cùng ngôn ngữ với khách), và cả bộ có thể được đồng bộ sau mỗi lần cập nhật: tài liệu mới hoặc đã sửa được lập chỉ mục, tài liệu đã gỡ bị xoá. Các tài liệu này hiện ở trang **Kiến thức** với loại **API**, mỗi bộ một dòng, và chỉ sửa được qua API. Hướng dẫn cho lập trình viên: [Knowledge API](https://hatang.dev/vi/docs/guides/support/knowledge-api).

## Mỗi loại được đọc thế nào

- **Website** được đọc từ địa chỉ bạn nhập, đi theo liên kết trong cùng website sâu hai cấp, tối đa 50 trang. Hạ Tầng tôn trọng `robots.txt` và sitemap của bạn, bỏ qua trang đánh dấu `noindex`. Website được đọc lại tự động theo số ngày ở **Thu thập lại mỗi**.
- **Google Docs và Sheets** phải được chia sẻ ở chế độ "bất kỳ ai có liên kết đều xem được".
- **Notion** cần kết nối một lần: tạo một internal integration tại notion.so/profile/integrations, dán token vào ô **Token tích hợp Notion** ở tab **Trợ lý**, rồi trong Notion chia sẻ từng trang hoặc cơ sở dữ liệu với integration đó.
- **Tệp**: chữ được trích ra ngay khi tải lên. PDF dạng scan (không có lớp chữ) được AI đọc ở nền, và khoản này tính vào ngân sách AI.

Khi bạn sửa một trang web hay một tài liệu bên ngoài Hạ Tầng, bấm **Lập chỉ mục lại** để đọc lại. Nguồn FAQ và văn bản không sửa trực tiếp được: muốn đổi, hãy thêm bản mới rồi xoá bản cũ.

## Trợ lý tìm câu trả lời ra sao

Mỗi nguồn được chia thành các đoạn: mỗi cặp hỏi đáp trong FAQ là một đoạn, còn các nguồn khác được chia thành từng phần khoảng một hai đoạn văn, kèm các tiêu đề phía trên. Khi khách nhắn, trợ lý tìm sáu đoạn khớp nhất với hai tin nhắn gần nhất của khách và chỉ trả lời từ những đoạn đó.

Việc tìm kiếm không phân biệt dấu tiếng Việt và chịu được lỗi gõ, nên "phi ship" vẫn tìm ra "phí ship". Dòng dưới tiêu đề trang cho biết bao nhiêu đoạn đã được lập chỉ mục, và đang "tìm kiếm ngữ nghĩa bật" (tìm theo ý nghĩa, không chỉ theo chữ) hay "chỉ tìm theo từ khoá".

## Viết kiến thức để AI dùng được

- **Mỗi câu hỏi một câu trả lời.** "Hỏi: Có giao hàng đi tỉnh không? Đáp: Có, 2 đến 4 ngày làm việc, phí 35.000đ" tốt hơn một đoạn văn trộn lẫn giao hàng, đổi trả và thanh toán.
- **Dùng đúng từ của khách.** Khách viết "ship" và "COD" thì câu hỏi cũng viết "ship" và "COD".
- **Ghi con số cụ thể.** Trợ lý không bao giờ tự bịa giá, thời gian giao hay khuyến mãi. Thiếu con số, trợ lý sẽ chuyển nhân viên.
- **Dùng tiêu đề trong văn bản dài.** Một dòng `## Trà sen Tây Hồ` phía trên giúp mỗi đoạn vẫn rõ nghĩa khi đứng riêng.
- **Dạy từ câu trả lời của nhân viên.** Khi nhân viên trả lời một câu AI chưa biết, [Dạy AI](https://hatang.dev/vi/help/ai/teach-from-replies) biến câu trả lời đó thành một cặp hỏi đáp chỉ với một cú bấm.
- **Xoá thông tin cũ.** Khuyến mãi cũ trong kiến thức sẽ thành khuyến mãi cũ trong câu trả lời.
- **Chat thử sau mỗi lần sửa** bằng **Thử chat với AI**, và giữ vài [câu kiểm thử](https://hatang.dev/vi/help/ai/evals) cho những câu hỏi quan trọng nhất.

## Xử lý sự cố

| Hiện tượng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Nguồn website báo **Lỗi** | Website chặn trình thu thập trong `robots.txt`, hoặc không truy cập được địa chỉ | Cho phép trình thu thập, hoặc thêm nội dung dạng văn bản hay tệp |
| "No Q/A pairs found" | Các khối FAQ không đúng dạng `Hỏi:` / `Đáp:` hoặc không cách nhau bằng dòng trống | Sửa định dạng rồi thêm lại nguồn |
| Nguồn Notion báo **Lỗi** | Chưa có token tích hợp, hoặc trang chưa được chia sẻ với integration | Kết nối Notion ở tab **Trợ lý** và chia sẻ trang trong Notion |
| PDF scan báo **Lỗi** | Đã hết ngân sách AI, hoặc bản scan không có chữ đọc được | Nâng giới hạn rồi bấm **Lập chỉ mục lại**, hoặc tải lên bản có chữ |
| AI trả lời bằng thông tin cũ | Website hoặc tài liệu đã đổi sau lần đọc gần nhất | Bấm **Lập chỉ mục lại** |
