EmpezarEmpieza gratis

División recursiva por caracteres

Muchos programadores utilizan un divisor de caracteres recursivo para dividir documentos basándose en una lista específica de caracteres. Estos caracteres son párrafos, saltos de línea, espacios y cadenas vacías, por defecto: ["\n\n", "\n", " ", ""].

En la práctica, el divisor intenta dividir por párrafos, comprueba si se cumplen los valores chunk_size y chunk_overlap y, si no es así, divide por frases, luego por palabras y, por último, por caracteres individuales.

A menudo, tendrás que probar diferentes valores de chunk_size y chunk_overlap para encontrar los que mejor se adapten a tus documentos.

Este ejercicio forma parte del curso

Desarrollo de aplicaciones LLM con LangChain

Ver curso

Instrucciones del ejercicio

  • Importa la clase RecursiveCharacterTextSplitter de langchain_text_splitters.
  • Crea una instancia de RecursiveCharacterTextSplitter con separators=["\n", " ", ""], chunk_size=24 y chunk_overlap=10.
  • Utiliza el método .split_text() para dividir quote e imprimir los fragmentos y sus longitudes.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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])
Editar y ejecutar código