CommencerCommencez gratuitement

Division récursive par caractère

De nombreux développeurs utilisent un séparateur de caractères récursif pour diviser des documents en fonction d'une liste spécifique de caractères. Par défaut, ces caractères sont les paragraphes, les sauts de ligne, les espaces et les chaînes vides, par défaut : ["\n\n", "\n", " ", ""].

En effet, le séparateur tente de diviser par paragraphes, vérifie si les valeurs chunk_size et chunk_overlap sont respectées, et si ce n'est pas le cas, il divise par phrases, puis par mots et enfin par caractères individuels.

Souvent, vous devrez tester différentes valeurs pour les paramètres chunk_size et chunk_overlap afin de trouver celles qui conviennent le mieux à vos documents.

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 RecursiveCharacterTextSplitter à partir de langchain_text_splitters.
  • Veuillez créer une instance d'RecursiveCharacterTextSplitter avec separators=["\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 recursive 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 = RecursiveCharacterTextSplitter(
    separators=____,
    chunk_size=____,
    chunk_overlap=____)

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