الذكاء الاصطناعي وLLMالوكلاء

نقاط تحقق LangGraph

احفظ وكلاء LangGraph على HotKV. أوقفهم مؤقتًا واستأنفهم وتنقّل عبر الزمن في حالة الرسم البياني، واحتفظ بذاكرة طويلة المدى قابلة للبحث حسب المعنى.

اختبار توافق ناجح
81
أدوات الحفظ
متزامن + غير متزامن
مطلوب
دون ترخيص
الخطوة 1 من 6
التثبيت

حزمة واحدة للـ checkpointer والمخزن. Python 3.10 أو أحدث.

جلسة توضيحيةplaying
# التثبيت
$ pip install langgraph-checkpoint-hotkv
Successfully installed langgraph-checkpoint-hotkv

عرض متحرك بأوامر HotKV حقيقية وردود توضيحية. انقر على أي خطوة للانتقال إليها. تبقى الأوامر والردود بالإنجليزية، تمامًا كما تكتبها وتراها في HotKV.

المشكلة

وكيل LangGraph الذي يحتفظ بحالته في ذاكرة العملية يفقد كل شيء عند إعادة التشغيل. فلا تستطيع الموافقات البشرية أن تنتظر حتى الصباح، ولا يمكن استئناف الجولات الفاشلة، ولا يبقى شيء مما تعلّمه الوكيل إلى المحادثة التالية.

كيف يتعامل HotKV معها

تخزّن langgraph-checkpoint-hotkv نقاط التحقق لكل رسم بياني في HotKV. يمكن مقاطعة الرسم البياني واستئنافه، أو إرجاعه إلى أي خطوة سابقة والتفرع منها. ويحتفظ المخزن المرافق بذاكرة طويلة المدى عبر الخيوط، يُعثر عليها حسب مساحة الأسماء أو المرشح، أو حسب المعنى مع نموذج تضمين.

خطوة بخطوة

ما يحدث، أمرًا بأمر

  1. 01

    التثبيت

    حزمة واحدة للـ checkpointer والمخزن. Python 3.10 أو أحدث.

    pip install langgraph-checkpoint-hotkv
  2. 02

    ترجِم الرسم البياني مع checkpointer من HotKV

    كل خطوة في الرسم البياني تُحفظ الآن في HotKV.

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

    شغّل حتى يحتاج إلى موافقة

    يمضي الرسم البياني في خطواته، ويحفظ نقطة تحقق بعد كل منها، ويتوقف قبل الاسترداد.

    graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})
  4. 04

    بعد ساعات، وبعد إعادة تشغيل

    أُعيد تشغيل العملية ليلًا. والحالة ما زالت في HotKV، تنتظر عند الخطوة نفسها.

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

    وافق واستأنف

    يوافق الموافِق ويتابع الرسم البياني من نقطة التحقق المحفوظة.

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

    تذكّر عبر الخيوط

    تعيش الذاكرة طويلة المدى في المخزن ويُعثر عليها مجددًا في أي محادثة لاحقة.

    store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})
أين يناسب

سيناريوهات من الواقع

مسارات عمل بمشاركة بشرية

تنتظر المبالغ المستردة وتغييرات العقود وعمليات النشر في الإنتاج موافقة شخص، لدقائق أو أيام، دون إبقاء عملية مفتوحة.

وكلاء بحث طويلو التشغيل

الجولة التي تفشل في الخطوة 40 تُستأنف من الخطوة 40 بدل البدء من جديد.

تصحيح الأخطاء والتقييم

عُد إلى أي نقطة تحقق سابقة، وغيّر المدخلات وتفرّع، لترى كيف كان الوكيل سيتصرف.

مدمج

ما تحصل عليه

Checkpointer

يحتفظ HotKVSaver وAsyncHotKVSaver بحالة الرسم البياني بين الجولات، مع المقاطعة والاستئناف والتنقل عبر الزمن.

مخزن طويل المدى

يحتفظ HotKVStore بالعناصر عبر الخيوط، قابلة للبحث حسب مساحة الأسماء أو المرشح أو المعنى، مع انتهاء صلاحية اختياري.

مُختبَر للتوافق

يجتاز مجموعة اختبارات التوافق الخاصة بـ checkpointer من LangGraph نفسها، 81 اختبارًا في 8 قدرات، لكلتا أداتي الحفظ.

دون وحدات ودون ترخيص

يستخدم أنواع البيانات الأساسية في HotKV وفهرس المتجهات، ويعمل مع ترخيص enterprise أو دونه.

Checkpointer والمخزن

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

أسئلة شائعة

هل أحتاج إلى ترخيص enterprise؟

لا. يستخدم الـ checkpointer والمخزن أنواع البيانات الأساسية في HotKV وفهرس المتجهات، ويعملان على خادم بترخيص أو دونه.

هل الوضع غير المتزامن مدعوم؟

نعم. يعمل AsyncHotKVSaver وAsyncHotKVStore مع ainvoke وastream.

هل يمكن لعدة تطبيقات أن تتشارك خادمًا واحدًا؟

نعم. يُخزَّن كل شيء تحت بادئة مفاتيح، langgraph افتراضيًا، ويمكنك تغييرها لكل تطبيق أو بيئة.

حالات استخدام ذات صلة

جرّبه على عبء عملك

يتحدث HotKV بروتوكول Redis، لذا يمكنك توجيه عميل موجود إليه وتشغيل هذه الأوامر نفسها.