مسارات عمل بمشاركة بشرية
تنتظر المبالغ المستردة وتغييرات العقود وعمليات النشر في الإنتاج موافقة شخص، لدقائق أو أيام، دون إبقاء عملية مفتوحة.
احفظ وكلاء LangGraph على HotKV. أوقفهم مؤقتًا واستأنفهم وتنقّل عبر الزمن في حالة الرسم البياني، واحتفظ بذاكرة طويلة المدى قابلة للبحث حسب المعنى.
حزمة واحدة للـ checkpointer والمخزن. Python 3.10 أو أحدث.
عرض متحرك بأوامر HotKV حقيقية وردود توضيحية. انقر على أي خطوة للانتقال إليها. تبقى الأوامر والردود بالإنجليزية، تمامًا كما تكتبها وتراها في HotKV.
وكيل LangGraph الذي يحتفظ بحالته في ذاكرة العملية يفقد كل شيء عند إعادة التشغيل. فلا تستطيع الموافقات البشرية أن تنتظر حتى الصباح، ولا يمكن استئناف الجولات الفاشلة، ولا يبقى شيء مما تعلّمه الوكيل إلى المحادثة التالية.
تخزّن langgraph-checkpoint-hotkv نقاط التحقق لكل رسم بياني في HotKV. يمكن مقاطعة الرسم البياني واستئنافه، أو إرجاعه إلى أي خطوة سابقة والتفرع منها. ويحتفظ المخزن المرافق بذاكرة طويلة المدى عبر الخيوط، يُعثر عليها حسب مساحة الأسماء أو المرشح، أو حسب المعنى مع نموذج تضمين.
حزمة واحدة للـ 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 بالعناصر عبر الخيوط، قابلة للبحث حسب مساحة الأسماء أو المرشح أو المعنى، مع انتهاء صلاحية اختياري.
يجتاز مجموعة اختبارات التوافق الخاصة بـ checkpointer من LangGraph نفسها، 81 اختبارًا في 8 قدرات، لكلتا أداتي الحفظ.
يستخدم أنواع البيانات الأساسية في 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، لذا يمكنك توجيه عميل موجود إليه وتشغيل هذه الأوامر نفسها.