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
Retrieval Augmented Generation (RAG) mit LangChain
Anleitung zur Übung
- Hole dir aus
tiktokendas Encoding fürgpt-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-
encodingsplittet. - Splitte das in
documentgespeicherte PDF mittoken_splitterin Chunks.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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")