Aufteilung nach Zeichen
Ein wichtiger Prozess bei der Implementierung der Retrieval Augmented Generation (RAG) ist die Aufteilung der Dokumente in Teile (Chunks) für die Speicherung in einer Vektordatenbank.
In LangChain gibt es mehrere Splitting-Strategien, einige mit komplexeren Routinen als andere. In dieser Übung implementierst du einen Zeichentext-Splitter, der Dokumente auf der Grundlage von Zeichen aufteilt und die Chunk-Länge anhand der Anzahl der Zeichen misst.
Denke daran, dass es keine ideale Aufteilungsstrategie gibt. Du musst vielleicht mit mehreren Strategien experimentieren, um die richtige für deinen Anwendungsfall zu finden.
Diese Übung ist Teil des Kurses
Entwicklung von LLM Anwendungen mit LangChain
Anleitung zur Übung
- Importiere die entsprechende LangChain-Klasse, um ein Dokument nach Zeichen aufzuteilen.
- Definiere einen Zeichensplitter, der auf
"\n"
mit einemchunk_size
von24
und einemchunk_overlap
von10
splittet. - Teile
quote
und drucke die Chunks und Chunk-Längen aus.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Import the character splitter
from langchain_text_splitters import ____
quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10
# Create an instance of the splitter class
splitter = ____
# Split the string and print the chunks
docs = ____
print(docs)
print([len(doc) for doc in docs])