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:
- Separadores – El splitter busca los caracteres que tú indicas (por defecto saltos de línea, espacios, etc.) para decidir dónde cortar.
- Chunk Size – Cada fragmento resultante no excederá la longitud máxima que establezcas.
- Chunk Overlap – Si quieres que los fragmentos compartan parte del contenido, puedes indicar cuántos caracteres deben repetirse entre un fragmento y el siguiente.
- 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 objetoDocument
(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.
- Arrastra el componente Recursive Character Text Splitter al lienzo.
- En Input conecta el bloque de texto del informe.
- Ajusta Chunk Size a
1000
. - Ajusta Chunk Overlap a
200
. - Deja Separators vacío (usa los valores por defecto).
- 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.