تحرير الوكلاء المستقلين باستخدام أفضل النماذج المفتوحة المصدر من Qwen-Agent
استكشف قوة نماذج Qwen-Agent المفتوحة المصدر وتعلم كيفية إطلاق العوامل المستقلة من خلال استدعاء الوظائف وإنشاء وكيل مخصص. اكتشف تأثير التكميم على أداء النموذج للتطبيقات الحقيقية.
١٤ فبراير ٢٠٢٥

افتح قوة الوكلاء المستقلين باستخدام Qwen-Agent ، الإطار المفتوح المصدر المتطور الذي يستفيد من أفضل النماذج المتاحة. اكتشف كيفية دمج استدعاء الوظائف والعمليات القائمة على الوكيل بسلاسة لبناء تطبيقات ذكية يمكنها التفاعل مع العالم الحقيقي والتكيف مع احتياجات المستخدم.
بناء وكلاء مستقلين باستخدام أفضل نموذج وزن مفتوح
استدعاء الوظائف والوكلاء: فهم الاختلافات
البدء باستخدام وكلاء Qwen: استدعاء الوظائف واستخدام الوكيل
تأثير التكميم على أداء نماذج اللغة الكبيرة
بناء وكلاء مستقلين باستخدام أفضل نموذج وزن مفتوح
بناء وكلاء مستقلين باستخدام أفضل نموذج وزن مفتوح
إن طرازات Quen 2 من Alibaba هي الأحدث والأفضل من حيث نماذج اللغة المفتوحة المصدر، وتقدم قدرات مвпечатляющة عبر مجموعة واسعة من المهام. تتراوح هذه النماذج من 500 مليون إلى 72 مليار معلمة، مع دعم النماذج الأكبر حتى 128,000 رمز - تحسن كبير مقارنة بحد 8,000 رمز لـ GPT-3.
إحدى الميزات الرئيسية لـ Quen 2 هي أدائها القوي في البرمجة والرياضيات، بالإضافة إلى قدرتها على التعامل مع الفهم طويل السياق - وهو أمر حاسم للتطبيقات الحقيقية. بالإضافة إلى ذلك، تقدم النماذج دعمًا لمجموعة متنوعة من اللغات، بما في ذلك التركيز على لغات الشرق الأوسط وجنوب شرق آسيا، وهو تغيير مرحب به من التركيز على اللغات الغربية في العديد من النماذج الأخرى.
لاستغلال قوة Quen 2، يمكننا استخدام إطار عمل Quen Agent، الذي يوفر إمكانية الوصول إلى مساعد مدمج في المتصفح، ومفسر الرموز، والقدرة على إنشاء مساعدين مخصصين. هذا يسمح لنا ببناء وكلاء مستقلين يمكنهم التخطيط والتنفيذ والتكيف مع إجراءاتهم بناءً على المهمة المطلوبة.
في هذا القسم، سنستكشف كيفية استخدام Quen Agent لإنشاء وكيل توليد الصور المخصص. سيكون الوكيل قادرًا على توليد الصور بناءً على إدخال المستخدم، وتنزيل الصور المولدة، وحتى تحديث رمزه الخاص إذا واجه أي مشاكل. من خلال الجمع بين فهم اللغة القوي لـ Quen 2 وقدرات التخطيط والتنفيذ لـ Quen Agent، يمكننا إنشاء وكلاء مستقلين وقادرين حقًا يمكنهم التعامل مع مجموعة واسعة من المهام.
استدعاء الوظائف والوكلاء: فهم الاختلافات
استدعاء الوظائف والوكلاء: فهم الاختلافات
استدعاء الوظائف والوكلاء هما مفهومان مختلفان في عالم نماذج اللغة الكبيرة (LLMs). فيما يلي شرح موجز للاختلافات بينهما:
استدعاء الوظائف (استخدام الأداة):
- يسمح استدعاء الوظائف أو استخدام الأداة للنموذج اللغوي الكبير بالتفاعل مع العالم الخارجي من خلال الوصول إلى واجهات برمجة التطبيقات الخارجية أو الوظائف.
- يحدد النموذج اللغوي الكبير أي وظيفة سيستخدم بناءً على إدخال المستخدم، ويولد المدخلات اللازمة للوظيفة، ويعيد النتائج إلى المستخدم.
- ومع ذلك، لا يمكن للنموذج اللغوي الكبير تنفيذ استدعاء الوظيفة بنفسه؛ يجب على المستخدم أو نظام منفصل إجراء استدعاء الوظيفة الفعلي وإعادة النتائج إلى النموذج اللغوي الكبير.
الوكلاء:
- الوكلاء هم نسخ أكثر تطوراً من النماذج اللغوية الكبيرة لديها إمكانية الوصول إلى مجموعة من الأدوات، مثلما هو الحال في استدعاء الوظائف.
- يمكن للوكلاء أيضًا القيام بالتخطيط وتجزئة المهام إلى أهداف فرعية وتنفيذ الإجراءات باستخدام الأدوات المتاحة.
- للوكلاء إمكانية الوصول إلى الذاكرة قصيرة المدى والطويلة المدى، مما يتيح لهم متابعة تقدمهم وتخطيط الخطوات التالية وفقًا لذلك.
- الوكلاء أمر حاسم لجعل النماذج اللغوية الكبيرة مفيدة حقًا في التطبيقات الحقيقية، حيث يمكنهم تنفيذ المهام المعقدة بشكل مستقل.
بالخلاصة، فإن استدعاء الوظائف هو تفاعل أكثر محدودية حيث يمكن للنموذج اللغوي الكبير فقط توليد المدخلات اللازمة لوظيفة ما، بينما يمتلك الوكلاء القدرة على التخطيط والتنفيذ والتكيف مع إجراءاتهم لتحقيق نتيجة مرغوبة.
البدء باستخدام وكلاء Qwen: استدعاء الوظائف واستخدام الوكيل
البدء باستخدام وكلاء Qwen: استدعاء الوظائف واستخدام الوكيل
للبدء باستخدام وكلاء Qwen، سنستخدم الإصدار 72 مليار من Qwen 2 وتشغيله محليًا باستخدام AMA. يمكنك أيضًا استخدام واجهة برمجة التطبيقات الخارجية الخاصة بهم، ولكن لاستخدام Qwen Agent، لدينا خيارين:
- تثبيت الحزمة باستخدام pip كحزمة Python مستقلة.
- استنساخ المستودع وتشغيل التثبيت محليًا إذا كنت تريد أحدث إصدار للتطوير.
سأقوم بتشغيله محليًا باستخدام AMA. أولاً، ابدأ خادم AMA واستخدم الأمر olama Run Qwen 272 billion
. سيؤدي هذا إلى تنزيل AMA والنموذج، وقد يستغرق ذلك بعض الوقت اعتمادًا على سرعة الإنترنت الخاصة بك.
بعد ذلك، قم بإنشاء بيئة افتراضية باستخدام conda وقم بتنشيطها:
conda create -n qwen python=3.10
conda activate qwen
الآن، قم بتثبيت حزمة Qwen Agent باستخدام pip:
pip install qwen-agent
سنبدأ باستدعاء الوظائف. يحتاج النموذج إلى اختيار الوظيفة التي سيستخدمها، والتعرف على المدخلات، وتمريرها إلى مفسر Python. سينفذ المفسر الوظيفة، والحصول على الاستجابة، وإرسالها مرة أخرى إلى النموذج اللغوي الكبير.
فيما يلي مثال على استدعاء الوظيفة للحصول على الطقس الحالي:
# إنشاء مثيل النموذج اللغوي الكبير
llm = QwenLLM(base_api="http://localhost:8000/v1", model_name="qwen-2-72b", version="v1")
# رسالة المستخدم
user_message = "What's the current weather like in Paris?"
# تعريف الوظيفة
function_call = {
"description": "Get the current weather for a given location",
"function": "get_weather",
"arguments": {
"location": "Paris",
"unit": "celsius"
}
}
# استدعاء النموذج اللغوي الكبير وتنفيذ الوظيفة
response = llm.call_with_function(user_message, [function_call])
print(response)
سيؤدي هذا إلى توليد معلومات الطقس الحالية لباريس وإرجاعها إلى النموذج اللغوي الكبير.
الآن، دعنا ننظر في مثال على استخدام Qwen Agent. سننشئ وكيلاً مخصصًا يمكنه توليد الصور وتنزيلها إلى مجلد محلي. سيستخدم الوكيل أداة مخصصة لتوليد الصور ومفسر الرموز لتنفيذ الرمز اللازم.
from qwen_agent import Assistant, CodeInterpreter, CustomTool
# تعريف أداة توليد الصور المخصصة
class MyImageGeneration(CustomTool):
def __init__(self):
self.description = "Generate images based on user input using the Pollinations.AI API."
def run(self, args):
# توليد الصورة باستخدام واجهة برمجة التطبيقات
image_url = generate_image(args["prompt"])
# تنزيل الصورة إلى مجلد محلي
download_image(image_url, "images")
return "Image generated and saved to 'images' folder."
# إنشاء الوكيل
agent = Assistant(
llm=QwenLLM(base_api="http://localhost:8000/v1", model_name="qwen-2-72b", version="v1"),
tools=[MyImageGeneration(), CodeInterpreter()]
)
# اطلب من الوكيل توليد صورة
agent.run("Create an image of a llama wearing sunglasses.")
سيستخدم هذا الوكيل الأداة المخصصة لتوليد الصورة، وتنزيلها إلى مجلد "images"، وإرجاع النتيجة.
أخيرًا، دعنا ننظر في تأثير التكميم على أداء نماذج Qwen. قدم فريق Qwen تقييمات مفصلة على مقاييس MML و C-Evolve و I-Evolve لمستويات التكميم المختلفة.
تُظهر النتائج أنه بالنسبة للنماذج الأكبر (72 مليار)، فإن الفرق بين التكميم 16 بت و 8 بت ليس كبيرًا، ولكن التكميم 4 بت قد يكون له تأثير أكثر وضوحًا على الأداء. بالنسبة للنماذج الأصغر (0.5 مليار)، تكون الاختلافات أكثر وضوحًا، حيث يُظهر التكميم 4 بت انخفاضًا بمقدار 5 نقاط في المتوسط.
بشكل عام، يوصى باستخدام التكميم 8 بت أو 16 بت على الأقل للنشر في الإنتاج، حيث أن التكميم 4 بت قد يكون له تأثير أكبر على أداء النموذج، خاصةً بالنسبة للنماذج الأصغر.
التعليمات
التعليمات