Habilitar la persistencia de estado para los agentes de « LangGraph »

Habilita la persistencia del estado con puntos de control para los agentes de « LangGraph ». Configura la persistencia en el archivo YAML de tu agente utilizando el checkpointer campo.

checkpointer sección de campo

El campo checkpointer «field» es opcional y permite que el estado se mantenga entre los turnos de conversación. Si no se especifica, el agente funciona en modo sin estado.

Tipos de puntos de control

Al especificar la sección checkpointer de campos, puede configurar el punto de comprobación con las siguientes opciones:

  • checkpointer.type

    El tipo de punto de control que se debe utilizar:

    • memory - Almacenamiento en memoria para el desarrollo y las pruebas. El estado se pierde al reiniciar.
      • Caso de uso: desarrollo, pruebas, sesiones temporales
      • Requisitos: Ninguno
      • Persistencia: se pierde al reiniciar el agente
    • sqlite - Persistencia basada en archivos mediante « SQLite ». El estado se pierde al reiniciar el pod del agente.
      • Caso de uso: implementaciones de una sola instancia, pruebas
      • Requisitos: Añadir langgraph-checkpoint-sqlite a requirements.txt
      • Persistencia: se pierde al reiniciar el pod
    • postgres - Persistencia de bases de datos mediante « PostgreSQL » para entornos de producción.
      • Caso de uso: Implementaciones en producción que requieren un estado persistente
      • Requisitos: Añadir langgraph-checkpoint-postgres a requirements.txt
      • Persistencia: se mantiene tras los reinicios
      • Configuración adicional: Requiere connection_string_key
  • checkpointer.connection_string_key

    Campo obligatorio si utilizas el postgres tipo. El ID de la aplicación de la conexión que contiene la cadena de conexión a la base de datos PostgreSQL.

Pasos de configuración para la persistencia de la base de datos de « PostgreSQL »

  1. Crear una conexión con el tipo de credencial api_key
  2. Introduce tu cadena de conexión PostgreSQL como valor de la clave API
  3. Utiliza el ID de la aplicación de la conexión como valor para connection_string_key
  4. Selecciona esta conexión durante el proceso de importación de agentes

El sistema gestiona automáticamente las conexiones a la base de datos y la configuración del esquema durante la ejecución.

Configuración de ejemplo

Agente con el módulo de comprobación de Postgres

spec_version: v1
kind: agent
name: stateful_agent
title: Stateful Support Agent
description: Agent with persistent state using PostgreSQL
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: postgres
  connection_string_key: postgres_db

requirements.txt:

langgraph>=0.2.0
langchain-core>=0.3.0
langgraph-checkpoint-postgres

En este ejemplo, postgres_db es el ID de la aplicación de una conexión que debes crear antes de realizar la importación. Esta conexión debe tener un tipo de api_key credencial y contener la cadena de conexión a la base de datos PostgreSQL. Esta conexión se selecciona durante el proceso de importación.

Agente con un punto de control de « SQLite »

spec_version: v1
kind: agent
name: sqlite_agent
title: SQLite Stateful Agent
description: Agent with SQLite state persistence
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: sqlite

requirements.txt:

langgraph>=0.2.0
langchain-core>=0.3.0
langgraph-checkpoint-sqlite

Agente con verificador de memoria

spec_version: v1
kind: agent
name: dev_agent
title: Development Agent
description: Agent with in-memory state for testing
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: memory

El «memory checkpointer» no requiere dependencias adicionales más allá de los requisitos básicos de « LangGraph ».

Qué hacer a continuación