Documenten recursief splitsen
Splitsen op één teken is eenvoudig en voorspelbaar, maar levert vaak suboptimale stukken op. In deze oefening pas je recursief tekensplitsen toe op het artikel Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks dat je in een eerdere oefening hebt geladen.
Onthoud dat recursief tekensplitsen over een lijst van tekens itereert en telkens op elk teken splitst om te zien of er stukken kunnen worden gemaakt die onder de chunk_size-limiet blijven.
Deze oefening maakt deel uit van de cursus
Retrieval Augmented Generation (RAG) met LangChain
Oefeninstructies
- Definieer een recursieve LangChain-tekstspliter die recursief splitst volgens de tekenlijst
['\n', '.', ' ', '']met een chunkgrootte van75en een overlap van10. - Splits
documentmet de door jou gedefinieerdetext_splitteren een geschikte methode.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()
# Define a text splitter that splits recursively through the character list
text_splitter = ____(
____,
chunk_size=75,
chunk_overlap=10
)
# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])