Search⌘ K
AI Features

ما هي المكونات الرئيسية لـ LangGraph؟

استكشف عقد LangGraph وحوافها وحالتها من أجل سير العمل الديناميكي.

لنبسط الأمر أكثر. يعتمد LangGraph على الرسوم البيانية ، وهو ما يتضح جليًا من اسمه. تتكون الرسوم البيانية من ثلاثة أجزاء رئيسية: العقد، والحواف، والحالة. تخيل أنك تخطط لرحلة برية. العقد هي الخطوات التي يحدث فيها شيء ما، مثل تناول القهوة أو التزود بالوقود. أما الحواف فهي الطرق التي تربط هذه المحطات، وتحدد المسار التالي.

أما الحالة ؟ فهي أشبه بمذكرات سفرك، حيث تسجل فيها الأماكن التي كنت فيها، والمكان الذي أنت فيه الآن، وما اكتسبته على طول الطريق.

في لانغغراف، تتولى العُقد المهام الأساسية، مثل معالجة إدخال المستخدم أو تشغيل نموذج اللغة. أما الحواف فتُحدد الخطوة التالية بناءً على الحالة، وتتطور هذه الحالة مع إنجاز المهام. يشبه الأمر امتلاك نظام تحديد مواقع ذكي (GPS) يُعدّل مساره في الوقت الفعلي بدلاً من اتباع مسار ثابت، مما يجعل لانغغراف مثالياً لسير العمل الذي يتكيف ديناميكياً.

ما هي الحالة في لغة LangGraph؟

قبل أن نبدأ بناء أي شيء فاخر، دعونا نتحدث عن الدولة. القلب النابض لمخططنا. إذا كان سير عملنا بمثابة منزل، فإن الحالة ستكون أساسه، تحافظ على كل شيء متينًا ومنظمًا. ولتبسيط الأمر، يمكننا أيضًا اعتبارها ذاكرة مخططنا، حيث تتتبع ما يحدث، وما تغير، وما سيأتي لاحقًا.

كل عقدة وحافة في الرسم البياني الخاص بنا تتفاعل مع الحالة، وتقرأ منها، وتكتب إليها، وتحدثها مع تقدم سير العمل.

تُعدّ الحالة بمثابة الذاكرة المشتركة لسير عملك. تقوم العُقد والحواف بالكتابة إليها والقراءة منها، مما يضمن بقاء كل شيء مُنظّمًا. لجعل هذه المفكرة مفيدة، عليك تحديد المعلومات التي ترغب في تخزينها فيها. وهنا يأتي دور المخطط . المخطط هو ببساطة طريقة مُهيكلة لتحديد نوع المعلومات التي ترغب في تتبعها.

على سبيل المثال:

  • إذا كنت تقوم بإنشاء روبوت محادثة، فقد يتضمن مخططك حقولًا مثلuser_input (ما قاله المستخدم) أوbot_response (ما يرد عليه برنامج الدردشة الآلي).

  • إذا كنت تقوم بإنشاء نظام تذاكر، فقد يحتوي المخطط علىticket_status (مثلاً، "مفتوح" أو "مغلق") وassigned_agent .

يضمن المخطط أن تكون حالتك قابلة للتنبؤ ومتسقة، على غرار تسمية الأقسام في دفتر ملاحظات بحيث تعرف دائمًا مكان العثور على المعلومات. لتعريف مخطط حالتنا في LangGraph، نستخدم عادةً أدوات مثلTypedDict أوPydantic إذا كنت جديدًا على هذه المصطلحات، فلا تقلق - إنها ببساطة طرق لتنظيم المعلومات والتحقق من صحتها في دفتر الملاحظات المشترك الخاص بالرسم البياني الخاص بك.

هل يمكن أن توجد ولايات متعددة؟

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

وهذا يعني أن الأجزاء المختلفة من الرسم البياني الخاص بك يمكن أن تعمل بمخططات حالة مميزة خاصة بها، مما يسمح بسير عمل أكثر نمطية وتنظيمًا.

مع ذلك، تُضيف إدارة حالات متعددة تعقيدًا. بصفتك مهندسًا، أنت بحاجة إلى فهم واضح لكيفية تفاعل هذه الحالات لضمان قراءة العُقد من قنوات الحالة الصحيحة وكتابتها إليها. يُعدّ التوثيق السليم والبنية المُحكمة أمرًا ضروريًا لتجنب الالتباس والحفاظ على موثوقية سير العمل. ...