División por caracteres
Un proceso clave en la implementación de la generación aumentada por recuperación (RAG) es dividir los documentos en fragmentos para almacenarlos en una base de datos vectorial.
Hay varias estrategias de división disponibles en LangChain, algunas con rutinas más complejas que otras. En este ejercicio, implementarás un divisor de texto por caracteres, que divide los documentos en función de los caracteres y mide la longitud de los fragmentos por el número de caracteres.
Recuerda que no existe una estrategia de división ideal, es posible que tengas que probar varias hasta encontrar la más adecuada para tu caso concreto.
Este ejercicio forma parte del curso
Desarrollo de aplicaciones LLM con LangChain
Instrucciones del ejercicio
- Importa la clase LangChain adecuada para dividir un documento por caracteres.
- Define un separador de caracteres que divida en
"\n"
con unchunk_size
de24
ychunk_overlap
de10
. - Divide
quote
e imprime los fragmentos y sus longitudes.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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])