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

بناء محلل البيانات ووكيل التصور باستخدام Swarm Architecture

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

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

ما هي وكلاء سرب؟

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

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

المبادئ الأساسية لوكلاء السرب

تعتمد أنظمة السرب على بعض المبادئ الأساسية التي تتيح التنسيق بدون ذكاء مركزي. يساعدك فهم هذه المبادئ على تصميم بنيات وكيل قوية.

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

تصميم محلل البيانات وسرب تصور البيانات

قبل البرمجة، نقوم بتصميم النظام على مستوى عالٍ. سيتضمن السرب دورين على الأقل: وكيل محلل البيانات، ووكيل تصور البيانات. يقوم المنسق بتوجيه الاستفسارات إلى المتخصصين وجمع مخرجاتهم. فيما يلي نظرة عامة على البنية وتدفق البيانات.

بنية النظام عالية المستوى

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

يشبه التصميم تشكيل الفريق لأن المنسق يعمل كقائد الفريق الذي يقوم بتفويض المهام إلى المتخصصين. يتمتع كل وكيل بإمكانية الوصول إلى السياق المشترك (مثل الاستعلام والنتائج السابقة وما إلى ذلك) مما يمكّنه من الحفاظ على فهم شامل للموقف بينما يأخذ دوره في حل المشكلة. تتميز بنية النظام بالمظهر التالي:

  • وكيل محلل البيانات: جلب البيانات الأولية وتحليلها وفقًا للاستعلام.
  • وكيل تصور البيانات: يتلقى نتائج التحليل ويولد الرسوم البيانية.

يمكن توسيع هذا الإعداد المعياري بمزيد من الوكلاء إذا لزم الأمر:

أدوار الوكيل ومسؤولياته

وكيل محلل البيانات

يقوم وكيل محلل البيانات بإدارة معالجة البيانات الشاملة، بما في ذلك تنظيف مجموعات البيانات، وسحب البيانات من مصادر مثل ملفات CSV أو قواعد البيانات، وإجراء التحليلات الإحصائية. يستخدم مكتبات Python وأدوات قاعدة البيانات لحساب المقاييس وإرجاع رؤى رقمية واضحة.

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

وكيل تصور البيانات

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

مسترشدًا بمطالبة تجعله خبيرًا في التصور، يستخدم الوكيل أدوات التخطيط لإنشاء مخططات من النتائج الواردة. يقوم بإخراج العناصر المرئية كمخططات مضمنة أو روابط صور تدعم استعلام المستخدم بشكل مباشر.

وكيل الأوركسترا / المنسق

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

تدفق البيانات بين الوكلاء

  • استعلام المستخدم إلى المنسق: يرسل المستخدم استعلامًا (على سبيل المثال “ما هو متوسط ​​المبيعات لكل منطقة وإظهاره“). يأخذ الوكيل المنسق هذا كمدخل.
  • منسق لمحلل البيانات: يستخدم المنسق أداة التسليم لاستدعاء وكيل محلل البيانات، وتمرير الاستعلام وأي سياق مطلوب (مثل مرجع مجموعة البيانات).
  • يقوم محلل البيانات بمعالجة البيانات: يقوم وكيل محلل البيانات بتحميل البيانات ذات الصلة أو الاستعلام عنها، وإجراء العمليات الحسابية (على سبيل المثال، التجميع حسب المنطقة، ومتوسطات الحوسبة) وإرجاع النتائج (على سبيل المثال، جدول المتوسطات).
  • منسق لوكيل التصور: يقوم المنسق الآن باستدعاء وكيل تصور البيانات وتزويده بنتائج التحليل.

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

تنفيذ نظام وكيل السرب

يحتاج الفريق إلى تنفيذ أعمال التنفيذ الخاصة به باستخدام LangGraph Swarm بناءً على تفاصيله الموجودة في دفتر الملاحظات المقدم.

يعمل النظام من خلال وكيلين يتضمنان وكيل محلل بيانات Text-to-SQL ووكيل تصور EDA الذي يقوم بتحليل قاعدة بيانات مصرفية حقيقية. يسمح السرب للوكلاء بالعمل معًا باستخدام أساليب التسليم المنظمة التي تحل محل الحاجة إلى أنظمة التشغيل المعدة مسبقًا.

إعداد البيئة والتبعيات

سنبدأ العملية بتثبيت كافة التبعيات اللازمة لمشروعنا. يتطلب المشروع نماذج LangChain وLangGraph Swarm وOpenAI جنبًا إلى جنب مع مكتبات علوم البيانات القياسية.

pip install langchain==1.2.4 \ 
           langgraph==1.0.6 \ 
           langgraph-swarm \ 
           langchain-openai==1.1.4 \ 
           langchain-community==0.4.1 \ 
           langchain-experimental==0.4.0

نقوم أيضًا بتثبيت SQLite نظرًا لأن النظام يستعلم عن قاعدة بيانات مصرفية محلية.

apt-get install sqlite3 -y 

بمجرد التثبيت، نقوم باستيراد الوحدات المطلوبة لتنسيق الوكيل واستعلام SQL والتصور.

from langchain_openai import ChatOpenAI 
from langgraph_swarm import create_swarm, create_handoff_tool, SwarmState 
from langgraph.checkpoint.memory import MemorySaver 
from langchain_community.utilities import SQLDatabase 
from langchain_community.agent_toolkits import SQLDatabaseToolkit 
from langchain_experimental.utilities import PythonREPL

في هذه المرحلة، نقوم أيضًا بتهيئة LLM والاتصال بقاعدة البيانات.

llm = ChatOpenAI(model="gpt-4.1-mini", temperature=0) 
db = SQLDatabase.from_uri("sqlite:///banking_insights.db") 
sql_toolkit = SQLDatabaseToolkit(db=db, llm=llm) 
sql_tools = sql_toolkit.get_tools()

وهذا يمنح وكلائنا وصولاً منظمًا إلى قاعدة البيانات دون كتابة SQL أولية يدويًا.

تحديد مطالبات نظام الوكيل

يستخدم نظام LangGraph Swarm المطالبات لإملاء إجراءات الوكيل عبر إطار العمل التشغيلي الخاص به. كل وكيل لديه مسؤولية واضحة جدا.

موجه وكيل محلل البيانات

يقوم وكيل محلل البيانات بتحويل الأسئلة المنطوقة إلى استعلامات SQL التي يستخدمها لإنشاء ملخصات النتائج.

DATA_ANALYST_PROMPT = """ 

You are a Data Analyst specialized in SQL queries for retail banking analytics. 

Your primary tasks: 
- Convert user questions into correct SQL queries 
- Retrieve accurate data from the database 
- Provide concise, factual summaries 
- Hand off results to the EDA Visualizer when visualization is needed 
"""

هذا الوكيل لا يرسم المخططات أبدًا. وظيفتها تحليلية بحتة.

موجه وكيل متخيل EDA

يقوم وكيل EDA Visualizer بتحويل نتائج الاستعلام إلى مخططات باستخدام Python.

EDA_VISUALIZER_PROMPT = """ 

You are an EDA Visualizer — an expert in data analysis and visualization. 

Your responsibilities: 
- Create clear and business-ready charts 
- Use Python for plotting 
- Return visual insights that support decision-making 
"""

يضمن هذا الفصل بقاء كل وكيل مركزًا ويمكن التنبؤ به.

إنشاء أدوات التسليم بين الوكلاء

يتواصل وكلاء السرب باستخدام أدوات التسليم بدلاً من المكالمات المباشرة. هذه هي إحدى نقاط القوة الرئيسية في LangGraph Swarm.

handoff_to_eda = create_handoff_tool(
    agent_name="eda_visualizer",
    description="Transfer to the EDA Visualizer for charts and visual analysis",
)

handoff_to_analyst = create_handoff_tool(
    agent_name="data_analyst",
    description="Transfer back to the Data Analyst for additional SQL analysis",
)

تسمح هذه الأدوات للوكلاء باتخاذ القرار متى يجب أن يتولى وكيل آخر المسؤولية.

إنشاء الوكلاء

الآن نقوم بإنشاء الوكلاء الفعليين باستخدام create_agent.

data_analyst_agent = create_agent( 
   llm, 
   tools=sql_tools + (handoff_to_eda), 
   system_prompt=DATA_ANALYST_PROMPT, 
   name="data_analyst" 
)

يحصل وكيل محلل البيانات على:

  • أدوات SQL
  • أداة تسليم إلى المتخيل
eda_visualizer_agent = create_agent( 
   llm, 
   tools=(python_repl_tool, handoff_to_analyst), 
   system_prompt=EDA_VISUALIZER_PROMPT, 
   name="eda_visualizer" 
)

يحصل وكيل Visualizer على:

  • بيثون REPL للتخطيط
  • أداة تسليم إلى المحلل

يتيح هذا التسليم ثنائي الاتجاه التفكير التكراري.

بناء الرسم البياني سرب

بعد أن أصبح العملاء جاهزين، نقوم الآن بتجميعهم في ملف سرب لانغغراف.

workflow = create_swarm( 
   agents=(data_analyst_agent, eda_visualizer_agent), 
   default_active_agent="data_analyst", 
   state_schema=SwarmState 
)

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

checkpointer = MemorySaver() 
swarm_graph = workflow.compile(checkpointer=checkpointer)

وظيفة التنفيذ

الوظيفة التالية بمثابة واجهة عامة إلى السرب.

def run_banking_analysis(query: str, thread_id: str = "default", verbose: bool = True):
    return swarm_graph.invoke(
        {"messages": (("user", query))},
        config={"configurable": {"thread_id": thread_id}},
    )

تشغيل السرب: مثال شامل

الآن، دعونا نستعرض مثالًا حقيقيًا لنفهم كيف يتصرف السرب.

result4 = run_banking_analysis( 
   "Start with customers grouped by state, then drill down into branches    within that state, and finally into account types under each branch —    showing the number of accounts at each level", 
   thread_id="test4", 
   verbose=True 
)

إجابة:

======================================================================
SWARM ANALYSIS: 'Start with customers grouped by state, then drill down into branches within that state, and finally into account types under each branch — showing the number of accounts at each level'
======================================================================

USER: Start with customers grouped by state, then drill down into branches within that state, and finally into account types under each branch — showing the number of accounts at each level

الرسم البياني الشريطي
EDA VISUALIZER: I have created a grouped bar chart showing the number of accounts by customer state, branch, and account type. Each group of bars represents a branch, with bars colored and labeled by the combination of state and account type.  

Insights:  
- The Dubai Marina branch has a higher number of checking accounts in the DL state compared to savings accounts.  
- Paris Champs-Élysées shows a balanced distribution of checking and savings accounts across states, with MH state having the highest savings accounts there.  
- Sydney Harbour branch has a notable number of checking accounts in DL and KA states, while savings accounts are more prominent in MH and DL states.  

This visualization helps identify which branches and states have more accounts by type, enabling targeted marketing or resource allocation for account management.  

If you want, I can also prepare a hierarchical treemap or sunburst chart to better visualize the drill-down structure from state to branch to account type. Would you like me to do that? ======================================================================  

EXECUTION COMPLETE (3 steps) ======================================================================

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

خاتمة

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

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

الأسئلة المتداولة

س1. ما هي بنية السرب في الذكاء الاصطناعي؟

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

س2. ما الأدوار التي يلعبها الوكلاء في نظام السرب هذا؟

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

س3. لماذا نستخدم وكلاء السرب بدلاً من وكيل ذكاء اصطناعي واحد؟

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

فيبين فاشيشثا

مرحبًا! أنا Vipin، متحمس لعلم البيانات والتعلم الآلي ولدي أساس قوي في تحليل البيانات وخوارزميات التعلم الآلي والبرمجة. لدي خبرة عملية في بناء النماذج وإدارة البيانات الفوضوية وحل مشكلات العالم الحقيقي. هدفي هو تطبيق الرؤى المستندة إلى البيانات لإنشاء حلول عملية تؤدي إلى تحقيق النتائج. أنا حريص على المساهمة بمهاراتي في بيئة تعاونية مع الاستمرار في التعلم والنمو في مجالات علوم البيانات والتعلم الآلي والبرمجة اللغوية العصبية.

قم بتسجيل الدخول لمواصلة القراءة والاستمتاع بالمحتوى الذي ينظمه الخبراء.


Source link

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى