Découper des documents de façon 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 document 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 et découpe successivement selon chacun pour vérifier si des segments peuvent être créés en dessous de la limite chunk_size.
Cette activité fait partie du cours
Retrieval Augmented Generation (RAG) avec LangChain
Instructions de l’exercice
- Définissez un séparateur de texte récursif par caractères LangChain pour parcourir récursivement 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 de la méthode appropriée.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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])