النقاط الرئيسية
قامت Novita AI بإطلاق Llama 4 Maverick! علاوة على ذلك، يدعم هذا الإصدار استدعاء الدوال (Function Calling) بشكل كامل.
يجمع Llama 4 Maverick بين أحدث بنية 128 خبيرًا مختلطًا (Mixture-of-Experts) وقدرات متعددة الوسائط متطورة.
إذا كنت ترغب في اختبار أدائه، ابدأ تجربة مجانية مباشرة على منصة Novita AI Playground!

Llama 4 Maverick يعيد تعريف الذكاء الاصطناعي بقدرات فائقة في استدعاء الدوال، مما يقدم أداءً لا مثيل له، وتفاعلًا فوريًا، ووظائف عالمية من خلال بنيته المتقدمة.
ما هو استدعاء الدوال (Function Calling)؟
استدعاء الدوال يشير إلى قدرة نظام (مثل نموذج أو تطبيق) على استدعاء دوال أو خدمات خارجية أثناء تنفيذه. يمكن أن تكون هذه الدوال عبارة عن واجهات API، أو قواعد بيانات، أو خدمات أخرى تؤدي مهامًا محددة خارج نطاق النموذج أو النظام الرئيسي.
- خدمات خارجية: يمكن للدالة التفاعل مع واجهات API، أو قواعد البيانات، أو خدمات الطرف الثالث (مثل معالجات الدفع، بيانات الطقس، إلخ).
- تفاعل فوري: يتم استدعاء الدالة أثناء التنفيذ، مما يوفر بيانات أو إجراءات حية.
- دوال محددة مسبقًا: عادة ما تكون هذه الدوال محددة مسبقًا، مما يعني أن النظام يعرف ما ستفعله (مثل استرداد البيانات، معالجة المعاملات).
https://www.youtube.com/watch?v=aqdWSYWC\_LI
كيف يعمل استدعاء الدوال؟
- يرسل النظام طلبًا إلى دالة خارجية (مثل API أو خدمة).
- تنفذ الدالة المهمة (مثل جلب البيانات، معالجة المعلومات).
- يتم إرجاع النتيجة إلى النظام، الذي يستخدمها لمزيد من المعالجة.
ما فوائد استدعاء الدوال؟
- بيانات فورية: يوفر معلومات محدثة من خلال التفاعل مع المصادر الخارجية.
- وظائف موسعة: يسمح للنظام باستخدام خدمات خارجية (مثل معالجة الدفع، بيانات الطقس).
- نمطية: يجعل الأنظمة أكثر مرونة وقابلية للتكيف من خلال دمج القدرات الخارجية دون إعادة اختراع العجلة.
استدعاء الدوال مقابل RAG
مثال على استدعاء الدوال:
import requests
def get_weather(city: str):
# Replace with your actual API key and URL
api_key = "your_api_key"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
temperature = data['main']['temp']
description = data['weather'][0]['description']
return f"The current temperature in {city} is {temperature}°C with {description}."
else:
return "Sorry, I couldn't fetch the weather data at the moment."
# Use the function to get weather info for New York
city = "New York"
weather_info = get_weather(city)
print(weather_info)
مثال على RAG:
from transformers import pipeline
# Simulated knowledge base (this could be a database or a larger dataset in a real application)
knowledge_base = {
"force majeure": "Force Majeure refers to unforeseeable circumstances that prevent someone from fulfilling a contract.",
"breach of contract": "A breach of contract occurs when one party fails to perform its obligations as outlined in the contract.",
"arbitration": "Arbitration is a method of resolving disputes outside the courts, where an arbitrator makes a binding decision."
}
def retrieve_information(query: str):
# Retrieve relevant information based on the query (could be replaced with a database query or more advanced search)
query = query.lower()
if query in knowledge_base:
return knowledge_base[query]
else:
return "Sorry, I couldn't find any relevant information in the knowledge base."
def generate_answer(query: str):
# Retrieve information first
retrieved_info = retrieve_information(query)
# Use a text generation model (e.g., GPT-2) for generating a response based on the retrieved information
model = pipeline("text-generation", model="gpt-2")
answer = model(f"Based on the information: {retrieved_info}. Answer the following question: {query}")[0]['generated_text']
return answer
# User query
query = "What is force majeure in a contract?"
answer = generate_answer(query)
print(answer)
ما هو Llama 4 Maverick؟
| الفئة | العنصر | التفاصيل |
|---|---|---|
| معلومات أساسية | تاريخ الإصدار | 5 أبريل 2025 |
| حجم النموذج | 400 مليار معلمة (17 مليار نشطة/رمز) | |
| مفتوح المصدر | مفتوح | |
| البنية | 128 خبيرًا مختلطًا (MoE) | |
| دعم اللغات | دعم اللغات | مدرب مسبقًا على 200 لغة. يدعم العربية، الإنجليزية، الفرنسية، الألمانية، الهندية، الإندونيسية، الإيطالية، البرتغالية، الإسبانية، التاغالوغية، التايلاندية، والفيتنامية. |
| متعدد الوسائط | القدرة متعددة الوسائط | الإدخال: نص وصورة متعدد اللغات؛ الإخراج: نص وكود متعدد اللغات |
| التدريب | بيانات التدريب | حوالي 22 تريليون رمز من البيانات متعددة الوسائط (بعضها من Instagram و Facebook) |
| التدريب المسبق | MetaP: تكوين الخبراء التكيفي + التدريب المتوسط | |
| ما بعد التدريب | SFT (بيانات سهلة) → RL (بيانات صعبة) → DPO |

كيفية استخدام استدعاء الدوال لـ Llama 4 Maverick عبر Novita AI
قامت Novita AI بإطلاق دعم أوصاف القدرات لكل LLM، والتي يمكنك عرضها مباشرة في [لوحة التحكم](https://novita.ai/models-console/?utm_source=blog_llm&utm_medium=article&utm_campaign=/ llama-4-maverick-function-calling/) و[الوثائق](https://novita.ai/docs/guides/llm-function-calling/?utm_source=blog_llm&utm_medium=article&utm_campaign= llama-4-maverick-function-calling).


1. تهيئة العميل
أولاً، تحتاج إلى تهيئة العميل باستخدام مفتاح API الخاص بـ Novita.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Get the Novita AI API Key from: https://novita.ai/settings/key-management.
api_key="<YOUR Novita AI API Key>",
)
model = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
- تعريف الدالة التي سيتم استدعاؤها
بعد ذلك، قم بتعريف دالة Python التي يمكن للنموذج استدعاؤها. في هذا المثال، هي دالة للحصول على معلومات الطقس.
# Example function to simulate fetching weather data.
def get_weather(location):
"""Retrieves the current weather for a given location."""
print("Calling get_weather function with location: ", location)
# In a real application, you would call an external weather API here.
# This is a simplified example returning hardcoded data.
return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})
2. بناء طلب API مع الأدوات ورسالة المستخدم
الآن، قم بإنشاء طلب API إلى نقطة نهاية Novita. يتضمن هذا الطلب معلمة tools التي تحدد الدوال التي يمكن للنموذج استخدامها، ورسالة المستخدم.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get weather of an location, the user shoud supply a location first",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "What is the weather in San Francisco?"
}
]
# Let's send the request and print the response.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# Please check if the response contains tool calls if in production.
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'}
- الرد بنتيجة استدعاء الدالة والحصول على الإجابة النهائية
الخطوة التالية هي معالجة استدعاء الدالة، وتنفيذ دالة get_weather، وإرسال النتيجة مرة أخرى إلى النموذج لتوليد الرد النهائي على المستخدم.
# Ensure tool_call is defined from the previous step
if tool_call:
# Extend conversation history with the assistant's tool call message
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)
# Execute the function and get the response
function_response = get_weather(
location=function_args.get("location"))
# Append the function response to the messages
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# Get the final response from the model, now with the function result
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# Note: Do not include tools parameter here.
)
print(answer_response.choices[0].message)
5. الإخراج
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
بفضل تصميمه المتطور وتكامله السلس عبر Novita AI، يتفوق Llama 4 Maverick على النماذج الأخرى، مما يوفر حلاً قويًا وموثوقًا ومرنًا للتطبيقات الحديثة التي تعمل بالذكاء الاصطناعي.
الأسئلة الشائعة
ما هو استدعاء الدوال (Function Calling)؟
يسمح لنماذج اللغة الكبيرة بتفعيل الأدوات الخارجية أو واجهات API لتنفيذ المهام واسترداد البيانات.
كيف يعمل Llama 4 Maverick مع استدعاء الدوال؟
يعمل Llama 4 Maverick على تبسيط عمليات التكامل مع الأنظمة في الوقت الفعلي عبر Novita AI.
ما الذي يجعل Llama 4 Maverick متفوقًا؟
يتميز Llama 4 Maverick بـ 400 مليار معلمة، و128 خبيرًا مختلطًا، وقدرات متعددة اللغات والوسائط قوية، مما يجعله أكثر قوة وتنوعًا من النماذج الأخرى.
Novita AI هي منصة سحابية شاملة تمكن طموحاتك في الذكاء الاصطناعي. واجهات API متكاملة، بدون خادم، مثيل GPU — الأدوات الفعالة من حيث التكلفة التي تحتاجها. تخلص من البنية التحتية، ابدأ مجانًا، واجعل رؤيتك للذكاء الاصطناعي حقيقة.
