Rozdělování podle tokenů
Rozdělování dokumentů pomocí RecursiveCharacterTextSplitter nebo CharacterTextSplitter je pohodlné a v některých případech dává dobré výsledky — má ale jednu nevýhodu: pracuje se znaky jako základní jednotkou, ne s tokeny, které model skutečně zpracovává.
V tomto cvičení rozdělíš dokumenty pomocí token text splitteru, takže si budeš moct ověřit počet tokenů v každém úseku a zajistit, že nepřekročí kontextové okno modelu. PDF dokument je načtený jako document.
tiktoken a všechny potřebné třídy jsou již naimportované.
Toto cvičení je součástí kurzu
Retrieval Augmented Generation (RAG) with LangChain
Pokyny k cvičení
- Načti kódování pro
gpt-4o-miniztiktoken, abys mohl/a zkontrolovat počet tokenů v každém úseku. - Vytvoř text splitter, který rozděluje text podle počtu tokenů, s využitím
encodingpro GPT-4o-Mini. - Rozděl PDF uložené v proměnné
documentna úseky pomocítoken_splitter.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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")