Împărțirea după tokeni
Împărțirea documentelor cu RecursiveCharacterTextSplitter sau CharacterTextSplitter este convenabilă și poate oferi rezultate bune în anumite situații, însă are un dezavantaj: împarte textul folosind caractere ca unitate de bază, nu tokeni – unitățile procesate efectiv de model.
În acest exercițiu, vei împărți documente folosind un splitter bazat pe tokeni, astfel încât să poți verifica numărul de tokeni din fiecare fragment și să te asiguri că nu depășesc fereastra de context a modelului. Un document PDF a fost încărcat în variabila document.
tiktoken și toate clasele necesare au fost importate pentru tine.
Acest exercițiu face parte din cursul
Retrieval Augmented Generation (RAG) cu LangChain
Instrucțiuni pentru exercițiu
- Obține codificarea pentru
gpt-4o-minidintiktoken, astfel încât să poți verifica numărul de tokeni din fiecare fragment. - Creează un splitter de text care să împartă documentul pe baza numărului de tokeni, folosind
encoding-ul pentru GPT-4o-Mini. - Împarte documentul PDF, stocat în
document, în fragmente folosindtoken_splitter.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")