CommencezCommencez gratuitement

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

Voir le cours

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) de 75 et un chevauchement de 10.
  • Découpez document à l'aide du text_splitter que 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])
Modifier et exécuter le code