Divisão por caractere
Um processo importante na implementação da Retrieval Augmented Generation (RAG) é dividir os documentos em trechos para armazenamento em um banco de dados vetorial.
Existem várias estratégias de divisão disponíveis no LangChain, algumas com rotinas mais complexas do que outras. Neste exercício, você vai implementar um divisor de texto por caracteres, que divide documentos com base nos caracteres e mede o comprimento dos trechos pelo número de caracteres.
Lembre-se de que não existe uma estratégia de divisão ideal. Talvez você precise experimentar algumas para encontrar a mais adequada para o seu caso.
Este exercicio faz parte do curso
Desenvolvimento de aplicativos de LLM com LangChain
Instruções do exercicio
- Importe a classe
CharacterTextSplitterdelangchain_text_splitters. - Crie uma instância do
CharacterTextSplittercomseparator="\n",chunk_size=24echunk_overlap=10. - Use o método `
.split_text()para dividir oquote` e imprimir os pedaços e os comprimentos dos pedaços.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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])