IniziaInizia gratis

Suddivisione per carattere

Un passaggio chiave nell'implementazione della Retrieval Augmented Generation (RAG) è suddividere i documenti in blocchi da archiviare in un database vettoriale.

In LangChain sono disponibili diverse strategie di suddivisione, alcune con routine più complesse di altre. In questo esercizio implementerai un character text splitter, che suddivide i documenti in base ai caratteri e misura la lunghezza dei blocchi in numero di caratteri.

Ricorda che non esiste una strategia di suddivisione ideale: potresti doverne provare diverse per trovare quella giusta per il tuo caso d’uso.

Questo esercizio fa parte del corso

Sviluppare applicazioni LLM con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la classe CharacterTextSplitter da langchain_text_splitters.
  • Crea un'istanza di CharacterTextSplitter con separator="\n", chunk_size=24 e chunk_overlap=10.
  • Usa il metodo .split_text() per suddividere quote e stampa i blocchi e le rispettive lunghezze.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import the 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 = CharacterTextSplitter(
    separator=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the string and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Modifica ed esegui il codice