Rekursiv uppdelning av dokument
Att dela upp text på ett enda tecken är enkelt och förutsägbart, men resulterar ofta i mindre optimala delar. I den här övningen tillämpar du rekursiv teckenuppdelning på artikeln Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, som du läste in i en tidigare övning.
Kom ihåg att rekursiv teckenuppdelning itererar över en lista med tecken och delar upp texten på vart och ett i tur och ordning, tills delarna ryms inom gränsen för chunk_size.
Den här övningen är en del av kursen
Retrieval Augmented Generation (RAG) med LangChain
Övningsinstruktioner
- Definiera en rekursiv LangChain-textdelare som delar upp text rekursivt genom teckenlistan
['\n', '.', ' ', ''], med en chunkstorlek på75och en chunköverlagring på10. - Dela upp
documentmed hjälp av dentext_splitterdu definierade och en lämplig metod.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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])