Kom igångKom igång gratis

Rekursiv uppdelning av dokument

Att dela upp text på ett enda tecken är enkelt och förutsägbart, men resulterar ofta i mindre optimala delar. I den här övningen tillämpar du rekursiv teckenuppdelning på artikeln Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, som du läste in i en tidigare övning.

Kom ihåg att rekursiv teckenuppdelning itererar över en lista med tecken och delar upp texten på vart och ett i tur och ordning, tills delarna ryms inom gränsen för chunk_size.

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

Retrieval Augmented Generation (RAG) med LangChain

Visa kurs

Övningsinstruktioner

  • Definiera en rekursiv LangChain-textdelare som delar upp text rekursivt genom teckenlistan ['\n', '.', ' ', ''], med en chunkstorlek på 75 och en chunköverlagring på 10.
  • Dela upp document med hjälp av den text_splitter du definierade och en lämplig metod.

Interaktiv övning med praktiskt arbete

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

loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()

# Define a text splitter that splits recursively through the character list
text_splitter = ____(
    ____,
    chunk_size=75,  
    chunk_overlap=10  
)

# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])
Redigera och kör kod