النقاط الرئيسية
أطلقت Novita AI نموذج Llama 4 Scout! علاوة على ذلك، يدعم هذا الإصدار بالكامل استدعاء الوظائف.
إذا كنت ترغب في اختبار أدائه، ابدأ تجربة مجانية مباشرة على منصة Novita AI Playground!

يتيح استدعاء الوظائف لنماذج LLM مثل Llama 4 Scout تنفيذ مهام واقعية من خلال التكامل مع واجهات برمجة التطبيقات والأدوات الخارجية، وتحويل الأوامر النصية الطبيعية إلى مخرجات قابلة للتنفيذ.
ما هو استدعاء الوظائف؟
يمثل استدعاء الوظائف تقدمًا محوريًا في قدرات نماذج اللغة الكبيرة، حيث يمكنها من التفاعل مع الأدوات الخارجية وواجهات برمجة التطبيقات ومصادر البيانات. من خلال تحويل الاستفسارات النصية الطبيعية إلى استدعاءات وظائف منظمة، يمكن لنماذج LLM تنفيذ إجراءات واقعية، واسترجاع معلومات ديناميكية، وإجراء حسابات معقدة تتجاوز قدراتها المتأصلة في توليد النصوص.
تعريف استدعاء الوظائف
استدعاء الوظائف هو طريقة منظمة تسمح لنماذج LLM بالتفاعل مع الأنظمة الخارجية عن طريق إنشاء أوامر قابلة للتنفيذ بناءً على استفسارات المستخدم. على عكس مخرجات LLM التقليدية، التي تقتصر على توليد النصوص، يتيح استدعاء الوظائف للنماذج تشغيل وظائف محددة مسبقًا بمعاملات محددة، وتنفيذ تلك الوظائف من خلال كود خارجي، ودمج النتائج في ردود متماسكة.
https://www.youtube.com/watch?v=i-oHvHejdsc&t=429s
كيف يعمل استدعاء الوظائف؟
يتضمن استدعاء الوظائف عملية منظمة حيث يفسر نموذج اللغة الكبير استفسارات المستخدم لتحديد الوظيفة المحددة مسبقًا التي يجب تنفيذها وبأي معاملات. إليك نظرة عامة مبسطة:
- استفسار المستخدم: يقدم المستخدم استفسارًا للنظام.
- تفسير LLM: يحلل النموذج الاستفسار لتحديد الوظيفة والمعاملات المناسبة.
- تنفيذ الوظيفة: ينفذ النظام الوظيفة بالمعاملات المقدمة.
- توليد الرد: يتم إعادة النتيجة إلى النموذج، الذي يولد ردًا نهائيًا يتضمن المخرجات.

استدعاء الوظائف مقابل RAG
| الجانب | استدعاء الوظائف | التوليد المعزز بالاسترجاع |
|---|---|---|
| التعريف | استدعاء وظائف خارجية (API، قواعد بيانات) للمهام الزمنية الحقيقية. | استرجاع وتركيب المعلومات من مصادر خارجية للردود. |
| حالة الاستخدام | الاستعلام عن قواعد البيانات، طلبات API، أدوات خارجية (مثل الدفع). | أنظمة الأسئلة والأجوبة التي تسترجع البيانات لتوليد الإجابات. |
| المزايا | - مهام زمنية حقيقية - التفاعل مع الأنظمة الخارجية - أنظمة معيارية |
- الوصول إلى معرفة واسعة - فعال للاستفسارات المعقدة - مثالي للبيانات المحدثة |
| الغرض | استدعاء أنظمة أو خدمات خارجية. | تعزيز التوليد باستخدام المعرفة المسترجعة. |
| التنفيذ | استدعاءات خارجية محددة مسبقًا (مثل APIs). | استرجاع المعلومات أثناء عملية التوليد. |
| المرونة | أكثر مرونة للتفاعلات الزمنية الحقيقية. | الاستفادة من المعرفة الخارجية/الداخلية للتوليد. |
كيفية استخدام استدعاء الوظائف في Llama 4 Scout عبر Novita AI
أطلقت Novita AI إمكانية وصف قدرات كل نموذج LLM، ويمكنك مشاهدتها مباشرة في لوحة التحكم والوثائق.


1. تهيئة العميل
أولاً، تحتاج إلى تهيئة العميل باستخدام مفتاح Novita API الخاص بك.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# احصل على مفتاح Novita AI API من: https://novita.ai/settings/key-management.
api_key="<YOUR Novita AI API Key>",
)
model = "meta-llama/llama-4-scout-17b-16e-instruct"
- تعريف الوظيفة المراد استدعاؤها
بعد ذلك، حدد وظيفة Python التي يمكن للنموذج استدعاؤها. في هذا المثال، هي وظيفة للحصول على معلومات الطقس.
# وظيفة مثال لمحاكاة جلب بيانات الطقس.
def get_weather(location):
"""استرداد الطقس الحالي لموقع معين."""
print("استدعاء وظيفة get_weather مع الموقع: ", location)
# في التطبيق الحقيقي، ستستدعي واجهة برمجة طقس خارجية هنا.
# هذا مثال مبسط يعيد بيانات ثابتة.
return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})
2. إنشاء طلب API مع الأدوات ورسالة المستخدم
الآن، أنشئ طلب API إلى نقطة نهاية Novita. يتضمن هذا الطلب معامل tools الذي يحدد الوظائف التي يمكن للنموذج استخدامها، بالإضافة إلى رسالة المستخدم.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "الحصول على طقس موقع ما، يجب على المستخدم توفير الموقع أولاً",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "المدينة والولاية، مثل: San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "What is the weather in San Francisco?"
}
]
# لنرسل الطلب ونطبع الرد.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# يرجى التحقق مما إذا كان الرد يحتوي على استدعاءات أدوات في بيئة الإنتاج.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
3. المخرجات
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
4. الرد بنتيجة استدعاء الوظيفة والحصول على الإجابة النهائية
الخطوة التالية هي معالجة استدعاء الوظيفة، وتنفيذ وظيفة get_weather، وإرسال النتيجة مرة أخرى إلى النموذج لتوليد الرد النهائي للمستخدم.
# تأكد من تعريف tool_call من الخطوة السابقة
if tool_call:
# توسيع سجل المحادثة برسالة استدعاء الأداة من المساعد
messages.append(response.choices[0].message)
function_name = tool_call.function.name
if function_name == "get_weather":
function_args = json.loads(tool_call.function.arguments)
# تنفيذ الوظيفة والحصول على الرد
function_response = get_weather(
location=function_args.get("location"))
# إضافة رد الوظيفة إلى الرسائل
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# الحصول على الرد النهائي من النموذج، الآن مع نتيجة الوظيفة
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# ملاحظة: لا تقم بتضمين معامل tools هنا.
)
print(answer_response.choices[0].message)
5. المخرجات
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
مع Llama 4 Scout وNovita AI، يعيد استدعاء الوظائف تعريف تطبيقات LLM، ويقدم حلولاً ديناميكية في الوقت الفعلي للاحتياجات الحديثة.
الأسئلة الشائعة
ما هو استدعاء الوظائف؟
يسمح لنماذج LLM بتشغيل أدوات أو واجهات برمجة تطبيقات خارجية لتنفيذ المهام واسترجاع البيانات.
كيف يعمل Llama 4 Scout مع استدعاء الوظائف؟
يبسط Llama 4 Scout عمليات التكامل مع الأنظمة في الوقت الفعلي عبر Novita AI.
هل استدعاء الوظائف مناسب للاحتياجات في الوقت الفعلي؟
نعم، إنه مثالي لمهام مثل استدعاءات واجهة برمجة التطبيقات أو استعلامات البيانات الديناميكية.
Novita AI هي المنصة السحابية الشاملة التي تعزز طموحاتك في الذكاء الاصطناعي. واجهات برمجة تطبيقات متكاملة، خوادم بدون خادم، مثيلات GPU — الأدوات الفعالة من حيث التكلفة التي تحتاجها. تخلص من البنية التحتية، ابدأ مجانًا، واجعل رؤيتك في الذكاء الاصطناعي حقيقة.
