Máy tính chunk RAG

Tài liệu 10.000 token cắt thành chunk 512 token với độ chồng lấp 64 token cho 23 chunk và 11.408 token embedding, trong đó 12,3% là phần lặp. Số chunk = 1 + làm tròn lên((token tài liệu - kích thước chunk) ÷ (kích thước chunk - chồng lấp)); tổng = token tài liệu + (số chunk - 1) × chồng lấp.

Công cụ có giúp được bạn không?
Ưu tiên chúng tôi trên Google

Cách dùng

  1. Nhập độ dài tài liệu theo token hoặc ký tự, kích thước chunk và độ chồng lấp. Muốn biết chi phí, thêm giá embedding trên một triệu token.
  2. Xem số chunk, tổng số token sẽ embed và bao nhiêu token bị lặp vì chồng lấp.
  3. Để thấy các điểm cắt, hãy dán văn bản thật. Văn bản được tách token ngay trong trình duyệt và các chunk đầu tiên hiện ra với phần chồng lấp được tô sáng.

Cách tính

Bước giữa các điểm bắt đầu chunk bằng kích thước chunk trừ độ chồng lấp. Nếu tài liệu vừa một chunk thì kết quả là 1, nếu không thì số chunk = 1 + làm tròn lên((token tài liệu - kích thước chunk) ÷ bước).

Mỗi chunk sau chunk đầu lặp lại các token chồng lấp cuối của chunk trước, nên tổng token embed = token tài liệu + (số chunk - 1) × chồng lấp. Tỷ lệ lặp là (số chunk - 1) × chồng lấp ÷ tổng đó. Chunk cuối là phần còn lại nên thường ngắn hơn.

Ký tự được quy đổi theo 4 ký tự mỗi token, quy tắc ước lượng OpenAI nêu cho văn bản tiếng Anh. Tiếng Việt, mã nguồn và số dùng nhiều token hơn cho mỗi ký tự, vì vậy hãy dán văn bản để có số chính xác.

Văn bản dán vào được tách token trong trình duyệt bằng bảng mã hóa cặp byte thật (js-tiktoken). Phần xem trước cắt danh sách token thành các cửa sổ giống công thức rồi giải mã từng cửa sổ. Cửa sổ cố định không xét ranh giới câu và đoạn; bộ chia có xét ranh giới sẽ tạo chunk không đều và số lượng khác.

Chi phí = token embedding ÷ 1.000.000 × giá trên một triệu token bạn nhập. Lấy giá từ trang bảng giá của nhà cung cấp embedding.

Câu hỏi thường gặp

Nên chọn kích thước chunk và độ chồng lấp bao nhiêu?

Không có giá trị chung cho mọi trường hợp. Phổ biến là vài trăm đến khoảng một nghìn token với độ chồng lấp 10 đến 20 phần trăm. Chunk nhỏ khớp chính xác hơn nhưng phải lưu nhiều vector hơn; chunk lớn giữ nhiều ngữ cảnh hơn nhưng có thể làm kết quả khớp mờ đi. Hãy thử với câu hỏi của chính bạn.

Chồng lấp có làm tăng hóa đơn embedding không?

Có, phần chồng lấp được embed hai lần. Với tài liệu 10.000 token, chunk 512 và chồng lấp 64, có 1.408 trong 11.408 token gửi đi (12,3%) là phần lặp, tức là bạn embed nhiều hơn tài liệu 14,1%.

Số chunk có chính xác không?

Chính xác với quy tắc đang hiển thị: cửa sổ token cố định. Thư viện cắt theo câu, đoạn hay tiêu đề tạo chunk không đều và cho số khác. Việc quy đổi ký tự sang token chỉ là ước lượng.

Nên chọn tokenizer nào?

Tokenizer mà mô hình embedding của bạn dùng. Các mô hình text-embedding-3 của OpenAI dùng cl100k_base. Mô hình của nhà cung cấp khác có tokenizer riêng không có ở đây, nên số này chỉ là tham khảo sát thực tế.

Văn bản của tôi có bị gửi đi đâu không?

Không. Việc đếm và xem trước chạy trong trình duyệt của bạn. Bảng tokenizer được tải từ trang này một lần, văn bản của bạn không bao giờ được tải lên.