MulaiMulai sekarang secara gratis

Pemecahan berdasarkan token

Memecah dokumen menggunakan RecursiveCharacterTextSplitter atau CharacterTextSplitter memang praktis dan dalam beberapa kasus dapat memberikan kinerja yang baik, tetapi ada satu kelemahan: keduanya memecah berdasarkan karakter sebagai unit dasar, bukan token yang sebenarnya diproses oleh model.

Pada latihan ini, Anda akan memecah dokumen menggunakan pemisah teks berbasis token, sehingga Anda dapat memeriksa jumlah token di setiap potongan untuk memastikan jumlahnya tidak melebihi jendela konteks model. Sebuah dokumen PDF telah dimuat sebagai document.

tiktoken dan semua kelas yang diperlukan telah diimpor untuk Anda.

Latihan ini adalah bagian dari kursus

Retrieval Augmented Generation (RAG) dengan LangChain

Lihat Kursus

Petunjuk latihan

  • Dapatkan encoding untuk gpt-4o-mini dari tiktoken sehingga Anda dapat memeriksa jumlah token di setiap potongan.
  • Buat pemisah teks untuk membagi berdasarkan jumlah token menggunakan encoding GPT-4o-Mini.
  • Pecah PDF yang tersimpan dalam document menjadi potongan-potongan menggunakan token_splitter.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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")
Edit dan Jalankan Kode