Bắt đầu ngayBắt đầu miễn phí

Tách theo token

Tách tài liệu bằng RecursiveCharacterTextSplitter hoặc CharacterTextSplitter khá tiện và đôi khi cho hiệu năng tốt, nhưng có một hạn chế: chúng tách theo ký tự làm đơn vị cơ bản, thay vì token — đơn vị mà mô hình xử lý.

Trong bài tập này, bạn sẽ tách tài liệu bằng một bộ tách văn bản theo token, để bạn có thể kiểm tra số lượng token trong mỗi đoạn và đảm bảo chúng không vượt quá cửa sổ ngữ cảnh của mô hình. Một tài liệu PDF đã được nạp vào biến document.

tiktoken và tất cả các lớp cần thiết đã được nhập sẵn cho bạn.

Bài tập này là một phần của khóa học

Retrieval Augmented Generation (RAG) với LangChain

Xem khóa học

Hướng dẫn bài tập

  • Lấy encoding cho gpt-4o-mini từ tiktoken để bạn có thể kiểm tra số token trong mỗi đoạn.
  • Tạo một bộ tách văn bản để tách dựa trên số token, sử dụng encoding của GPT-4o-Mini.
  • Tách PDF trong document thành các đoạn bằng token_splitter.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Get the encoding for gpt-4o-mini
encoding = ____

# Create a token text splitter
token_splitter = ____(encoding_name=____, chunk_size=100, chunk_overlap=10)

# Split the PDF into chunks
chunks = ____

for i, chunk in enumerate(chunks[:3]):
    print(f"Chunk {i+1}:\nNo. tokens: {len(encoding.encode(chunk.page_content))}\n{chunk}\n")
Chỉnh sửa và Chạy Mã