תהליכי עבודה עם בן אדם בלולאה
החזרים, שינויי חוזים ופריסות לייצור ממתינים לאישור של אדם, דקות או ימים, בלי להחזיק תהליך פתוח.
שומרים סוכני LangGraph על HotKV. משהים, ממשיכים ומטיילים בזמן במצב הגרף, ושומרים זיכרון לטווח ארוך שניתן לחפש בו לפי משמעות.
חבילה אחת ל-checkpointer ולמאגר. Python 3.10 ומעלה.
הדגמה מונפשת עם פקודות HotKV אמיתיות ותשובות לדוגמה. לחצו על כל שלב כדי לעבור אליו. הפקודות והתשובות נשארות באנגלית, בדיוק כפי שמקלידים ורואים ב-HotKV.
סוכן LangGraph ששומר את המצב שלו בזיכרון התהליך מאבד הכול בהפעלה מחדש. אישורים של בן אדם בלולאה לא יכולים להמתין לילה שלם, אי אפשר להמשיך הרצות שנכשלו, ושום דבר שהסוכן למד לא שורד עד השיחה הבאה.
langgraph-checkpoint-hotkv שומר את נקודות הביקורת של כל גרף ב-HotKV. אפשר להפסיק גרף ולהמשיך אותו, או להחזיר אותו לכל צעד קודם ולהסתעף ממנו. המאגר הנלווה שומר זיכרון לטווח ארוך בין שרשורים, שנמצא לפי מרחב שמות, לפי מסנן או, עם מודל embedding, לפי משמעות.
חבילה אחת ל-checkpointer ולמאגר. Python 3.10 ומעלה.
pip install langgraph-checkpoint-hotkvכל צעד של הגרף נשמר עכשיו ב-HotKV.
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])הגרף עובר על הצעדים שלו, שומר נקודת ביקורת אחרי כל אחד, ועוצר לפני ההחזר.
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})התהליך הופעל מחדש במהלך הלילה. המצב עדיין ב-HotKV, ממתין באותו צעד.
graph.get_state({"configurable": {"thread_id": "t-81"}}).nextהמאשר אומר כן והגרף ממשיך מנקודת הביקורת שנשמרה.
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})זיכרון לטווח ארוך חי במאגר ונמצא שוב בכל שיחה מאוחרת יותר.
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})החזרים, שינויי חוזים ופריסות לייצור ממתינים לאישור של אדם, דקות או ימים, בלי להחזיק תהליך פתוח.
הרצה שנכשלת בצעד 40 ממשיכה מצעד 40 במקום להתחיל מחדש.
חוזרים לכל נקודת ביקורת קודמת, משנים את הקלט ומסתעפים, כדי לראות איך הסוכן היה מתנהג.
HotKVSaver ו-AsyncHotKVSaver שומרים את מצב הגרף בין הרצות, עם עצירה, המשך וטיול בזמן.
HotKVStore שומר פריטים בין שרשורים, שניתן לחפש לפי מרחב שמות, מסנן או משמעות, עם תפוגה לפי בחירה.
עובר את חבילת התאימות של LangGraph עצמו ל-checkpointer, 81 בדיקות ב-8 יכולות, בשני ה-savers.
משתמש בסוגי הנתונים של הליבה של HotKV ובאינדקס הווקטורי שלו, ועובד עם רישיון 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"}})לא. ה-checkpointer והמאגר משתמשים בסוגי הנתונים של הליבה של HotKV ובאינדקס הווקטורי, ועובדים על שרת עם רישיון או בלעדיו.
כן. AsyncHotKVSaver ו-AsyncHotKVStore עובדים עם ainvoke ו-astream.
כן. הכול נשמר תחת קידומת מפתח, langgraph כברירת מחדל, שאפשר לשנות לכל אפליקציה או סביבה.
HotKV מדבר את פרוטוקול Redis, ולכן אפשר להפנות אליו לקוח קיים ולהריץ את אותן פקודות.