LoslegenKostenlos loslegen

Rekursives Aufteilen nach Zeichen

Viele Entwickler benutzen einen rekursiven Zeichentrenner, um Dokumente anhand einer bestimmten Liste von Zeichen zu trennen. Standardmäßig sind das Absätze, Zeilenumbrüche, Leerzeichen und leere Zeichenfolgen: ["\n\n", "\n", " ", ""].

Der Splitter versucht, den Text nach Absätzen zu teilen, prüft, ob die Werte für chunk_size und chunk_overlap erfüllt sind. Wenn nicht teilt er den Text nach Sätzen, dann nach Wörtern und schließlich nach einzelnen Zeichen.

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

Diese Übung ist Teil des Kurses

Entwickeln von LLM-Anwendungen mit LangChain

Kurs anzeigen

Anleitung zur Übung

  • Importiere die passende LangChain-Klasse, um ein Dokument rekursiv nach Zeichen aufzuteilen.
  • Definiere einen rekursiven Zeichentrenner, um die Zeichen "\n", " " und "" (in dieser Reihenfolge) zu trennen, mit einerchunk_size von 24 und einem chunk_overlap von 10.
  • Teile das Zitat (quote) auf und lasse die Chunks und deren Länge ausgeben.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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