بناء فريق بحثي متعدد الوكلاء بالذكاء الاصطناعي باستخدام LangGraph و Gemini لتوليد التقارير تلقائيًا

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

1. التثبيت والإعداد:

  • أولاً، نقوم بتثبيت المكتبات اللازمة، بما في ذلك LangGraph وتكامل LangChain مع Gemini من جوجل:
pip install langgraph langchain-google-genai langchain-community langchain-core python-dotenv
  • ثم، نقوم باستيراد الوحدات الأساسية وإعداد بيئتنا عن طريق إدخال مفتاح واجهة برمجة التطبيقات (API Key) الخاص بجوجل بأمان باستخدام وحدة getpass. هذا يضمن إمكانية مصادقة نموذج اللغة الكبير Gemini دون الكشف عن المفتاح في الكود:
import os
import getpass
GOOGLE_API_KEY = getpass.getpass("أدخل مفتاح واجهة برمجة تطبيقات جوجل الخاص بك: ")
os.environ["GOOGLE_API_KEY"] = GOOGLE_API_KEY

2. تعريف بنية البيانات:

نقوم بتعريف فئتين من نوع TypedDict للحفاظ على حالة منظمة واستجابات مشتركة بين جميع الوكلاء في LangGraph:

  • AgentState: تتبع الرسائل، وحالة سير العمل، والموضوع، والنتائج التي تم جمعها.
  • AgentResponse: توحد مخرجات كل وكيل.

كما نقوم بإنشاء دالة مساعدة لبدء تشغيل نموذج اللغة الكبير Gemini باستخدام نموذج محدد ودرجة حرارة محددة، مما يضمن سلوكًا متسقًا عبر جميع الوكلاء.

3. إنشاء وكلاء متخصصين:

سنقوم بإنشاء وكلاء متخصصين بأدوار محددة:

3.1 وكيل البحث:

يُكلف وكيل البحث بتحليل الموضوع بدقة، وتحديد المجالات الرئيسية التي تحتاج إلى بحث، وتقديم النتائج والأفكار الأولية، واقتراح زوايا محددة لتحليل أعمق. يستخدم ChatPromptTemplate لتعريف سلوكه وربطه بنموذج اللغة الكبير Gemini.

3.2 وكيل التحليل:

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

3.3 وكيل الكتابة:

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

3.4 وكيل الإشراف:

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

4. بناء رسم بياني لسير العمل:

نقوم بتجميع وتنفيذ سير العمل متعدد الوكلاء بالكامل باستخدام LangGraph. نقوم بتعريف رسم بياني لفريق البحث، والذي يتكون من عقد لكل وكيل، وروابط منطقية بينها. ثم نقوم بتجميع هذا الرسم البياني مع الذاكرة باستخدام MemorySaver للحفاظ على سجل المحادثة.

5. تشغيل فريق البحث:

تُشغل دالة run_research_team() العملية خطوة بخطوة، مما يسمح لنا بتتبع مساهمة كل وكيل في الوقت الفعلي.

6. إمكانيات التشغيل التفاعلي والتخصيص:

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

7. تصور الرسم البياني ومراقبة الأداء:

  • تصور الرسم البياني: توفر دالة visualize_graph() نظرة عامة على هيكل اتصالات الوكيل.
  • مراقبة الأداء: تتبع دالة monitor_research_performance() وقت التشغيل، وحجم الرسائل، وحجم التقرير، مما يساعد في تقييم كفاءة النظام.

8. عرض توضيحي سريع:

يوضح quick_start_demo() كيفية تعاون الوكلاء بسلاسة لإنشاء تقارير ثاقبة.

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

المصدر: MarkTechPost