Saltearse al contenido

Recursive Character Text Splitter

El Recursive Character Text Splitter es una herramienta que toma un bloque de texto y lo divide en fragmentos más pequeños. Cada fragmento (o chunk) tiene un tamaño máximo que tú defines y, opcionalmente, puede compartir parte de su contenido con el fragmento siguiente. Esto ayuda a mantener el contexto cuando el texto se envía a modelos de lenguaje o a otras partes de tu flujo de trabajo.

¿Cómo funciona?

El componente trabaja de forma local, sin llamar a servicios externos. Internamente utiliza la clase RecursiveCharacterTextSplitter de la librería langchain_text_splitters. Cuando le das un texto:

  1. Separadores – El splitter busca los caracteres que tú indicas (por defecto saltos de línea, espacios, etc.) para decidir dónde cortar.
  2. Chunk Size – Cada fragmento resultante no excederá la longitud máxima que establezcas.
  3. Chunk Overlap – Si quieres que los fragmentos compartan parte del contenido, puedes indicar cuántos caracteres deben repetirse entre un fragmento y el siguiente.
  4. Resultado – Devuelve una lista de fragmentos listos para ser usados en la siguiente etapa de tu flujo (por ejemplo, para generar embeddings, resumir, o alimentar un modelo de IA).

Entradas

Campos de Entrada

  • Input
    El texto o los documentos que deseas dividir. Puedes pasar un solo bloque de texto o una colección de documentos.

  • Chunk Overlap
    La cantidad de caracteres que se repetirán entre un fragmento y el siguiente. Un valor mayor ayuda a preservar el contexto entre partes del texto.

  • Chunk Size
    El tamaño máximo (en caracteres) de cada fragmento. Ajusta este valor según el límite de contexto de la herramienta que usarás después (por ejemplo, un modelo de lenguaje).

  • Separators
    Los caracteres que el splitter usará para buscar puntos de corte.

    The characters to split on.
    If left empty defaults to ["\n\n", "\n", " ", ""]

    Si lo dejas vacío, el componente usará automáticamente saltos de línea, espacios y cualquier carácter.

Salidas

  • Data
    Una lista de fragmentos de texto. Cada fragmento se devuelve como un objeto Document (o equivalente) que puede ser conectado a otros componentes de Nappai, como generación de embeddings, resúmenes o consultas a modelos de IA.

Ejemplo de Uso

Supongamos que tienes un informe de 5 000 caracteres y quieres dividirlo en bloques de 1 000 caracteres con 200 caracteres de superposición para que un modelo de IA pueda entender el contexto entre párrafos.

  1. Arrastra el componente Recursive Character Text Splitter al lienzo.
  2. En Input conecta el bloque de texto del informe.
  3. Ajusta Chunk Size a 1000.
  4. Ajusta Chunk Overlap a 200.
  5. Deja Separators vacío (usa los valores por defecto).
  6. Conecta la salida Data a un componente de embeddings o a un modelo de resumen.

El resultado será una lista de 5 fragmentos (aproximadamente) que puedes usar en la siguiente etapa de tu flujo.

Componentes Relacionados

  • Text Splitter – Versión básica que divide por longitud fija sin superposición.
  • Recursive Character Text Splitter (Advanced) – Permite configuraciones más finas de separadores y lógica de recursión.
  • Document Loader – Para cargar documentos desde archivos PDF, Word, etc., antes de pasarlos al splitter.

Consejos y Mejores Prácticas

  • Ajusta el Chunk Size al límite de contexto de tu modelo de IA para evitar truncamientos inesperados.
  • Usa Chunk Overlap cuando el texto contenga frases que se extienden entre párrafos; así el modelo no pierde información al procesar cada fragmento.
  • Selecciona Separadores adecuados: si trabajas con código fuente, puedes usar {, }, ; como separadores para evitar cortar líneas de código.
  • Revisa los fragmentos: después de dividir, verifica que los fragmentos no queden cortados en medio de palabras o símbolos importantes.
  • Combina con embeddings: una vez que tengas los fragmentos, genera embeddings para cada uno y almacénalos en tu vector store para búsquedas rápidas.

Consideraciones de Seguridad

  • El componente procesa los datos localmente dentro del entorno de Nappai; no envía información a servicios externos.
  • Si tus documentos contienen datos sensibles, asegúrate de que el entorno donde se ejecuta Nappai esté protegido y cumpla con las políticas de tu organización.
  • No almacenes los fragmentos en ubicaciones públicas sin cifrar; utiliza el almacenamiento seguro de Nappai o tu propio backend seguro.