IniziaInizia gratis

Divisione ricorsiva per carattere

Molti sviluppatori usano uno splitter ricorsivo per caratteri per dividere i documenti in base a un elenco specifico di caratteri. Per impostazione predefinita, questi caratteri sono paragrafi, a capo, spazi e stringhe vuote: ["\n\n", "\n", " ", ""].

In pratica, lo splitter prova prima a dividere per paragrafi, verifica se i valori di chunk_size e chunk_overlap sono rispettati e, in caso contrario, divide per frasi, poi parole e infine singoli caratteri.

Spesso dovrai sperimentare con diversi valori di chunk_size e chunk_overlap per trovare quelli che funzionano meglio per i tuoi documenti.

Questo esercizio fa parte del corso

Sviluppare applicazioni LLM con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la classe RecursiveCharacterTextSplitter da langchain_text_splitters.
  • Crea un'istanza di RecursiveCharacterTextSplitter con separators=["\n", " ", ""], chunk_size=24 e chunk_overlap=10.
  • Usa il metodo .split_text() per dividere quote e stampa i chunk e le rispettive lunghezze.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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