IA y LLMAgentes

Checkpoints de LangGraph

Persiste agentes de LangGraph en HotKV. Pausa, reanuda y viaja en el tiempo por el estado del grafo, y mantén una memoria a largo plazo que se puede buscar por significado.

pruebas de conformidad superadas
81
savers
Sync + async
necesaria
Sin licencia
Paso 1 de 6
Instala

Un paquete para el checkpointer y el store. Python 3.10 o posterior.

Sesión de ejemploplaying
# Instala
$ pip install langgraph-checkpoint-hotkv
Successfully installed langgraph-checkpoint-hotkv

Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.

El problema

Un agente de LangGraph que guarda su estado en la memoria del proceso lo pierde todo al reiniciarse. Las aprobaciones con una persona en el bucle no pueden esperar hasta el día siguiente, las ejecuciones fallidas no se pueden reanudar y nada de lo que aprendió el agente llega a la siguiente conversación.

Cómo lo resuelve HotKV

langgraph-checkpoint-hotkv guarda los checkpoints de cada grafo en HotKV. Un grafo se puede interrumpir y reanudar, o rebobinar a cualquier paso anterior y bifurcar desde ahí. El store complementario mantiene una memoria a largo plazo entre hilos, que se encuentra por namespace, por filtro o, con un modelo de embeddings, por significado.

Paso a paso

Qué ocurre, comando a comando

  1. 01

    Instala

    Un paquete para el checkpointer y el store. Python 3.10 o posterior.

    pip install langgraph-checkpoint-hotkv
  2. 02

    Compila con un checkpointer de HotKV

    Cada paso del grafo se guarda ahora en HotKV.

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

    Ejecuta hasta que necesite aprobación

    El grafo avanza por sus pasos, guarda un checkpoint después de cada uno y se detiene antes del reembolso.

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

    Horas después, tras un reinicio

    El proceso se reinició durante la noche. El estado sigue en HotKV, esperando en el mismo paso.

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

    Aprueba y reanuda

    El aprobador dice que sí y el grafo continúa desde el checkpoint guardado.

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

    Recuerda entre hilos

    La memoria a largo plazo vive en el store y se vuelve a encontrar en cualquier conversación posterior.

    store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})
Dónde encaja

Escenarios reales

Flujos con una persona en el bucle

Los reembolsos, los cambios de contrato y los despliegues a producción esperan la aprobación de una persona, durante minutos o días, sin mantener un proceso abierto.

Agentes de investigación de larga duración

Una ejecución que falla en el paso 40 se reanuda desde el paso 40 en lugar de empezar de cero.

Depuración y evaluación

Vuelve a cualquier checkpoint anterior, cambia la entrada y bifurca, para ver cómo se habría comportado el agente.

Integrado

Qué obtienes

Checkpointer

HotKVSaver y AsyncHotKVSaver conservan el estado del grafo entre ejecuciones, con interrupción, reanudación y viaje en el tiempo.

Store a largo plazo

HotKVStore conserva elementos entre hilos, buscables por namespace, filtro o significado, con caducidad opcional.

Probado en conformidad

Supera la suite de conformidad de checkpointers del propio LangGraph, 81 pruebas en 8 capacidades, con ambos savers.

Sin módulos ni licencia

Usa los tipos de datos del núcleo de HotKV y su índice vectorial, y funciona con o sin licencia enterprise.

Checkpointer y 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"}})

Preguntas frecuentes

¿Necesito una licencia enterprise?

No. El checkpointer y el store usan los tipos de datos del núcleo de HotKV y su índice vectorial, y funcionan en un servidor con o sin licencia.

¿Se admite async?

Sí. AsyncHotKVSaver y AsyncHotKVStore funcionan con ainvoke y astream.

¿Pueden varias apps compartir un servidor?

Sí. Todo se guarda bajo un prefijo de clave, langgraph por defecto, que puedes cambiar por aplicación o entorno.

Casos de uso relacionados

Pruébalo con tu propia carga de trabajo

HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.