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
Développement d'applications LLM avec LangChain
Instructions
- Importez la classe LangChain appropriée pour diviser un document de manière récursive par caractère.
- Définissez un séparateur de caractères récursif pour diviser les chaînes de caractères
"\n"
," "
et""
(dans cet ordre) avec un paramètrechunk_size
24
et un paramètrechunk_overlap
10
. - Divisez
quote
, puis imprimez les parties et leur longueur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 = ____
# Split the document and print the chunks
docs = ____
print(docs)
print([len(doc) for doc in docs])