Saltearse al contenido

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:

  1. Messages (Data) – un objeto Data con la lista completa de mensajes, cada uno con su texto, remitente y metadatos.
  2. 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:

  1. Añade el componente Chat Memory al flujo.
  2. Configura los campos:
    • Conversation ID: conv-12345
    • Number of Messages: 5
    • Order: Descending
    • Template: {sender_name}: {text}
  3. Conecta la salida Messages (Text) a un componente de visualización de texto (por ejemplo, un widget de “Texto”).
  4. 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.