Saltearse al contenido

CharacterTextSplitter

El CharacterTextSplitter es una herramienta sencilla que toma un bloque de texto y lo divide en partes más pequeñas. Cada fragmento tiene una longitud máxima que tú defines, y puedes indicar si quieres que haya un pequeño solapamiento entre ellos. Además, puedes elegir los caracteres que usarás como separadores, o dejar que el componente use el salto de línea doble por defecto.

¿Cómo funciona?

El componente trabaja de forma local, sin llamar a servicios externos. Cuando lo añades a tu flujo de trabajo, simplemente le das el texto que quieres dividir y configuras tres parámetros:

  1. Chunk Size – la longitud máxima de cada fragmento (en caracteres).
  2. Chunk Overlap – cuántos caracteres deben repetirse entre un fragmento y el siguiente.
  3. Separator – los caracteres que indican dónde se pueden cortar los fragmentos. Si lo dejas vacío, el componente usa "\n\n" (dos saltos de línea) como separador por defecto.

Internamente, el componente recorre el texto, busca los separadores y crea los fragmentos respetando el tamaño y el solapamiento que hayas indicado. El resultado es una lista de bloques de texto que puedes usar en otras partes de tu dashboard, por ejemplo, para alimentar un modelo de IA o para almacenar en una base de datos.

Entradas

Campos de Entrada

  • Input: El texto o los documentos que quieres dividir.
  • Chunk Overlap: La cantidad de caracteres que se repetirán entre fragmentos consecutivos.
  • Chunk Size: La longitud máxima de cada fragmento.
  • Separator: Los caracteres que se usarán como puntos de corte. Si lo dejas vacío, se usará "\n\n" por defecto.

Salidas

  • Data: Una lista de fragmentos de texto (tipo Data). Cada fragmento está listo para ser procesado por otro componente, como un modelo de lenguaje o un motor de búsqueda.

Ejemplo de Uso

Supongamos que tienes un documento largo de 5 000 caracteres y quieres dividirlo en bloques de 1 000 caracteres, con un solapamiento de 200 caracteres y usar el salto de línea doble como separador. En el dashboard:

  1. Arrastra el componente CharacterTextSplitter a tu flujo.
  2. Conecta la salida de tu componente de carga de documentos a la entrada Input.
  3. En la configuración, escribe 1000 en Chunk Size, 200 en Chunk Overlap y deja Separator vacío.
  4. Conecta la salida Data a un componente que procese cada fragmento (por ejemplo, un modelo de IA que genere resúmenes).

El resultado será una serie de fragmentos de 1 000 caracteres (con 200 caracteres de solapamiento) que puedes usar para cualquier tarea posterior.

Componentes Relacionados

  • RecursiveCharacterTextSplitter – Divide el texto recursivamente, manteniendo la estructura jerárquica de los documentos.
  • SentenceSplitter – Separa el texto por oraciones en lugar de por número de caracteres.
  • WhitespaceTextSplitter – Divide el texto usando espacios en blanco como delimitadores.

Consejos y Mejores Prácticas

  • Ajusta el solapamiento: Un solapamiento mayor ayuda a los modelos de IA a mantener contexto entre fragmentos, pero aumenta el número de fragmentos.
  • Usa separadores adecuados: Si tu documento tiene párrafos largos, usar "\n\n" suele funcionar bien. Para textos sin saltos de línea, considera usar un separador personalizado como ". " (punto y espacio).
  • Revisa el tamaño de los fragmentos: Algunos modelos de IA tienen límites de tokens; asegúrate de que el Chunk Size no supere esos límites.
  • Prueba con ejemplos pequeños: Antes de procesar documentos grandes, prueba el componente con textos cortos para verificar que el solapamiento y los separadores se aplican como esperas.

Consideraciones de Seguridad

El componente trabaja únicamente con el texto que le proporcionas y no envía datos a servicios externos. No obstante, si el texto contiene información sensible, asegúrate de que el flujo de trabajo esté protegido y que los datos se almacenen de forma segura en tu entorno de Nappai.