CommencerCommencez gratuitement

Division par caractère

Un processus clé dans la mise en œuvre de la Génération à enrichissement contextuel (RAG) consiste à diviser les documents en plusieurs parties afin de les stocker dans une base de données vectorielle.

LangChain propose plusieurs stratégies de fractionnement, certaines avec des routines plus complexes que d'autres. Dans cet exercice, vous allez implémenter un séparateur de texte par caractères, qui divise les documents en fonction des caractères et mesure la longueur des parties en fonction du nombre de caractères.

N'oubliez pas qu'il n'existe pas de stratégie de fractionnement idéale. Vous devrez peut-être en tester plusieurs avant de trouver celle qui convient le mieux à votre cas.

Cet exercice fait partie du cours

<cours>Développement d'applications LLM avec LangChain</cours>
Voir le cours

Instructions de l’exercice

  • Veuillez importer la classe CharacterTextSplitter à partir de langchain_text_splitters.
  • Veuillez créer une instance d'CharacterTextSplitter avec separator="\n", chunk_size=24 et chunk_overlap=10.
  • Veuillez utiliser la méthode .split_text() pour diviser l'quote, imprimer les segments et indiquer leur longueur.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import the character splitter
from langchain_text_splitters import ____

quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10

# Create an instance of the splitter class
splitter = CharacterTextSplitter(
    separator=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the string and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Modifier et exécuter le code