In-Memory Store
Este componente funciona como una “memoria RAM” para tu flujo de trabajo. Su propósito principal es guardar información de forma temporal para que puedas usarla en el momento o en pasos siguientes, garantizando una velocidad de respuesta muy alta ya que los datos no se guardan en disco ni en bases de datos externas.
Es ideal para guardar variables temporales, resultados intermedios de cálculos o información que solo necesitas mientras el proceso se está ejecutando.
¿Cómo funciona?
Cuando usas este componente, estás creando un espacio de almacenamiento efímero (temporal). Imagínalo como una pizarra en blanco que aparece cuando inicias un flujo y se borra automáticamente cuando terminas.
Internamente, el componente organiza los datos utilizando identificadores únicos (llamados “keys”). Tú le dices al sistema qué dato guardar y bajo qué nombre. Luego, en otro paso del flujo, puedes pedir al sistema que te entregue ese dato usando el mismo nombre.
Características clave:
- Velocidad Extrema: Al estar en la memoria principal (RAM), leer o escribir datos es casi instantáneo.
- Temporal: Los datos desaparecen si cierras la aplicación o reinicias el sistema. No es un almacenamiento permanente.
- Flexibilidad: Puede guardar diferentes tipos de datos simples (texto, números, listas) siempre que sean compatibles con la automatización.
Nota: Este componente está diseñado principalmente para entornos de desarrollo y pruebas rápidas.
Conexión y Credenciales
Este componente no requiere la configuración de credenciales externas (como contraseñas de API o cuentas de usuario) para funcionar. Solo necesitas conexión a tu propio sistema de Nappai para utilizarlo.
Operaciones
Este componente NO tiene operaciones manuales configurables en su interfaz gráfica. Su funcionamiento es automático y se gestiona completamente mediante las conexiones que establezcas con otros componentes en el flujo de trabajo. No verás un menú desplegable para seleccionar acciones.
Entradas
Para utilizar este componente, conectarás salidas de otros nodos a sus campos de entrada. Los datos fluyen hacia el componente para ser almacenados.
Campos de Entrada
Los siguientes campos están disponibles para configurar este componente. Ten en cuenta que la visibilidad de estos campos depende de cómo el flujo intente utilizar el almacenamiento en ese momento específico:
- Embedding: [Este campo se utiliza para recibir vectores numéricos generados por otros componentes. Conecta aquí la salida de un componente de embedding (como OpenAI o HuggingFace) si necesitas almacenar representaciones de texto para búsquedas semánticas. La calidad del modelo conectado determinará la precisión futura de las búsquedas.]
Salidas
El componente produce resultados que puedes usar en pasos posteriores de tu automatización.
- Checkpointer: [Tipo de salida ‘Any’]. Esta salida actúa como un mecanismo de control o guardado de estado. Utilízala para conectar este nodo a otros componentes que necesiten confirmar que el almacenamiento ha ocurrido correctamente o que requieran un estado actualizado del flujo.
Ejemplo de Respuesta JSON
Dado que este componente funciona de manera interna y sus salidas están destinadas al control de flujo (como Checkpointer), el resultado no es un simple texto, sino una estructura de estado. A modo ilustrativo, si este componente generara un reporte de su estado interno (como listar todas las claves guardadas), podría verse así:
json
{
“status”: “success”,
“stored_data”: {
“user_input_key”: “Valor guardado aquí”,
“calculation_result”: 12345,
“embeddings”: [0.1, 0.5, 0.9]
},
“checkpointer_state”: “active”
}
Conectividad
Este componente se conecta lógicamente a nodos que requieren datos inmediatos o que forman parte de una secuencia de procesamiento rápido:
- Entradas de Embedding: Conéctalo a componentes de Embedding (como OpenAI Embeddings o HuggingFace Embeddings) que generen vectores numéricos a partir de texto. Esto permite almacenar el conocimiento semántico en memoria para consultas rápidas.
- Nodos de Procesamiento: Sus salidas (
Checkpointery datos internos) deben conectarse a nodos que validen el estado o procesen la información guardada inmediatamente, como filtros, transformadores de datos o finales de flujo.
Ejemplo de Uso
Imagina que estás construyendo un asistente de IA que responde preguntas basándose en documentos.
- Paso 1: Un componente extrae el texto de un PDF.
- Paso 2: Un componente de Embedding convierte ese texto en vectores numéricos.
- Paso 3 (Aquí usas In-Memory Store): Conectas la salida del vector de embeddings al campo Embedding de este componente. El componente guarda estos vectores en memoria rápidamente.
- Paso 4: Otro componente que hace preguntas busca en esos datos guardados. Como están en memoria (RAM), la búsqueda es casi instantánea.
Plantillas
No se han detectado plantillas predefinidas específicas para este componente en el momento actual.
Componentes Relacionados
No hay componentes relacionados explícitos listados para este nodo.
Notas Importantes
Este componente no tiene notas críticas adicionales más allá de su naturaleza de desarrollo, pero se recomienda precaución con la gestión de memoria en flujos muy largos.
Consejos y Mejores Prácticas
- Uso Efímero: Recuerda que los datos se pierden al cerrar el flujo. No lo uses para guardar información crítica que necesites mañana.
- Velocidad sobre Permanencia: Si tus datos necesitan sobrevivir al reinicio del servidor, utiliza un componente de almacenamiento persistente (como una base de datos SQL o un archivo) en lugar de este.
- Validación: Asegúrate de que los datos que envías al campo Embedding sean del tipo correcto (vectores numéricos) para evitar errores en el almacenamiento.
Consideraciones de Seguridad
Al ser un componente de “modo desarrollo” y almacenamiento en memoria, no se aplican políticas de seguridad de persistencia (como encriptación en disco). Solo los usuarios con acceso a la ejecución del flujo pueden ver estos datos. No almacenes información sensible (como contraseñas o datos personales críticos) en este componente si la infraestructura no está asegurada, ya que los datos residen temporalmente en la memoria accesible del servidor.