Attivazione della persistenza dello stato per gli agenti dell' LangGraph

Abilita la persistenza dello stato tramite checkpoint per gli agenti dell' LangGraph. Configura la persistenza nel file YAML del tuo agente utilizzando il checkpointer campo.

checkpointer sezione sul campo

La sezione checkpointer «field» è facoltativa e consente di mantenere lo stato tra i turni di conversazione. Se non specificato, l'agente opera in modalità senza stato.

Tipi di checkpoint

Quando si specifica la sezione checkpointer dei campi, è possibile configurare il checkpointer con le seguenti opzioni:

  • checkpointer.type

    Il tipo di checkpoint da utilizzare:

    • memory - Archiviazione in memoria per lo sviluppo e il collaudo. All'avvio il valore dello stato va perso.
      • Casi d'uso: sviluppo, test, sessioni temporanee
      • Requisiti: Nessuno
      • Persistenza: persa al riavvio dell'agente
    • sqlite - Persistenza basata su file tramite SQLite. All'avvio dell'agente pod, lo stato va perso.
      • Caso d'uso: implementazioni a istanza singola, test
      • Requisiti: Aggiungi langgraph-checkpoint-sqlite a requirements.txt
      • Persistenza: persa al riavvio del pod
    • postgres - Persistenza del database tramite PostgreSQL per l'ambiente di produzione.
      • Caso d'uso: implementazioni in produzione che richiedono uno stato persistente
      • Requisiti: Aggiungi langgraph-checkpoint-postgres a requirements.txt
      • Persistenza: rimane attiva anche dopo il riavvio
      • Configurazione aggiuntiva: Richiede connection_string_key
  • checkpointer.connection_string_key

    Campo obbligatorio se si utilizza il postgres tipo. L'ID dell'app della connessione che contiene la stringa di connessione al database PostgreSQL.

Procedura di configurazione per la persistenza del database di PostgreSQL

  1. Crea una connessione con il tipo di credenziale api_key
  2. Inserisci la stringa di connessione PostgreSQL come valore della chiave API
  3. Utilizza l'ID dell'app della connessione come valore per connection_string_key
  4. Seleziona questa connessione durante il processo di importazione degli agenti

Il sistema gestisce automaticamente le connessioni al database e la configurazione dello schema durante l'esecuzione.

Configurazione di esempio

Agente con checkpointer 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

In questo esempio, postgres_db è l'ID dell'app di una connessione che devi creare prima dell'importazione. Questa connessione deve avere un tipo di api_key credenziale e contenere la stringa di connessione al database PostgreSQL. È possibile selezionare questa connessione durante il processo di importazione.

Agente con un checkpoint di tipo " 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 checkpoint di 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

Per il memory checkpointer non sono richieste dipendenze aggiuntive oltre ai requisiti di base di LangGraph.

Cosa fare successivamente