Dokumente rekursiv splitten
Das Splitten nach einem einzelnen Zeichen ist einfach und vorhersehbar, führt aber oft zu suboptimalen Abschnitten. In dieser Übung wendest du rekursives Zeichensplitting auf das Paper Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks an, das du in einer früheren Übung geladen hast.
Denk daran: Beim rekursiven Zeichensplitting wird über eine Liste von Zeichen iteriert und nacheinander an jedem Zeichen gesplittet, um zu prüfen, ob Abschnitte unterhalb der chunk_size-Grenze erstellt werden können.
Diese Übung ist Teil des Kurses
Retrieval Augmented Generation (RAG) mit LangChain
Anleitung zur Übung
- Definiere einen rekursiven LangChain-Textsplitter, der rekursiv über die Zeichenliste
['\n', '.', ' ', '']splittet, mit einer Abschnittsgröße (chunk size) von75und einer Überlappung (chunk overlap) von10. - Splitte
documentmit dem von dir definiertentext_splitterüber eine passende Methode.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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])