Workflows mit Human-in-the-Loop
Erstattungen, Vertragsänderungen und Produktions-Deployments warten Minuten oder Tage auf die Freigabe durch eine Person, ohne einen Prozess offen zu halten.
Persistieren Sie LangGraph-Agenten auf HotKV. Pausieren, fortsetzen und zeitreisen Sie durch den Graph-Zustand und halten Sie das Langzeitgedächtnis nach Bedeutung durchsuchbar.
Ein Paket für Checkpointer und Store. Python 3.10 oder neuer.
Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.
Ein LangGraph-Agent, der seinen Zustand im Prozessspeicher hält, verliert bei einem Neustart alles. Freigaben mit Human-in-the-Loop können nicht über Nacht warten, fehlgeschlagene Läufe lassen sich nicht fortsetzen, und nichts, was der Agent gelernt hat, überdauert bis zum nächsten Gespräch.
langgraph-checkpoint-hotkv speichert die Checkpoints jedes Graphen in HotKV. Ein Graph lässt sich unterbrechen und fortsetzen oder zu jedem früheren Schritt zurückspulen und von dort verzweigen. Der zugehörige Store hält das Langzeitgedächtnis threadübergreifend vor, auffindbar nach Namespace, nach Filter oder, mit einem Embedding-Modell, nach Bedeutung.
Ein Paket für Checkpointer und Store. Python 3.10 oder neuer.
pip install langgraph-checkpoint-hotkvJeder Schritt des Graphen wird jetzt in HotKV gespeichert.
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])Der Graph arbeitet seine Schritte ab, speichert nach jedem einen Checkpoint und hält vor der Erstattung an.
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})Der Prozess wurde über Nacht neu gestartet. Der Zustand liegt weiter in HotKV und wartet am selben Schritt.
graph.get_state({"configurable": {"thread_id": "t-81"}}).nextDer Freigeber sagt Ja, und der Graph macht ab dem gespeicherten Checkpoint weiter.
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})Das Langzeitgedächtnis liegt im Store und wird in jedem späteren Gespräch wiedergefunden.
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})Erstattungen, Vertragsänderungen und Produktions-Deployments warten Minuten oder Tage auf die Freigabe durch eine Person, ohne einen Prozess offen zu halten.
Ein Lauf, der bei Schritt 40 fehlschlägt, macht bei Schritt 40 weiter, statt von vorn zu beginnen.
Gehen Sie zu einem früheren Checkpoint zurück, ändern Sie die Eingabe und verzweigen Sie, um zu sehen, wie sich der Agent verhalten hätte.
HotKVSaver und AsyncHotKVSaver halten den Graph-Zustand zwischen Läufen vor, mit Unterbrechen, Fortsetzen und Zeitreise.
HotKVStore hält Einträge threadübergreifend vor, durchsuchbar nach Namespace, Filter oder Bedeutung, mit optionalem Ablauf.
Besteht die eigene Checkpointer-Konformitätssuite von LangGraph, 81 Tests in 8 Fähigkeiten, für beide Saver.
Nutzt die Kerndatentypen und den Vektorindex von HotKV und funktioniert mit oder ohne Enterprise-Lizenz.
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"}})Nein. Checkpointer und Store nutzen die Kerndatentypen und den Vektorindex von HotKV und funktionieren auf einem Server mit oder ohne Lizenz.
Ja. AsyncHotKVSaver und AsyncHotKVStore funktionieren mit ainvoke und astream.
Ja. Alles wird unter einem Key-Präfix gespeichert, standardmäßig langgraph, das Sie pro Anwendung oder Umgebung ändern können.
HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.