Humán jóváhagyásos munkafolyamatok
A visszatérítések, a szerződésmódosítások és az éles telepítések perceken vagy napokon át várnak egy ember jóváhagyására, anélkül hogy egy folyamatot nyitva kellene tartani.
Tartósítsa a LangGraph-ügynököket a HotKV-n. Szüneteltesse, folytassa és járja be időben a gráf állapotát, és tartsa a hosszú távú memóriát jelentés alapján kereshetően.
Egyetlen csomag az ellenőrzőpont-kezelőhöz és a tárolóhoz. Python 3.10 vagy újabb.
Animált bemutató valódi HotKV-parancsokkal és példa-válaszokkal. Kattintson bármelyik lépésre, hogy odaugorjon. A parancsok és a válaszok angolul maradnak, pontosan úgy, ahogy begépeli és látja őket a HotKV-ban.
Az a LangGraph-ügynök, amely az állapotát a folyamat memóriájában tartja, újraindításkor mindent elveszít. A humán jóváhagyás nem várhat egy éjszakát, a megszakadt futtatások nem folytathatók, és semmi, amit az ügynök megtanult, nem éli túl a következő beszélgetést.
A langgraph-checkpoint-hotkv az egyes gráfok ellenőrzőpontjait a HotKV-ban tárolja. Egy gráf megszakítható és folytatható, vagy visszatekerhető bármely korábbi lépésre, és onnan el lehet ágaztatni. A kísérő tároló szálakon átívelő hosszú távú memóriát tart, amelyet névtér, szűrő vagy, embedding modellel, jelentés alapján lehet megtalálni.
Egyetlen csomag az ellenőrzőpont-kezelőhöz és a tárolóhoz. Python 3.10 vagy újabb.
pip install langgraph-checkpoint-hotkvA gráf minden lépése mostantól a HotKV-ban mentődik.
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])A gráf végighalad a lépésein, mindegyik után ellenőrzőpontot mentve, és a visszatérítés előtt megáll.
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})A folyamat éjszaka újraindult. Az állapot még mindig a HotKV-ban van, ugyanazon a lépésen várakozva.
graph.get_state({"configurable": {"thread_id": "t-81"}}).nextA jóváhagyó igent mond, és a gráf a mentett ellenőrzőpontról folytatódik.
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})A hosszú távú memória a tárolóban él, és bármely későbbi beszélgetésben újra megtalálható.
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})A visszatérítések, a szerződésmódosítások és az éles telepítések perceken vagy napokon át várnak egy ember jóváhagyására, anélkül hogy egy folyamatot nyitva kellene tartani.
A 40. lépésnél megszakadt futtatás a 40. lépéstől folytatódik, nem kezdődik elölről.
Menjen vissza bármely korábbi ellenőrzőpontra, módosítsa a bemenetet, és ágaztassa el, hogy lássa, hogyan viselkedett volna az ügynök.
A HotKVSaver és az AsyncHotKVSaver a gráf állapotát futtatások között őrzi, megszakítással, folytatással és időutazással.
A HotKVStore elemeket őriz szálakon át, névtér, szűrő vagy jelentés szerint kereshetően, opcionális lejárattal.
Átmegy a LangGraph saját ellenőrzőpont-kezelő megfelelőségi tesztkészletén, 81 tesztet 8 képességben, mindkét mentőre.
A HotKV alap adattípusait és vektorindexét használja, és enterprise licenccel vagy anélkül is működik.
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"}})Nem. Az ellenőrzőpont-kezelő és a tároló a HotKV alap adattípusait és vektorindexét használja, és licenccel rendelkező vagy anélküli szerveren is működik.
Igen. Az AsyncHotKVSaver és az AsyncHotKVStore az ainvoke-kal és az astream-mel működik.
Igen. Minden egy kulcselőtag alatt tárolódik, alapértelmezés szerint langgraph, amelyet alkalmazásonként vagy környezetenként megváltoztathat.
A HotKV a Redis protokollt beszéli, így egy meglévő klienst ráirányíthat, és lefuttathatja ugyanezeket a parancsokat.