Začněte nyníZačněte zdarma

Rekurzivní dělení podle znaků

Mnoho vývojářů používá rekurzivní character splitter k dělení dokumentů podle konkrétního seznamu znaků. Ve výchozím nastavení jsou to odstavce, nové řádky, mezery a prázdné řetězce: ["\n\n", "\n", " ", ""].

Splitter se nejprve pokusí rozdělit text podle odstavců, zkontroluje, zda jsou splněny hodnoty chunk_size a chunk_overlap, a pokud ne, přejde na dělení podle vět, slov a jednotlivých znaků.

Často budeš muset experimentovat s různými hodnotami chunk_size a chunk_overlap, abys našel/a ty, které pro tvoje dokumenty fungují nejlépe.

Toto cvičení je součástí kurzu

Vývoj LLM aplikací s LangChain

Zobrazit kurz

Pokyny k cvičení

  • Importuj třídu RecursiveCharacterTextSplitter z langchain_text_splitters.
  • Vytvoř instanci RecursiveCharacterTextSplitter s parametry separators=["\n", " ", ""], chunk_size=24 a chunk_overlap=10.
  • Použij metodu .split_text() k rozdělení proměnné quote a vypiš výsledné části i jejich délky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 = RecursiveCharacterTextSplitter(
    separators=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the document and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Upravit a spustit kód