Aan de slagBegin gratis

Splitsen op tokens

Documenten splitsen met RecursiveCharacterTextSplitter of CharacterTextSplitter is handig en kan in sommige gevallen goede prestaties geven, maar er is één nadeel: ze splitsen met karakters als basiseenheid, in plaats van tokens, die door het model worden verwerkt.

In deze oefening ga je documenten splitsen met een token-tekstsplitter, zodat je het aantal tokens in elk fragment kunt controleren en zeker weet dat ze niet boven het contextvenster van het model uitkomen. Een PDF-document is geladen als document.

tiktoken en alle benodigde klassen zijn alvast voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Retrieval Augmented Generation (RAG) met LangChain

Bekijk cursus

Oefeninstructies

  • Haal de encoding voor gpt-4o-mini op uit tiktoken, zodat je het aantal tokens per fragment kunt controleren.
  • Maak een tekstsplitter die splitst op basis van het aantal tokens met de GPT-4o-Mini-encoding.
  • Splits de PDF, opgeslagen in document, in fragmenten met token_splitter.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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")
Code bewerken en uitvoeren