Alur kerja human-in-the-loop
Pengembalian dana, perubahan kontrak, dan deployment produksi menunggu persetujuan seseorang, selama menit atau hari, tanpa menahan proses tetap terbuka.
Persistenkan agen LangGraph di HotKV. Jeda, lanjutkan, dan jelajahi waktu melalui status graf, dan simpan memori jangka panjang yang dapat dicari berdasarkan makna.
Satu paket untuk checkpointer dan store. Python 3.10 atau lebih baru.
Panduan beranimasi dengan perintah HotKV yang sebenarnya dan balasan contoh. Klik langkah mana pun untuk melompat ke sana. Perintah dan balasan tetap dalam bahasa Inggris, persis seperti yang Anda ketik dan lihat di HotKV.
Agen LangGraph yang menyimpan statusnya di memori proses kehilangan semuanya saat restart. Persetujuan human-in-the-loop tidak bisa menunggu semalaman, eksekusi yang gagal tidak bisa dilanjutkan, dan tidak ada yang dipelajari agen yang bertahan ke percakapan berikutnya.
langgraph-checkpoint-hotkv menyimpan checkpoint setiap graf di HotKV. Sebuah graf dapat diinterupsi dan dilanjutkan, atau diputar mundur ke langkah sebelumnya mana pun dan dicabangkan dari sana. Store pendampingnya menyimpan memori jangka panjang lintas thread, ditemukan berdasarkan namespace, filter, atau, dengan model embedding, berdasarkan makna.
Satu paket untuk checkpointer dan store. Python 3.10 atau lebih baru.
pip install langgraph-checkpoint-hotkvSetiap langkah graf sekarang disimpan di HotKV.
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])Graf menjalani langkah-langkahnya, menyimpan checkpoint setelah masing-masing, dan berhenti sebelum pengembalian dana.
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})Proses restart semalaman. Statusnya masih di HotKV, menunggu di langkah yang sama.
graph.get_state({"configurable": {"thread_id": "t-81"}}).nextPenyetuju berkata ya dan graf berlanjut dari checkpoint yang tersimpan.
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})Memori jangka panjang berada di store dan ditemukan lagi di percakapan mana pun berikutnya.
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})Pengembalian dana, perubahan kontrak, dan deployment produksi menunggu persetujuan seseorang, selama menit atau hari, tanpa menahan proses tetap terbuka.
Eksekusi yang gagal di langkah 40 dilanjutkan dari langkah 40, bukan mulai dari awal.
Kembali ke checkpoint sebelumnya mana pun, ubah masukan dan cabangkan, untuk melihat bagaimana agen akan berperilaku.
HotKVSaver dan AsyncHotKVSaver menyimpan status graf di antara eksekusi, dengan interupsi, lanjutkan, dan perjalanan waktu.
HotKVStore menyimpan item lintas thread, dapat dicari berdasarkan namespace, filter, atau makna, dengan kedaluwarsa opsional.
Lolos rangkaian uji konformansi checkpointer LangGraph sendiri, 81 pengujian dalam 8 kemampuan, untuk kedua saver.
Memakai tipe data inti HotKV dan indeks vektornya, dan bekerja dengan atau tanpa lisensi enterprise.
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"}})Tidak. Checkpointer dan store memakai tipe data inti HotKV dan indeks vektor, dan bekerja pada server dengan atau tanpa lisensi.
Ya. AsyncHotKVSaver dan AsyncHotKVStore bekerja dengan ainvoke dan astream.
Ya. Semuanya disimpan di bawah prefiks kunci, langgraph secara default, yang dapat Anda ubah per aplikasi atau lingkungan.
HotKV berbicara protokol Redis, jadi Anda dapat mengarahkan klien yang sudah ada ke HotKV dan menjalankan perintah yang sama.