Dividir documentos de forma recursiva
Dividir usando un único carácter es simple y predecible, pero a menudo genera fragmentos subóptimos. En este ejercicio, aplicarás una división recursiva por caracteres al artículo Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks que cargaste en un ejercicio anterior.
Recuerda que la división recursiva por caracteres itera sobre una lista de caracteres, dividiendo por cada uno para comprobar si se pueden crear fragmentos por debajo del límite de chunk_size.
Este ejercicio forma parte del curso
Retrieval Augmented Generation (RAG) con LangChain
Instrucciones del ejercicio
- Define un divisor de texto recursivo de caracteres de LangChain para dividir de forma recursiva usando la lista de caracteres
['\n', '.', ' ', '']con un tamaño de fragmento de75y un solapamiento de10. - Divide
documentusando eltext_splitterque definiste y el método adecuado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()
# Define a text splitter that splits recursively through the character list
text_splitter = ____(
____,
chunk_size=75,
chunk_overlap=10
)
# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])