...

/

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

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

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

سنغطي ما يلي...

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

الحواف هي الطرق التي تربط بين هذه المحطات، وتحدد الطريق الذي يجب اتباعه بعد ذلك.

ماذا عن الحالة ؟ إنها بمثابة دفتر يوميات سفرك، حيث تسجّل أين كنت، وأين أنت الآن، وما اكتسبته خلال رحلتك. تتكون الرسوم البيانية هنا من ثلاثة أجزاء رئيسية: العقد، والحواف، والحالة. تخيّل أنك تخطط لرحلة برية.

Press + to interact

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

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

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

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

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

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

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

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

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

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

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

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

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