IniziaInizia gratis

Suddividere i documenti in modo ricorsivo

Suddividere in base a un singolo carattere è semplice e prevedibile, ma spesso produce blocchi subottimali. In questo esercizio applicherai una suddivisione ricorsiva per caratteri all'articolo Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks che hai caricato in un esercizio precedente.

Ricorda che la suddivisione ricorsiva per caratteri scorre un elenco di caratteri e prova a suddividere via via su ciascuno per verificare se è possibile creare blocchi sotto il limite di chunk_size.

Questo esercizio fa parte del corso

Retrieval Augmented Generation (RAG) con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci uno splitter ricorsivo di testo per caratteri di LangChain che suddivida in modo ricorsivo usando l'elenco di caratteri ['\n', '.', ' ', ''] con una dimensione dei blocchi (chunk size) pari a 75 e una sovrapposizione (chunk overlap) di 10.
  • Suddividi document usando il text_splitter che hai definito e un metodo appropriato.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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])
Modifica ed esegui il codice