LoslegenKostenlos loslegen

Rekursives Aufteilen nach Zeichen

Viele Entwickler verwenden einen rekursiven Zeichensplitter, um Dokumente anhand einer bestimmten Liste von Zeichen aufzuteilen. Bei diesen Zeichen handelt es sich um Absätze, Zeilenumbrüche, Leerzeichen und leere Zeichenketten, standardmäßig: ["\n\n", "\n", " ", ""].

Der Splitter versucht, nach Absätzen aufzuteilen, prüft, ob die Werte chunk_size und chunk_overlap erfüllt sind, und wenn nicht, teilt er nach Sätzen, dann nach Wörtern und schließlich nach einzelnen Zeichen auf.

Oft musst du mit verschiedenen chunk_size und chunk_overlap Werten experimentieren, um die richtigen Werte für deine Dokumente zu finden.

Diese Übung ist Teil des Kurses

Entwicklung von LLM Anwendungen mit LangChain

Kurs anzeigen

Anleitung zur Übung

  • Importiere die entsprechende LangChain-Klasse, um ein Dokument rekursiv nach Zeichen aufzuteilen.
  • Definiere einen rekursiven Zeichensplitter, um die Zeichen "\n", " " und "" (in dieser Reihenfolge) mit einem chunk_size von 24 und chunk_overlap von 10 aufzuspalten.
  • Teile quote und drucke die Chunks und Chunk-Längen aus.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Import the recursive 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 document and print the chunks
docs = ____
print(docs)
print([len(doc) for doc in docs])
Code bearbeiten und ausführen