Kom igångKom igång gratis

Rekursiv uppdelning per tecken

Många utvecklare använder en rekursiv teckensplittare för att dela upp dokument baserat på en specifik lista med tecken. Som standard är dessa tecken stycken, radbrytningar, mellanslag och tomma strängar: ["\n\n", "\n", " ", ""].

Splittaren försöker i första hand dela upp texten vid stycken, kontrollerar sedan om värdena för chunk_size och chunk_overlap uppfylls, och om inte, delas texten upp vid meningar, sedan ord och slutligen enskilda tecken.

Du behöver ofta experimentera med olika värden för chunk_size och chunk_overlap för att hitta de som fungerar bäst för dina dokument.

Den här övningen är en del av kursen

Utveckla LLM-applikationer med LangChain

Visa kurs

Övningsinstruktioner

  • Importera klassen RecursiveCharacterTextSplitter från langchain_text_splitters.
  • Skapa en instans av RecursiveCharacterTextSplitter med separators=["\n", " ", ""], chunk_size=24 och chunk_overlap=10.
  • Använd metoden .split_text() för att dela upp quote, och skriv sedan ut delarna och deras längder.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod