Chia đoạn và mục
Cách tài liệu được cắt thành đoạn, vì sao kết quả tìm kiếm trả về cả mục, và màn hình tài liệu đặt tệp gốc cạnh kết quả đọc thế nào.
Tìm kiếm chấm điểm các đoạnĐoạn (passage)PassageMột phần ngắn của tài liệu, cắt theo tiêu đề và lưu kèm embedding. Tìm kiếm trả về đoạn, không phải cả tệp.Mở trong Thuật ngữ nhỏ (chunk), nhưng mô hình đọc cả mục bao quanh chỗ khớp. Màn hình tài liệu cho bạn đối chiếu cả hai với tệp gốc.
Quy tắc chính
- Cấu trúc quyết định ranh giới; kích thước quyết định chỗ cấu trúc hết tác dụng.
- Một đoạn không bao giờ trải qua các mục ở những chỗ khác nhau.
- Mỗi đoạn lặp lại tiêu đề và tên cột của nó.
- Mỗi mục một kết quả, dù bao nhiêu đoạn trong đó khớp.
- Trích dẫn trích đoạn, không phải cả mục.
Chia đoạn
| Quy tắc | Hành vi |
|---|---|
| Đóng gói | Các mục thuộc về nhau được gom đến khi đầy cửa sổ; một đoạn không trải qua các mục ở những chỗ khác nhau |
| Tiêu đề | Mỗi đoạn lặp lại tiêu đề, tên sheet và tên cột phía trên, cắt bớt nếu chúng chiếm hết cửa sổ |
| Bảng | Bảng là một mục riêng, dù tệp tự khai báo hay mô hình chép từ trang. Mỗi đoạn cắt từ bảng bắt đầu bằng tên cột, nên đoạn bắt đầu ở dòng 37 vẫn nói rõ mỗi con số là gì. Tên quá dài để lặp được cắt ở ranh giới cột — tiêu đề lấp đầy cửa sổ sẽ không còn chỗ cho dòng và cắt một trang thành hàng trăm đoạn gần như toàn tiêu đề |
| Chồng lấn | Chỉ trong mục buộc phải tách, bắt đầu ở ranh giới câu |
| Vị trí | Theo cách nói của định dạng: trang hoặc khoảng trang, sheet và dòng, slide, hoặc đường dẫn tiêu đề |
Tiêu đề đến từ đâu
- Markdown tự nêu; Word qua kiểu tiêu đề; slide qua tiêu đề slide; PDF qua bookmark.
- Tiêu đề chỉ giữ phần chữ. Dấu in đậm hay liên kết quanh nó nếu giữ lại sẽ in ra trong vị trí và ở đầu mọi đoạn của mục đó.
- PDF không có bookmark được đọc theo cỡ chữ: tiêu đề là dòng ngắn, cỡ lớn hơn rõ rệt so với thân bài, và cỡ đó chỉ chiếm một phần nhỏ tài liệu. Không cỡ nào đủ điều kiện thì không suy ra gì, và các đoạn không mang mục.
Mục
Mỗi cụm mục mà bộ chia đoạn gom lại được lưu thành một dòng, và mọi đoạn cắt từ đó trỏ về nó. Chỉ mục vector chấm điểm đoạn, đủ nhỏ để nói về một việc; lượt tìm kiếm đưa cho mô hình cả mục bao quanh, nên câu hỏi rơi vào giữa một quy trình sẽ đến kèm các bước hai bên.
- Trích dẫn trích đoạn. Trích nguyên một trang văn bản sẽ không cho biết dòng nào khớp.
- Mỗi mục một kết quả. Một quy trình khớp ở mười bảy đoạn vẫn là một chỗ trong kho, đến như một kết quả nêu mọi đoạn khớp. Hai truy vấn cùng chạm đến nó chỉ trả lời một lần.
- Ngữ cảnh tính theo mục. Một mục chỉ tính một lần dù bao nhiêu đoạn khớp, và mục dài hơn 4.000 ký tự bị cắt bớt. Đoạn không có mục — mọi câu trong bộ nhớ, và mọi tài liệu có định dạng không khai báo cấu trúc — tính theo chính văn bản của nó.
Mô hình embedding và cửa sổ
Mô hình embedding là mô hình mà quản trị viên đã đưa vào danh mục là mô hình tạo vector, qua route mà gateway phục vụ. Cửa sổ bị giới hạn bởi giới hạn đầu vào của mô hình: Cohere trên Bedrock từ chối quá 2.000 ký tự; Titan cho phép nhiều hơn hẳn. Bản triển khai cấu hình vượt giới hạn sẽ bị hạ xuống, và client embedding kiểm tra giới hạn trước khi gửi. Mỗi lần gọi embedding đều nói văn bản đang được lưu hay dùng để tìm, vì mô hình đa ngôn ngữ chấm điểm tốt hơn khi biết mình ở phía nào — portal, runtime của agent và bộ kiểm thử dành cho nhà phát triển đều nói điều này.
Đoạn trên màn hình tài liệu
Màn hình tài liệu liệt kê văn bản đã embedding của từng đoạn kèm vị trí, theo thứ tự của bộ chia đoạn, bỏ các đoạn đã thu hồi. Ai được quy tắc phạm vi hiển thị của kho tri thức cho tìm thì đọc được; nếu bị từ chối, màn hình báo tài liệu không tồn tại.
Nạp lại sẽ thu hồi đoạn chứ không xoá, và đoạn đã thu hồi vẫn đọc được theo id, nên các mục nó trỏ tới cũng còn. Vì vậy lần nạp lại ghi một thế hệ mục mới cạnh thế hệ cũ; cả hai bị xoá khi tài liệu bị xoá hẳn. Đổi cách chia đoạn là một lệnh xếp hàng lại mọi tài liệu của tổ chức; bản chép trang đã lưu được dùng lại, nên lần chạy chỉ tốn một lượt embedding và không gửi trang nào cho mô hình.
Màn hình xem lại tài liệu
Màn hình tài liệu mở ra với tệp đúng như khi tải lên và, bên cạnh, chữ mà portal đọc được từ nó, các đoạn nằm ở tab thứ hai. Cặp này để so sánh: trang do mô hình đọc có thể chứa tên công ty không hề in trên trang, trôi chảy đến mức không cơ chế tự động nào bắt được — chỉ có trang gốc mở cạnh chữ mới bắt được.
- Bộ đọc của từng phần. Mỗi phần ghi bộ đọc đã tạo ra nó — lớp văn bản của tệp, OCR trên ảnh trang, hoặc mô hình đọc ảnh — và mang độ tin cậy OCR dù bộ đọc nào thắng.
- Markdown được hiển thị. Kết quả đọc của mô hình và tệp Markdown tải lên hiển thị thành tiêu đề và bảng qua bộ hiển thị của câu trả lời chat, vốn dựng phần tử thay vì mã HTML và từ chối liên kết có scheme có thể mang script. Tệp Markdown đến bộ hiển thị dựa vào loại và tên tệp; không gửi gì cho mô hình để định dạng.
- Văn bản thuần giữ ngắt dòng. OCR và các lớp văn bản khác giữ dạng văn bản thuần, vì ngắt dòng của bản scan là các hàng của trang; Markdown sẽ nối chúng lại và coi dòng bắt đầu bằng dấu gạch đứng lạc là bảng. Ký tự nguyên văn chỉ cách một cú nhấp.
- Trang không có bản chép. Trang đã render có bản chép riêng; trang do lớp văn bản phục vụ không lưu bản chép, nên màn hình hiển thị các đoạn của nó ghép lại theo thứ tự.
Nhảy từ một trích dẫn
Kết quả đọc cũng trả lời một đoạn nằm ở đâu. Khi nêu một đoạn, nó trả về các phần như trên cùng danh sách vị trí: mỗi vị trí nêu một phần theo thứ tự, khoảng ký tự của mục chứa đoạn, và — trên đúng phần chứa đoạn — khoảng ký tự của chính đoạn. Mục trải qua hai trang cho hai vị trí, chỉ một vị trí chứa đoạn. Đoạn mà phiên bản hiện tại không còn giữ thì không có vị trí nào.
Xem tệp
Byte đi qua route riêng của tài liệu, vốn kiểm tra kho tri thức, nên thành viên được đọc kho có thể đọc tệp dù không phải người tải lên. PDF và ảnh được phục vụ đúng loại; mọi thứ khác là ký tự được phục vụ dạng văn bản thuần, nên bản dump SQL hay tệp YAML đọc được ngay trong trình duyệt. Đổi loại cũng giúp trang tải lên an toàn: một origin phục vụ cả ứng dụng lẫn API, nên mã HTML giữ nguyên loại sẽ chạy với quyền của portal. Bố cục mà khung xem không hiển thị được — tệp Word hay bảng tính — sẽ được tải xuống.
Bên dưới
Chi tiết route đọc
Phần ghép từ các đoạn biết các khoảng ký tự trong lúc ghép; bản chép trang thì được tìm đoạn bên trong. Không chuỗi lưu trữ nào khớp nguyên văn bản chép — văn bản lưu mở đầu bằng đường dẫn tiêu đề, văn bản chỉ mục mở đầu bằng tiêu đề tài liệu — nhưng cả hai kết thúc bằng chính đoạn, và đó là thứ được tìm. Kho tệp chỉ trả lời người tải lên và người có transcript.read; route tài liệu thì kiểm tra kho tri thức. download=true tải xuống bất kỳ tệp nào. Tài liệu đã bị huỷ bản lưu trả về 409.