LoslegenKostenlos starten

Nach Tokens splitten

Dokumente mit RecursiveCharacterTextSplitter oder CharacterTextSplitter zu splitten, ist bequem und liefert in manchen Fällen gute Ergebnisse. Es hat jedoch einen Nachteil: Es wird anhand von Zeichen als Basiseinheiten gesplittet, nicht nach Tokens, die vom Modell verarbeitet werden.

In dieser Übung splittest du Dokumente mit einem Token-Textsplitter. So kannst du die Anzahl der Tokens in jedem Chunk prüfen und sicherstellen, dass sie das Kontextfenster des Modells nicht überschreiten. Ein PDF-Dokument wurde als document geladen.

tiktoken und alle erforderlichen Klassen wurden bereits für dich importiert.

Diese Übung ist Teil des Kurses

<Kurs>Retrieval Augmented Generation (RAG) mit LangChain</Kurs>
Kurs ansehen

Übungsanweisungen

  • Hole dir aus tiktoken das Encoding für gpt-4o-mini, damit du die Anzahl der Tokens pro Chunk prüfen kannst.
  • Erstelle einen Textsplitter, der anhand der Anzahl der Tokens mit dem GPT-4o-Mini-encoding splittet.
  • Splitte das in document gespeicherte PDF mit token_splitter in Chunks.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 bearbeiten und ausführen