AI dan LLMAgen

Checkpoint LangGraph dan Memori Jangka Panjang

Persistenkan agen LangGraph di HotKV. Jeda, lanjutkan, dan jelajahi waktu melalui status graf, dan simpan memori jangka panjang yang dapat dicari berdasarkan makna.

uji konformansi lolos
81
saver
Sync + async
diperlukan
Tanpa lisensi
Langkah 1 dari 6
Instal

Satu paket untuk checkpointer dan store. Python 3.10 atau lebih baru.

Sesi contohplaying
# Instal
$ pip install langgraph-checkpoint-hotkv
Successfully installed langgraph-checkpoint-hotkv

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.

Masalahnya

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.

Cara HotKV menanganinya

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.

Langkah demi langkah

Apa yang terjadi, perintah demi perintah

  1. 01

    Instal

    Satu paket untuk checkpointer dan store. Python 3.10 atau lebih baru.

    pip install langgraph-checkpoint-hotkv
  2. 02

    Kompilasi dengan checkpointer HotKV

    Setiap langkah graf sekarang disimpan di HotKV.

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

    Jalankan sampai memerlukan persetujuan

    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"}})
  4. 04

    Berjam-jam kemudian, setelah restart

    Proses restart semalaman. Statusnya masih di HotKV, menunggu di langkah yang sama.

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

    Setujui dan lanjutkan

    Penyetuju berkata ya dan graf berlanjut dari checkpoint yang tersimpan.

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

    Ingat lintas thread

    Memori jangka panjang berada di store dan ditemukan lagi di percakapan mana pun berikutnya.

    store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})
Di mana ini cocok

Skenario dunia nyata

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.

Agen riset yang berjalan lama

Eksekusi yang gagal di langkah 40 dilanjutkan dari langkah 40, bukan mulai dari awal.

Debugging dan evaluasi

Kembali ke checkpoint sebelumnya mana pun, ubah masukan dan cabangkan, untuk melihat bagaimana agen akan berperilaku.

Bawaan

Yang Anda dapatkan

Checkpointer

HotKVSaver dan AsyncHotKVSaver menyimpan status graf di antara eksekusi, dengan interupsi, lanjutkan, dan perjalanan waktu.

Store jangka panjang

HotKVStore menyimpan item lintas thread, dapat dicari berdasarkan namespace, filter, atau makna, dengan kedaluwarsa opsional.

Teruji konformansi

Lolos rangkaian uji konformansi checkpointer LangGraph sendiri, 81 pengujian dalam 8 kemampuan, untuk kedua saver.

Tanpa modul, tanpa lisensi

Memakai tipe data inti HotKV dan indeks vektornya, dan bekerja dengan atau tanpa lisensi enterprise.

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

Pertanyaan umum

Apakah saya memerlukan lisensi enterprise?

Tidak. Checkpointer dan store memakai tipe data inti HotKV dan indeks vektor, dan bekerja pada server dengan atau tanpa lisensi.

Apakah async didukung?

Ya. AsyncHotKVSaver dan AsyncHotKVStore bekerja dengan ainvoke dan astream.

Bisakah beberapa aplikasi berbagi satu server?

Ya. Semuanya disimpan di bawah prefiks kunci, langgraph secara default, yang dapat Anda ubah per aplikasi atau lingkungan.

Kasus penggunaan terkait

Coba pada beban kerja Anda sendiri

HotKV berbicara protokol Redis, jadi Anda dapat mengarahkan klien yang sudah ada ke HotKV dan menjalankan perintah yang sama.