يقبل Ling 3.0 Flash VL إدخال النصوص والصور والفيديو عبر واجهة برمجة التطبيقات من Novita AI المتوافقة مع OpenAI. عيّن https://api.novita.ai/openai كعنوان URL أساسي، واستخدم inclusionai/ling-3.0-flash-vl كمعرّف النموذج، ثم ضع عنوان URL لصورة أو عنوان URL للبيانات في رسالة محادثة قياسية. يركز هذا الدليل على الإعداد وطلبات الصور وسير عمل الفيديو واستدعاء الدوال وعناصر التحكم في التفكير وفحوصات الإنتاج.
لمعرفة موضع النموذج وتوافره وسياق الكتالوج، راجع Ling 3.0 Flash VL على Novita AI: الإطلاق والقدرات والتسعير. لتكامل يعتمد على النص فقط، قارن هذا الدليل مع بدء الاستخدام السريع لواجهة Ling 3.0 Flash API.
ما تحتاجه
| العنصر | القيمة |
|---|---|
| مفتاح API | مفتاح Novita AI في NOVITA_API_KEY |
| عنوان URL الأساسي المتوافق مع OpenAI | https://api.novita.ai/openai |
| نقطة نهاية إكمال المحادثة | POST https://api.novita.ai/openai/v1/chat/completions |
| معرف النموذج | inclusionai/ling-3.0-flash-vl |
يشرح دليل Novita AI LLM إعداد العميل المتوافق مع OpenAI. يشرح دليل الرؤية واللغة تنسيق مصفوفة content وإدخالات image_url وتفاصيل الصورة وعناوين URL للبيانات base64. صفحة النموذج التي تم التحقق منها في 9 سبتمبر 2026 تسرد إدخال النص والصور والفيديو وإخراج النص واستدعاء الدوال والتفكير وسياق نافذة يبلغ 256 ألف ومخرجات كحد أقصى تبلغ 32 ألفًا.
قم بتصدير المفتاح في شيلتك بدلاً من وضعه في كود المصدر:
export NOVITA_API_KEY="your_api_key"
طلب صورة باستخدام Python
يقبل OpenAI Python SDK مصفوفة لمحتوى رسالة المستخدم content. ضع الإدخال المرئي أولاً، ثم أضف التعليمات كعنصر نصي منفصل.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="inclusionai/ling-3.0-flash-vl",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/receipt.jpg",
"detail": "high",
},
},
{
"type": "text",
"text": "استخرج اسم التاجر والتاريخ والإجمالي. إذا كان الحقل غير مقروء، فقل ذلك.",
},
],
}
],
max_tokens=256,
temperature=0.2,
)
print(response.choices[0].message.content)
يمكن أن يكون detail إما low أو high أو auto. استخدم high للنصوص الصغيرة والتفاصيل البصرية الدقيقة؛ ابدأ بـ low أو auto عندما تكون زمنية الاستجابة مهمة. يتم ترميز مدخلات الصورة وعدها مع النص، لذا قم بقياس التكلفة والجودة على صور تمثيلية.
طلب صورة باستخدام cURL
يعمل نفس الحمولة من برنامج نصي شيل. --fail-with-body يبقي حالات فشل HTTP مرئية بينما يُرجع حالة خروج غير صفرية.
curl --fail-with-body "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "inclusionai/ling-3.0-flash-vl",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/diagram.png",
"detail": "auto"
}
},
{
"type": "text",
"text": "صف المكونات الرئيسية واتصالاتها."
}
]
}
],
"max_tokens": 512,
"temperature": 0.2
}'
للحصول على صورة محلية خاصة، استبدل عنوان URL البعيد بعنوان URL للبيانات مثل data:image/jpeg;base64,<base64_image_bytes>. حافظ على توافق نوع MIME مع الملف المشفر، ولا تقم بتسجيل أجسام الطلب التي تحتوي على صور خاصة.
معالجة مدخلات الفيديو
قائمة نموذج Ling 3.0 Flash VL الحالية تتضمن الفيديو ضمن طرائق الإدخال الخاصة به. يوثق دليل Novita العام للرؤية حمولة الصورة المتوافقة مع OpenAI أعلاه، لكنه لا يحدد مخطط رسالة منفصلة عامة video_url. لا تخترع واحدة في عميل إنتاجي.
لسير عمل محمول لفهم الفيديو، استخرج إطارات تمثيلية، أرسلها كعناصر image_url متعددة، وقم بتضمين الطوابع الزمنية في المطالبة. يوصي دليل الرؤية بعدم تجاوز صورتين لكل طلب، لذا قم بأخذ عينات من نوافذ قصيرة أو قم بإجراء مكالمات متعددة:
ffmpeg -ss 00:00:05 -i input.mp4 -vf "fps=1/5,scale=1280:-2" -frames:v 2 frame-%02d.jpg
يمكن إرسال الإطارات الناتجة عن طريق تكرار عنصر الصورة في حمولة Python أو cURL. إذا كان مرجع API الحالي لحسابك يعرض شكل محتوى فيديو أصلي، فاتبع هذا المرجع وتحقق من صحته بمقطع صغير أولاً. تؤكد قائمة النموذج إمكانية الفيديو؛ يجب التحقق من تنسيق النقل مقابل وثائق API المباشرة لتكاملك.
استدعاء الدوال مع السياق البصري
يكون استدعاء الدوال مفيدًا عندما يحتاج النموذج إلى تحويل ما يراه إلى إجراء تطبيق. حافظ على ضيق الأداة وتحقق من صحة وسيطاتها في كود التطبيق.
tools = [
{
"type": "function",
"function": {
"name": "flag_document",
"description": "أرسل مستندًا للتحقق اليدوي.",
"parameters": {
"type": "object",
"properties": {
"reason": {"type": "string", "description": "لماذا المراجعة مطلوبة."},
"page_or_frame": {"type": "string", "description": "الصفحة أو الطابع الزمني للفيديو."},
},
"required": ["reason"],
},
},
}
]
response = client.chat.completions.create(
model="inclusionai/ling-3.0-flash-vl",
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/document.jpg"}},
{"type": "text", "text": "علم على هذا المستند إذا كانت الحقول الرئيسية غير واضحة."},
],
}
],
tools=tools,
tool_choice="auto",
max_tokens=256,
temperature=0.1,
)
message = response.choices[0].message
if message.tool_calls:
for call in message.tool_calls:
print(call.function.name, call.function.arguments)
else:
print(message.content)
تعامل مع وسيطات الأداة كمخرجات نموذج غير موثوقة. تحقق من صحة JSON، وتحقق من الأذونات، ونفذ الوظيفة خارج النموذج. لا ينبغي أن تؤدي الملاحظة البصرية إلى إجراء غير قابل للتراجع دون التحقق الذي يتطلبه سير عملك.
عناصر التحكم في التفكير
تتضمن واجهة برمجة تطبيقات إكمال المحادثة المتوافقة مع OpenAI من Novita حقول enable_thinking و separate_reasoning، وتتضمن قائمة Ling 3.0 Flash VL دعم التفكير. اختبر هذه الحقول بطلب صغير قبل إضافتها إلى غلاف إنتاجي:
response = client.chat.completions.create(
model="inclusionai/ling-3.0-flash-vl",
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "قارن بين الاتجاهين وحدد أيهما يحتاج إلى تحقيق."},
],
}
],
enable_thinking=True,
separate_reasoning=True,
max_tokens=512,
temperature=0.2,
)
print(response.choices[0].message)
قد يغير إخراج التفكير من تحليل الاستجابة وزمن الوصول. إذا كان تطبيقك يحتاج فقط إلى تسمية توضيحية أو استدعاء أداة، فاترك هذه الحقول وأولاً قارن الجودة بالطلب الأبسط.
## قائمة التحقق للتكامل
قبل تجاوز اختبار الدخان:
- تأكد من معرف النموذج الدقيق ونقطة النهاية بدلاً من استخدام اسم العرض.
- اختبر عنوان URL لصورة عامة، ثم عنوان URL للبيانات base64، وتحقق من معالجة الصور الخاصة بشكل منفصل.
- حافظ على `max_tokens` محددًا وسجل الاستخدام وزمن الوصول دون الاحتفاظ بمحتوى الصورة غير الضروري.
- اختبر إعدادات تفاصيل الصورة على النصوص الصغيرة والرسوم البيانية والصور الفوتوغرافية العادية.
- تحقق من صحة وسيطات الأداة قبل التنفيذ وتعامل مع الاستجابة بدون استدعاء أداة.
- لسير عمل الفيديو، حدد أخذ عينات الإطارات وتتبع الطوابع الزمنية وحمولة الفيديو الأصلية المدعومة من مرجع API المباشر.
- أعد التحقق من توفر النموذج والتسعير والحدود قبل الإنتاج؛ يمكن أن تتغير قيم الكتالوج.
## الأسئلة الشائعة
### ما معرف النموذج الذي يجب استخدامه؟
استخدم `inclusionai/ling-3.0-flash-vl`. `Ling 3.0 Flash VL` هو اسم العرض وليس قيمة الطلب.
### ما نقطة النهاية التي يستخدمها هذا الدليل؟
استخدم `https://api.novita.ai/openai` كعنوان URL الأساسي لـ SDK، أو أرسل طلبات cURL إلى `https://api.novita.ai/openai/v1/chat/completions`.
### كيف أرسل صورة؟
أضف مصفوفة `content` إلى رسالة المستخدم مع عنصر `image_url` وعنصر نصي `text`. يمكن أن يشير عنوان URL للصورة إلى صورة قابلة للوصول أو يستخدم عنوان URL للبيانات base64.
### هل يقبل النموذج الفيديو؟
تدرج قائمة Novita للنموذج التي تم التحقق منها في 9 سبتمبر 2026 الفيديو كطريقة إدخال. لا يوثق دليل الرؤية العام شكل رسالة فيديو مباشرة عامة، لذا تأكد من مرجع API المباشر قبل إرسال حمولة فيديو أصلية. سير عمل أخذ عينات الإطارات هو الاحتياطي المحمول.
### هل يدعم استدعاء الدوال والتفكير؟
تتضمن قائمة Novita الحالية كلا الميزتين. تُظهر الأمثلة أعلاه `tools` و `enable_thinking` و `separate_reasoning`؛ اختبر شكل استجابتها وزمن الوصول مع عبء العمل الخاص بك.
## مقالات مقترحة
- [Ling 3.0 Flash VL على Novita AI: الإطلاق والقدرات والتسعير](https://blogs.novita.ai/ling-3-0-flash-vl-on-novita-ai-launch-pricing/)
- [بدء الاستخدام السريع لواجهة Ling 3.0 Flash API](https://blogs.novita.ai/ling-3-0-flash-api-quick-start/)
- [بدء الاستخدام السريع لـ Ling 3.0 Flash Sante لإكمال المحادثة المتوافقة مع OpenAI](https://blogs.novita.ai/ling-3-0-flash-sante-quick-start-chat-completions/)
