Thực hànhTrung cấp

Chia đoạn tài liệu cho RAG mà không làm mất ý

Chọn ranh giới chunk theo cấu trúc và câu hỏi, xử lý phần chồng lấn, rồi kiểm tra xem điều kiện và ngoại lệ có đi cùng nhau không.

Trong bài viết này

Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.

Một hướng dẫn mượn thiết bị ghi: “Sinh viên được mượn máy ảnh trong ba ngày.” Dòng kế tiếp bổ sung: “Riêng bộ ống kính chuyên dụng cần giảng viên xác nhận.” Nếu bộ chia đoạn tách hai câu, trợ lý có thể tìm đúng quy định chung nhưng bỏ mất ngoại lệ. Lỗi xuất hiện trước khi mô hình viết câu trả lời.

Chunk là đơn vị tìm kiếm có ngữ cảnh

Chunk là phần tài liệu được lưu và truy xuất như một đơn vị. Nó không nhất thiết bằng một đoạn văn, một trang hoặc một số ký tự cố định. Một mục ngắn gồm tiêu đề, quy định và ngoại lệ thường đáng được giữ chung vì chúng trả lời cùng một nhóm câu hỏi.

Hướng dẫn chia đoạn của Azure AI Search phân biệt cách chia theo kích thước, cấu trúc và ngữ nghĩa; tài liệu cũng nêu vai trò của phần chồng lấn trong việc giữ ngữ cảnh. Đây là các lựa chọn thiết kế, không có một kích thước tối ưu cho mọi kho dữ liệu.

Với tài liệu mượn thiết bị, bản ghi thử nghiệm có thể là:

document_id: thu-vien-thiet-bi
section: Mượn máy ảnh
chunk_id: may-anh-dieu-kien
text: [tiêu đề] + [thời hạn] + [ngoại lệ ống kính]
source_page: 4

Metadata giúp mở lại đúng trang, nhưng nội dung cần thiết vẫn phải có trong phần văn bản mà mô hình nhận được.

Bắt đầu từ cấu trúc rồi đặt giới hạn

Một quy trình thực hành là nhận diện tiêu đề, gom nội dung cùng mục, kiểm tra độ dài bằng tokenizer của mô hình, rồi chia tiếp tại ranh giới câu nếu mục quá lớn. Khi tách, thêm đường dẫn tiêu đề như “Thiết bị / Máy ảnh / Điều kiện mượn” vào mỗi phần.

Không nên đo token tiếng Việt bằng cách lấy số ký tự chia cho một hằng số rồi coi đó là kết quả chính xác. Tokenizer có thể xử lý từ có dấu, mã và số theo những cách khác nhau. Đếm trực tiếp giúp tránh cắt cụt đầu vào ngoài dự kiến.

Nhìn để hiểuTừ câu hỏi đến câu trả lời có căn cứ

RAG tìm các đoạn tài liệu liên quan, đưa chúng vào ngữ cảnh rồi tạo câu trả lời. Người đọc cần kiểm tra nguồn có thực sự hỗ trợ câu trả lời hay không.

Tìm tài liệu trước khi tạo câu trả lờiMột câu hỏi về ngày đầu đi làm dẫn tới tìm kiếm tài liệu, trích đoạn liên quan, đưa đoạn đó vào ngữ cảnh rồi tạo câu trả lời có nguồn. Các tài liệu là ví dụ; trích dẫn cần được kiểm tra và RAG không tự bảo đảm câu trả lời đúng.CÂU HỎINgày đầu cần gì?Sổ tayNGỮ CẢNH ĐƯA VÀO MÔ HÌNH[1] Mang giấy tờ cần thiếtCÂU TRẢ LỜIMang giấy tờtheo sổ tay [1].Tìm đúng đoạn → trả lời → kiểm tra nguồn.

↔ Vuốt ngang để xem toàn bộ sơ đồ.

  1. 01 / Nhận câu hỏi

    Hệ thống nhận câu hỏi cùng phạm vi tài liệu mà người dùng được phép đọc.

  2. 02 / Tìm tài liệu

    Bộ tìm kiếm lấy các đoạn có liên quan trong kho tài liệu được phép truy cập.

  3. 03 / Thêm ngữ cảnh

    Câu hỏi, các đoạn tìm được và thông tin nguồn được đưa cho mô hình.

  4. 04 / Trả lời kèm nguồn

    Mô hình tạo câu trả lời có căn cứ để đối chiếu. Nếu chưa đủ thông tin, hệ thống cần nói rõ.

Minh họa một luồng RAG cơ bản. Tìm thấy tài liệu không bảo đảm nội dung còn hiệu lực hoặc mô hình sử dụng đúng.

Hình mô tả tìm kiếm và tạo câu trả lời. Công đoạn chia đoạn diễn ra khi chuẩn bị kho dữ liệu, trước lượt hỏi; hình không thể hiện đầy đủ công đoạn đó.

Chồng lấn giúp nối ý nhưng cũng tạo bản sao

Chồng lấn nghĩa là một phần cuối của chunk trước xuất hiện lại ở chunk sau. Cách này hữu ích khi một câu giải thích dựa vào câu vừa đứng trước. Tuy nhiên, tăng phần chồng lấn cũng tăng số vector và khả năng nhiều kết quả đầu cùng lặp một đoạn.

Giả sử ngân sách ngữ cảnh chỉ chứa bốn chunk. Nếu cả bốn đều nhắc thời hạn ba ngày, ngoại lệ về ống kính vẫn có thể vắng mặt. Hãy xem kết quả sau khi gộp đoạn trùng, không chỉ xem điểm tương đồng của từng chunk.

Chunk lớn giữ nhiều điều kiện hơn nhưng có thể pha nhiều chủ đề. Chunk nhỏ dễ khớp câu hỏi hẹp nhưng mất ngữ cảnh. Một phương án thử là tìm bằng đoạn nhỏ, sau đó lấy thêm mục cha liên quan. Bạn cần tính cả chi phí ngữ cảnh bổ sung khi so sánh.

Bài tập: so sánh hai cách cắt

Chọn một hướng dẫn giả định gồm thời hạn, đối tượng, ngoại lệ và cách gia hạn. Tạo phiên bản A chia theo độ dài cố định, phiên bản B chia theo mục. Giữ cùng mô hình embedding và cùng số kết quả để phép so sánh có ý nghĩa.

Viết sáu câu hỏi, trong đó ít nhất hai câu hỏi về ngoại lệ. Với mỗi câu, đánh dấu liệu các chunk lấy về có chứa đủ căn cứ hay không. Đồng thời đếm nội dung trùng và tổng token đưa vào mô hình.

Tiêu chí đạt là mọi câu trả lời về ngoại lệ đều có đoạn căn cứ kèm quy định liên quan, không chunk nào bị cắt giữa một mã thiết bị, và mỗi chunk truy được về tài liệu gốc. Chỉ số này cụ thể hơn việc nhận xét “đoạn đọc có vẻ tự nhiên”.

Bạn muốn hiểu điều gì?

Khám phá tất cả bài viết esc để đóng