وكلاء مدعومون بـ Llama 3.1: اختبار قدرات استدعاء الوظائف

استكشف قدرات Llama 3.1 في استدعاء الوظائف واستخدام الأدوات. تعلم كيفية الاستفادة من أدوات المراقبة مثل LangTrace لمراقبة أداء LLM. اكتشف نقاط القوة والقيود في أحجام نماذج Llama المختلفة في معالجة المهام المعقدة.

١٥ فبراير ٢٠٢٥

party-gif

افتح قوة Llama 3.1 باستخدام هذا الدليل الشامل حول قدرات استدعاء الوظائف. اكتشف كيف يمكن استخدام هذا النموذج اللغوي المتطور كوكيل ذكي، مع الدمج السلس مع واجهات برمجة التطبيقات للتعامل مع المهام المعقدة. استكشف جوانب القابلية للملاحظة واكتسب رؤى حول أداء النموذج، مما يمكنك من اتخاذ قرارات مستنيرة لمشروعك التالي.

قدرات Llama 3.1 ونظام الوكالة الخاص بـ Meta

أحد القدرات الرئيسية لـ Llama 3.1 التي سلطت عليها ميتا الضوء في الإصدار هي استدعاء الوظائف أو استخدام الأدوات. أراد المؤلف اختبار هذه القدرة.

قام المؤلف أولاً بإعداد الأدوات والواجهات البرمجية (APIs) اللازمة، بما في ذلك واجهة برمجة تطبيقات Groq، والتي توفر واحدة من أسرع واجهات برمجة التطبيقات للتفاعل مع Llama 3.1. قاموا باختبار نماذج Llama 3.1 البالغة 70 مليار و8 مليار، بالإضافة إلى إصدار مخصص مرتبط بـ Groq من نموذج 70 مليار.

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

أظهرت النتائج أن نموذج Llama 3.1 البالغ 70 مليار أدى أداءً جيدًا للغاية، وتعامل بفعالية مع الاستدعاءات الوظيفية المتوازية والمتداخلة. عانى النموذج البالغ 8 مليار من المهام الأكثر تعقيدًا، بينما واجه النموذج المخصص المرتبط بـ Groq أكبر مشكلة، حيث كان يتطلب معلومات أو توضيحات إضافية من المستخدم في كثير من الأحيان.

بشكل عام، استنتج المؤلف أن نموذج Llama 3.1 البالغ 70 مليار هو الخيار الأفضل للحالات الاستخدامية الجادة لاستدعاء الوظائف أو الاستخدام الوكيلي، مما يُظهر قدرات مвпечатляющة في هذا المجال. كما سلط الضوء على فائدة منصة المراقبة LangTrace في تتبع وفهم سلوك نماذج اللغة الكبيرة أثناء هذه النوعية من التجارب.

إعداد LangTrace للقابلية للملاحظة

في هذا القسم، سنقوم بإعداد LangTrace، وهي منصة مراقبة مفتوحة المصدر ومفتوحة الرصد (open-telemetry) للتطبيقات القائمة على LLM. يسمح لنا LangTrace بتتبع عدد الطلبات والرموز التي يتم التواصل بها بين بيئتنا المحلية وواجهة برمجة تطبيقات LLM.

أولاً، نحتاج إلى تثبيت الحزم المطلوبة، بما في ذلك SDK Python لـ LangTrace، و SDK Python لـ Groq، و SDK Python لـ OpenAI (على الرغم من أننا لا نستخدم LLM من OpenAI، إلا أنه إحدى تبعيات SDK LangTrace).

بعد ذلك، نقوم بإعداد مفاتيح واجهات برمجة التطبيقات الخاصة بنا. لهذه التجربة، لا نحتاج بشكل صارم إلى LangTrace، ولكن يمكن أن يوفر رؤى قيمة حول استخدام الرموز الخاصة بنا. LangTrace مشابه في الوظيفة لـ LangSmith، وهي منصة مراقبة من LangChain، ولكنها تدعم مجموعة أوسع من الموردين، بما في ذلك OpenAI و Groq و Cohere و Perplexity.

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

بمجرد اكتمال الإعداد، يمكننا البدء في استخدام LangTrace لملاحظة استخدام الرموز وغيرها من المقاييس أثناء تجارب استدعاء الوظائف الخاصة بنا باستخدام واجهة برمجة تطبيقات Groq LLM. سيوفر لنا LangTrace معلومات مفصلة حول عدد الرموز المتبادلة والتكاليف المرتبطة بها (إن وجدت، حيث لا تفرض Groq رسومًا على استخدام واجهة برمجة التطبيقات).

من خلال استخدام LangTrace، يمكننا الحصول على رؤى قيمة حول أداء وكفاءة تطبيقاتنا القائمة على LLM، والتي يمكن أن تكون مفيدة بشكل خاص عند اختبار القدرات المتقدمة مثل الاستدعاءات الوظيفية المتوازية والمتداخلة.

اختبار استدعاء الوظيفة باستخدام نماذج Llama 3.1 70B و 8B

يبدأ المؤلف بتسليط الضوء على إصدار ميتا لنظام وكيلي حول استدعاء الوظائف في Llama 3.1. نظرًا لأن المؤلف لم يقم بإعداد النظام محليًا، فقد قرر استخدام واجهة برمجة تطبيقات Groq، والتي توفر واحدة من أسرع واجهات برمجة التطبيقات للتفاعل مع Llama 3.1.

يختبر المؤلف نماذج Llama 3.1 البالغة 70 مليار و8 مليار، بالإضافة إلى إصدار مخصص مرتبط بـ Groq من نموذج 70 مليار. يستخدمون LangTrace، وهي منصة مراقبة مفتوحة المصدر للتطبيقات القائمة على LLM، لتتبع عدد الطلبات والرموز المتبادلة بين البيئة المحلية وواجهة برمجة تطبيقات LLM.

يبدأ المؤلف بمثال بسيط، حيث يحتاج النموذج إلى استخدام وظيفة "الحصول على نتائج الألعاب" لتحديد الفائز في مباراة NBA. ينجح نموذج 70 مليار في هذه المهمة، ويفحص المؤلف بيانات LangTrace لفهم الآلية الداخلية.

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

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

أخيرًا، يختبر المؤلف النموذج المخصص المرتبط بـ Groq من 70 مليار، والذي يواجه صعوبة مفاجئة حتى في مهمة "الحصول على نتائج الألعاب" البسيطة، حيث يطلب مرارًا وتكرارًا مزيدًا من التفاصيل بدلاً من استخدام الوظيفة المقدمة.

في الختام، يجد المؤلف أن نموذج Llama 3.1 البالغ 70 مليار هو الأداء الأفضل عند استدعاء الوظائف واستخدام الأدوات، حيث يمكنه التعامل مع الاستدعاءات الوظيفية المتوازية والمتداخلة. من ناحية أخرى، لا يُوصى باستخدام نموذج 8 مليار للمهام الجادة لاستدعاء الوظائف. كما أن النموذج المخصص المرتبط بـ Groq أيضًا لا يؤدي بشكل جيد في اختبارات المؤلف.

استدعاءات الوظيفة المتوازية والاستدعاءات المتسلسلة المتداخلة

أظهر نموذج Llama 3.1، وخاصة الإصدار البالغ 70 مليار، قدرات مвпечатляющة في التعامل مع الاستدعاءات الوظيفية المتوازية والاستدعاءات الوظيفية المتتالية المتداخلة.

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

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

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

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

بشكل عام، أظهر نموذج Llama 3.1 البالغ 70 مليار قدرة قوية في التعامل مع المهام المعقدة متعددة الخطوات التي تنطوي على استدعاءات وظيفية متوازية ومتداخلة، مما يُظهر إمكاناته المحتملة كنظام وكيلي قادر. ومع ذلك، لا يزال النموذج الأصغر البالغ 8 مليار والنموذج المتخصص في استدعاء الوظائف من Groq بحاجة إلى المزيد من التحسين في هذه المجالات.

صعوبات نموذج Llama 3.1 8B مع استدعاء الوظيفة

عانى نموذج Llama 3.1 البالغ 8 مليار بشكل كبير من المهام الأكثر تعقيدًا لاستدعاء الوظائف مقارنةً بالنمو

التعليمات