Découper des documents de manière récursive
Découper selon un seul caractère est simple et prévisible, mais produit souvent des segments sous-optimaux. Dans cet exercice, vous allez appliquer un découpage récursif par caractères au papier Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks que vous avez chargé dans un exercice précédent.
Rappelez-vous que le découpage récursif par caractères parcourt une liste de caractères, en découpant successivement sur chacun pour vérifier si des segments peuvent être créés en dessous de la limite chunk_size.
Cet exercice fait partie du cours
Retrieval Augmented Generation (RAG) avec LangChain
Instructions
- Définissez un séparateur de texte récursif par caractères LangChain pour découper récursivement selon la liste de caractères
['\n', '.', ' ', '']avec une taille de segment (chunk size) de75et un chevauchement de10. - Découpez
documentà l’aide dutext_splitterque vous avez défini et d’une méthode appropriée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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])