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 exercício faz parte do curso
Desenvolvimento de aplicativos de LLM com LangChain
Instruções do exercício
- Importe a classe certa do LangChain para dividir um documento por caracteres.
- Defina um divisor de caracteres que divida em
"\n"
com umchunk_size
de24
echunk_overlap
de10
. - Divida
quote
e imprima os trechos e os comprimentos dos trechos.
Exercício interativo prático
Experimente este exercício 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 = ____
# Split the string and print the chunks
docs = ____
print(docs)
print([len(doc) for doc in docs])