Chat Memory
El componente Chat Memory permite a los usuarios de Nappai acceder a los mensajes de chat que ya se han guardado, ya sea en las tablas internas de Langflow o en una memoria externa que el usuario proporcione. Con él, puedes filtrar los mensajes por remitente, por sesión o conversación, limitar cuántos quieres ver y decidir si quieres verlos en formato de datos estructurados o como texto plano.
¿Cómo funciona?
Cuando se activa, el componente revisa primero si se ha pasado una memoria externa (External Memory
). Si la hay, se usa esa memoria y se ignoran las tablas internas. Si no, se consulta la tabla de mensajes de Langflow.
El componente permite filtrar los mensajes por:
- Sender Type: AI, User o ambos.
- Sender Name: nombre del remitente.
- Session ID y Conversation ID: para seleccionar un hilo de conversación específico.
- Number of Messages y Order: para limitar y ordenar la lista.
Una vez obtenidos los mensajes, el componente puede devolverlos de dos maneras:
- Messages (Data) – un objeto
Data
con la lista completa de mensajes, cada uno con su texto, remitente y metadatos. - Messages (Text) – una cadena de texto formateada según la plantilla que elijas (
Template
).
La plantilla puede usar los marcadores{text}
,{sender}
y cualquier otro campo disponible en el mensaje.
Además, el componente puede crear un objeto BaseChatMemory
de LangChain (Memory
) que puede ser usado por otros componentes de IA para mantener el contexto de la conversación.
Entradas
Campos de Entrada
- External Memory: Retrieve messages from an external memory. If empty, it will use the Langflow tables.
- Conversation ID: Conversation ID of the chat history.
- Number of Messages: Number of messages to retrieve.
- Order: Order of the messages.
- Sender Type: Filter by sender type.
- Sender Name: Filter by sender name.
- Session ID: Session ID of the chat history.
- Template: The template to use for formatting the data. It can contain the keys {text}, {sender} or any other key in the message data.
Salidas
- Messages (Data) – Devuelve una lista de mensajes estructurados que pueden ser usados por otros componentes que requieran datos.
- Messages (Text) – Devuelve un único mensaje de texto que contiene todos los mensajes formateados según la plantilla.
- Memory – Devuelve un objeto
BaseChatMemory
que puede ser conectado a componentes de IA para mantener el historial de conversación.
Ejemplo de Uso
Supongamos que quieres mostrar los últimos 5 mensajes de una conversación específica en un panel de Nappai:
- Añade el componente Chat Memory al flujo.
- Configura los campos:
- Conversation ID:
conv-12345
- Number of Messages:
5
- Order:
Descending
- Template:
{sender_name}: {text}
- Conversation ID:
- Conecta la salida Messages (Text) a un componente de visualización de texto (por ejemplo, un widget de “Texto”).
- Cuando ejecutes el flujo, el panel mostrará algo como:
Alice: ¿Puedes revisar el informe? Bot: Claro, lo reviso ahora. Alice: Gracias.
Si en lugar de texto quieres usar los datos en otro componente de IA, conecta la salida Messages (Data) a ese componente.
Componentes Relacionados
- LLM – Para usar el historial de conversación como contexto en un modelo de lenguaje.
- Chat – Para enviar mensajes a un usuario con el historial recuperado.
Consejos y Mejores Prácticas
- Limita el número de mensajes cuando la conversación sea larga para evitar sobrecargar la memoria del modelo.
- Usa la plantilla para adaptar el formato a la interfaz de usuario (por ejemplo, añadir emojis o estilos).
- Conecta la salida Memory a componentes que requieran un historial persistente, como un chatbot que mantenga contexto entre sesiones.
- Evita exponer datos sensibles en la salida Text; si los mensajes contienen información confidencial, usa la salida Data y filtra los campos antes de mostrarlos.
Consideraciones de Seguridad
- Los mensajes pueden contener datos personales o confidenciales. Asegúrate de que la memoria externa esté protegida y que los usuarios tengan los permisos adecuados para acceder a ella.
- Cuando uses la salida Messages (Text), revisa que la plantilla no revele información sensible accidentalmente.
- Si la memoria externa es un servicio externo, verifica que la conexión esté cifrada (HTTPS) y que las credenciales estén almacenadas de forma segura.