IA e LLMAgenti

Checkpoint LangGraph

Rendi persistenti gli agenti LangGraph su HotKV. Metti in pausa, riprendi e viaggia nel tempo attraverso lo stato del grafo, con una memoria a lungo termine ricercabile per significato.

test di conformità superati
81
saver
Sync + async
necessaria
Nessuna licenza
Passo 1 di 6
Installa

Un solo pacchetto per il checkpointer e lo store. Python 3.10 o successivo.

Sessione di esempioplaying
# Installa
$ pip install langgraph-checkpoint-hotkv
Successfully installed langgraph-checkpoint-hotkv

Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.

Il problema

Un agente LangGraph che tiene il suo stato nella memoria del processo perde tutto a un riavvio. Le approvazioni human-in-the-loop non possono aspettare fino al mattino, le esecuzioni fallite non si possono riprendere e nulla di ciò che l'agente ha imparato arriva alla conversazione successiva.

Come lo gestisce HotKV

langgraph-checkpoint-hotkv salva i checkpoint di ogni grafo in HotKV. Un grafo può essere interrotto e ripreso, oppure riavvolto a qualsiasi passo precedente e diramato da lì. Lo store abbinato conserva la memoria a lungo termine tra i thread, ritrovata per namespace, per filtro o, con un modello di embedding, per significato.

Passo dopo passo

Cosa succede, comando per comando

  1. 01

    Installa

    Un solo pacchetto per il checkpointer e lo store. Python 3.10 o successivo.

    pip install langgraph-checkpoint-hotkv
  2. 02

    Compila con un checkpointer HotKV

    Ogni passo del grafo ora viene salvato in HotKV.

    graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])
  3. 03

    Esegui fino all'approvazione

    Il grafo procede nei suoi passi, salvando un checkpoint dopo ognuno, e si ferma prima del rimborso.

    graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})
  4. 04

    Ore dopo, dopo un riavvio

    Il processo è ripartito durante la notte. Lo stato è ancora in HotKV, in attesa allo stesso passo.

    graph.get_state({"configurable": {"thread_id": "t-81"}}).next
  5. 05

    Approva e riprendi

    L'approvatore dice sì e il grafo continua dal checkpoint salvato.

    graph.invoke(None, {"configurable": {"thread_id": "t-81"}})
  6. 06

    Ricorda tra i thread

    La memoria a lungo termine vive nello store e si ritrova in qualsiasi conversazione successiva.

    store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})
Dove si usa

Scenari reali

Workflow human-in-the-loop

Rimborsi, modifiche ai contratti e deploy in produzione attendono l'approvazione di una persona, per minuti o giorni, senza tenere aperto un processo.

Agenti di ricerca di lunga durata

Un'esecuzione che fallisce al passo 40 riprende dal passo 40 invece di ricominciare da capo.

Debug e valutazione

Torna a qualsiasi checkpoint precedente, cambia l'input e crea un ramo, per vedere come si sarebbe comportato l'agente.

Integrato

Cosa ottieni

Checkpointer

HotKVSaver e AsyncHotKVSaver conservano lo stato del grafo tra le esecuzioni, con interruzione, ripresa e viaggio nel tempo.

Store a lungo termine

HotKVStore conserva elementi tra i thread, ricercabili per namespace, filtro o significato, con scadenza opzionale.

Testato per la conformità

Supera la suite di conformità per checkpointer di LangGraph, 81 test in 8 capacità, per entrambi i saver.

Nessun modulo, nessuna licenza

Usa i tipi di dati core di HotKV e il suo indice vettoriale, e funziona con o senza una licenza enterprise.

Checkpointer e store

python
from langgraph.checkpoint.hotkv import HotKVSaver

with HotKVSaver.from_conn_string("hotkv://localhost:6379") as checkpointer:
    graph = builder.compile(checkpointer=checkpointer)
    graph.invoke({"messages": [("user", "hi")]}, {"configurable": {"thread_id": "1"}})

Domande frequenti

Mi serve una licenza enterprise?

No. Il checkpointer e lo store usano i tipi di dati core di HotKV e l'indice vettoriale, e funzionano su un server con o senza licenza.

L'async è supportato?

Sì. AsyncHotKVSaver e AsyncHotKVStore funzionano con ainvoke e astream.

Più app possono condividere un server?

Sì. Tutto viene salvato sotto un prefisso di chiave, langgraph di default, che puoi cambiare per applicazione o ambiente.

Casi d'uso correlati

Provalo sul tuo carico di lavoro

HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.