CommencerCommencer gratuitement

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

Afficher le cours

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