حل يستند إلى لغة Python يستخدم التفكير متعدد الوكلاء ، حيث يتعاون العديد من وكلاء الذكاء الاصطناعي لإنشاء استجابات مثالية لمطالبات المستخدم. من خلال محاكاة التفاعلات بين العملاء ودمج Swarm Framework for Intelligence ، يعمل النظام على تعزيز قدرات التفكير المنطقي لتقديم إجابات دقيقة ومحسنة. يمكن إضافة الوكلاء المخصصين عبر JSON، مما يسمح لك بتخصيص شخصياتهم وأنماط التفاعل والمزيد. يستفيد النظام من التخزين المؤقت الفوري لتحسين الأداء وتقليل زمن الوصول وتكاليف المطالبات المتكررة.
ينشئ البرنامج النصي للاستدلال متعدد الوكلاء تجربة chatbot تفاعلية حيث يتعاون العديد من وكلاء الذكاء الاصطناعي من خلال عملية تفكير منظمة لتقديم الإجابات المثالية. يجلب كل وكيل وجهات نظر وخبرات فريدة، ومن خلال الخطوات المتكررة للمناقشة والتحقق والنقد والتحسين، يتقاربون للحصول على استجابة دقيقة وعالية الجودة.
بالإضافة إلى ذلك، يدمج النظام إطار عمل Swarm للذكاء لتعزيز التعاون بين العملاء. يسمح Swarm للعملاء بالتنسيق بكفاءة، والاستفادة من الذكاء الجماعي لحل المهام المعقدة.
يمكن للمستخدمين أيضًا الدردشة مع وكلاء فرديين . يدرك الوكلاء بعضهم البعض، بما في ذلك شخصياتهم ومراوغاتهم، ويمكنهم الإجابة على الأسئلة المتعلقة ببعضهم البعض، مما يوفر تجربة غنية وتفاعلية.
استنساخ المستودع :
git clone https://github.com/AdieLaine/multi-agent-reasoning.git
انتقل إلى دليل المشروع :
cd multi-agent-reasoning
تثبيت الحزم المطلوبة :
pip install openai colorama tiktoken
تثبيت سرب:
pip install git+ssh://[email protected]/openai/swarm.git
or
pip install git+https://github.com/openai/swarm.git
ارجع إلى مستودع Swarm's GitHub للحصول على تعليمات التثبيت التفصيلية.
قم بتعيين مفتاح OpenAI API الخاص بك :
قم بتعيين مفتاح API الخاص بك كمتغير بيئة:
export OPENAI_API_KEY= ' your-api-key-here '
وبدلاً من ذلك، يمكنك تعيينه مباشرة في البرنامج النصي الخاص بك أو استخدام ملف .env
.
قم بتشغيل البرنامج النصي باستخدام بايثون:
python reasoning.py
عند تشغيل البرنامج النصي، ستظهر لك القائمة:
═════════════════════════════════════════════════════════════════════════════════════════════
║ Multi-Agent Reasoning Chatbot ║
═════════════════════════════════════════════════════════════════════════════════════════════
Please select an option:
1. Chat with an agent
2. Use reasoning logic
3. Use Swarm-based reasoning
4. Exit
Enter your choice (1/2/3/4):
الخيار 1: الدردشة مع وكيل
الخيار 2: استخدام المنطق المنطقي
الخيار 3: استخدام المنطق القائم على السرب
الخيار 4: الخروج
يستخدم نظام الاستدلال متعدد الوكلاء نماذج OpenAI محددة:
o1-preview-2024-09-12
لمهام الاستدلال.gpt-4o
لتفاعلات الدردشة مع الوكلاء.gpt-4o
.تدعم هذه النماذج الميزات المتقدمة وتقارير استخدام الرمز المميز، مما يسمح للنظام بتوفير معلومات مفصلة عن استخدام الرمز المميز بعد كل استجابة.
الهدف : يسمح للمستخدم بالدردشة مباشرة مع الوكيل المحدد.
مثال :
يكمن جوهر وظيفة chatbot في عملية التفكير التي يستخدمها الوكلاء. تم تصميم هذه العملية لمحاكاة بيئة تعاونية حيث يفكر الوكلاء بشكل نقدي، ويتحققون من الحقائق، ويتحدون وجهات نظر بعضهم البعض، وينقحون استجاباتهم بناءً على التعليقات البناءة.
الهدف : يقوم الوكلاء بإنشاء استجاباتهم الأولية لمطالبة المستخدم بناءً على تفكيرهم ومعرفتهم الفردية.
مثال :
الهدف : يتحقق الوكلاء من دقة وصحة إجاباتهم لضمان صحتها الواقعية.
مثال :
الهدف : ينتقد الوكلاء استجابات بعضهم البعض التي تم التحقق منها لتحديد مجالات التحسين أو الإغفال أو التحيز.
مثال :
الهدف : يقوم الوكلاء بتحسين استجاباتهم من خلال دمج التعليقات من الانتقادات وتحسين تفكيرهم الأولي.
مثال :
الهدف : دمج الإجابات المنقحة من جميع العملاء في إجابة واحدة ومتماسكة وشاملة.
blend_responses
.مثال :
الهدف : دمج تعليقات المستخدم لتحسين الاستجابة بشكل أكبر، وضمان الرضا والدقة.
MAX_REFINEMENT_ATTEMPTS
.مثال :
الهدف : السماح للمحادثة بالحفاظ على السياق عبر مطالبات المستخدمين المتعددة لإجراء حوار متماسك.
مثال :
يعمل تكامل Swarm على تحسين نظام الاستدلال متعدد الوكلاء من خلال تمكين التنسيق الديناميكي للوكلاء وتفويض المهام. يتيح Swarm للوكلاء التعاون بكفاءة، والاستفادة من الذكاء الجماعي لحل المهام المعقدة وتحسين الاستجابة.
يركز Swarm على جعل تنسيق الوكيل وتنفيذه خفيف الوزن، ويمكن التحكم فيه بشكل كبير، ويمكن اختباره بسهولة. ويحقق ذلك من خلال تجريدين بدائيين: الوكلاء وعمليات التسليم . يشمل الوكيل التعليمات والأدوات ويمكنه، في أي وقت، اختيار تسليم المحادثة إلى وكيل آخر.
تهيئة عميل Swarm : يقوم النظام بتهيئة عميل Swarm لإدارة تفاعلات الوكيل.
from swarm import Agent , Swarm
client = Swarm ()
تهيئة الوكيل :
agents.json
.التعامل مع المحادثة :
الهدف : استخدام Swarm Framework for Intelligence لتنسيق الوكلاء ديناميكيًا، مما يسمح بالتعاون الفعال وتفويض المهام.
التهيئة :
agents.json
.مناقشة :
client.run()
الخاصة بـ Swarm.تَحَقّق :
النقد :
الصقل :
ردود المزج :
blend_responses
.مثال :
الهدف : توفير واجهة دردشة تعمل على تعزيز إمكانيات Swarm للتفاعل السلس مع الوكيل.
وكيل سرب للدردشة :
التعامل مع المحادثة :
def swarm_chat_interface ( conversation_history ):
# Load Swarm agent's configuration
swarm_agent = ... # Initialize Swarm agent
messages = [{ "role" : "system" , "content" : swarm_agent . instructions }]
messages . extend ( conversation_history )
response = client . run ( agent = swarm_agent , messages = messages )
swarm_reply = response . messages [ - 1 ][ 'content' ]. strip ()
return swarm_reply
الاستجابات الديناميكية :
مثال :
تصميم الوكيل :
تعريفات الوظيفة :
متغيرات السياق :
معالجة الأخطاء :
الاختبار :
ما هو Swarm وكيف يعزز النظام؟
هل أحتاج إلى تعديل وكلائي الحاليين للعمل مع Swarm؟
Agent
. يمكن تكييف الوكلاء الحاليين من خلال دمج بنية Swarm واتفاقياتها.هل يمكنني إضافة المزيد من الوكلاء إلى نظام Swarm؟
agents.json
وتهيئتهم في النظام.كيف يتعامل Swarm مع عمليات تسليم الوكيل؟
هل Swarm متوافق مع النماذج المستخدمة في النظام؟
gpt-4o
. يعمل التخزين المؤقت الفوري على تحسين كفاءة نظام الاستدلال متعدد الوكلاء عن طريق تقليل زمن الوصول والتكلفة عند التعامل مع المطالبات المتكررة أو الطويلة. وهو يعمل عن طريق التخزين المؤقت لأطول البادئات الشائعة للمطالبات، مما يسمح بمعالجة أسرع للطلبات اللاحقة التي تعيد استخدام هذه البادئات.
مدة ذاكرة التخزين المؤقت :
usage
يعرض تفاصيل استخدام الرمز المميز. "usage" : {
"prompt_tokens" : 2006 ,
"completion_tokens" : 300 ,
"total_tokens" : 2306 ,
"prompt_tokens_details" : {
"cached_tokens" : 1920
},
"completion_tokens_details" : {
"reasoning_tokens" : 0
}
}
cached_tokens
إلى عدد الرموز المميزة التي تم استرجاعها من ذاكرة التخزين المؤقت. يتم تكوين الوكلاء عبر ملف agents.json
، مما يسمح بتخصيص سماتهم بسهولة.
الموقع : يجب وضعه في نفس الدليل مثل البرنامج النصي reasoning.py
.
بناء :
{
"agents" : [
{
"name" : " Agent 47 " ,
"system_purpose" : " You are a logical and analytical assistant, focusing on facts and clear reasoning. " ,
"interaction_style" : { ... },
"ethical_conduct" : { ... },
"capabilities_limitations" : { ... },
"context_awareness" : { ... },
"adaptability_engagement" : { ... },
"responsiveness" : { ... },
"additional_tools_modules" : { ... },
"personality" : {
"logical" : " Yes " ,
"analytical" : " Yes " ,
"humor_style" : " ... " ,
"friendly_demeanor" : " ... " ,
"personality_traits" : [ " Methodical " , " Precise " ],
"empathy_level" : " Moderate " ,
"interaction_style_with_humor" : " Dry wit " ,
"quirks" : [ " Uses technical jargon " ]
}
},
{
"name" : " Agent 74 " ,
"system_purpose" : " You are a creative and empathetic assistant, emphasizing imaginative solutions and understanding. " ,
"interaction_style" : { ... },
"ethical_conduct" : { ... },
"capabilities_limitations" : { ... },
"context_awareness" : { ... },
"adaptability_engagement" : { ... },
"responsiveness" : { ... },
"additional_tools_modules" : { ... },
"personality" : {
"creative" : " Yes " ,
"empathetic" : " Yes " ,
"humor_style" : " ... " ,
"friendly_demeanor" : " ... " ,
"personality_traits" : [ " Imaginative " , " Caring " ],
"empathy_level" : " High " ,
"interaction_style_with_humor" : " Playful " ,
"quirks" : [ " Uses metaphors " ]
}
},
{
"name" : " Swarm Agent " ,
"system_purpose" : " You are a collaborative AI assistant composed of multiple expert agents. You coordinate tasks among agents to provide comprehensive and accurate responses. " ,
"interaction_style" : { ... },
"personality" : {
"coordinator" : " Yes " ,
"collaborative" : " Yes " ,
"personality_traits" : [ " Organized " , " Facilitator " ],
"quirks" : [ " Ensures all perspectives are considered " ]
}
}
]
}
التخصيص :
مثال :
تم تصميم الكود لتسهيل كل من عملية التفكير وتفاعلات الدردشة مع الوكلاء. كما أنه يشتمل أيضًا على Swarm Framework لتعزيز التنسيق بين الوكلاء.
المكتبات :
os
time
logging
و json
: لعمليات النظام والتوقيت والتسجيل ومعالجة JSON.colorama
: لإخراج وحدة التحكم الملونة.swarm
: لتنفيذ سرب الاستخبارات.tiktoken
: لحساب الرموز بدقة (في أجزاء أخرى من البرنامج النصي).التهيئة :
from swarm import Agent , Swarm
client = Swarm ()
تتم تهيئة الوكلاء من ملف التكوين agents.json
.
يتم إنشاء كل وكيل كمثيل Swarm Agent
بتعليمات وسمات محددة.
يتم إعلام الوكلاء ببعضهم البعض من خلال إلحاق معلومات حول الوكلاء الآخرين بتعليماتهم.
def initialize_swarm_agents ():
# Load agents from agents.json and create Swarm agents
agents = []
# ... Load and initialize agents with awareness of others
return agents
الوظيفة : swarm_chat_interface(conversation_history)
الغرض : التعامل مع تفاعلات الدردشة مع وكيل Swarm.
عملية :
def swarm_chat_interface ( conversation_history ):
# Prepare messages
messages = [{ "role" : "system" , "content" : swarm_agent . instructions }]
messages . extend ( conversation_history )
# Run Swarm client
response = client . run ( agent = swarm_agent , messages = messages )
swarm_reply = response . messages [ - 1 ][ 'content' ]. strip ()
return swarm_reply
الوظيفة : run_swarm_reasoning(user_prompt)
الغرض : يستخدم وكلاء Swarm للتعاون والاستجابة لمطالبة المستخدم بعد مراحل تفكير متعددة.
عملية :
blend_responses
بدمج الاستجابات المنقحة في إجابة نهائية.المعالجة المتوازية : يتيح Swarm للوكلاء تنفيذ هذه الخطوات بشكل متزامن، مما يعزز الكفاءة.
مثال على وظيفة المزج :
def blend_responses ( agent_responses , user_prompt ):
# Prepare combined prompt
combined_prompt = ...
# Initialize Blender agent
blender_agent = Agent (
name = "Swarm Agent" ,
instructions = "You are a collaborative AI assistant composed of multiple expert agents."
)
# Run blending process
response = client . run ( agent = blender_agent , messages = [{ "role" : "user" , "content" : combined_prompt }])
blended_reply = response . messages [ - 1 ][ 'content' ]
return blended_reply
swarm_middle_agent_interface(user_prompt)
:run_swarm_reasoning
مع مطالبة المستخدم.swarm_chat_interface(conversation_history)
:يوجد أدناه مخطط انسيابي محدث يعكس المنطق الجديد، بما في ذلك وضع الدردشة ووعي الوكلاء ببعضهم البعض وشفافية استخدام الرمز المميز والتخزين المؤقت السريع وتكامل Swarm:
المساهمات هي موضع ترحيب! للمساهمة:
هذا المشروع مرخص بموجب ترخيص MIT.
لإعداد مستودع GitHub:
أنشئ مستودعًا جديدًا على GitHub باسم multi-agent-reasoning
.
أضف الملف README.md
مع هذا المحتوى.
قم بتضمين البرنامج النصي reasoning.py
في الدليل الجذر.
قم بتضمين ملف agents.json
في الدليل الجذر.
قم بإنشاء ملف .gitignore
لاستبعاد الملفات غير الضرورية:
# Exclude log files
reasoning.log
swarm_middle_agent.log
# Exclude environment files
.env
# Python cache
__pycache__ /
* .py [ cod ]
الالتزام بالملفات ودفعها إلى GitHub.
multi-agent-reasoning/
├── README.md
├── reasoning.py
├── swarm_middle_agent.py
├── agents.json
├── LICENSE
├── .gitignore
└── img/
├── reasoningbanner.png
├── reasoningflow.png
├── agents.png
└── promptcache.png
└── swarm.png
لا تتردد في استكشاف التعليمات البرمجية وتخصيص الوكلاء والتفاعل مع برنامج الدردشة الآلي متعدد الوكلاء!
إذا كان لديك أي أسئلة أو كنت بحاجة إلى المساعدة، يرجى فتح مشكلة على GitHub.