Ultralytics YOLO27:
Get Started

واجهة Ultralytics للنماذج اللغوية الكبيرة#

LLM واجهة بسيطة لاستدعاء نماذج اللغة والرؤية عبر API متوافق مع OpenAI. تجهّز مدخلات نصية أو صوراً، وتمرر وسيطات الطلب إلى OpenAI Python SDK الرسمي، وتعيد كائن الاستجابة الأصلي من SDK. وهذا يسهّل إضافة الاستدلال اللغوي أو البصري إلى جانب مسار عمل YOLO من دون تغليف أنواع الاستجابات الخاصة بكل مزوّد.

واجهة API الافتراضية هي responses؛ واستخدم api="chat.completions" مع المزوّدين الذين يطبقون Chat Completions فقط.

التثبيت#

ثبّت Ultralytics مع التبعية الاختيارية للنماذج اللغوية الكبيرة:

pip install "ultralytics[llm]"

بالنسبة إلى OpenAI، عيّن مفتاح API في البيئة:

export OPENAI_API_KEY="your-api-key"

واجهة Responses API#

واجهة Responses API هي الافتراضية. مرّر موجّهاً واقرأ output_text:

from ultralytics import LLM

llm = LLM("gpt-6-luna")
response = llm("What is YOLO?")
print(response.output_text)

المدخلات متعددة الوسائط#

مرّر مساراً أو عنوان URL لـHTTP أو URI للبيانات أو مصفوفة NumPy أو صورة PIL عبر image:

from ultralytics import LLM

llm = LLM("gpt-6-luna")
response = llm("What is happening in this image?", image="https://ultralytics.com/images/bus.jpg")
print(response.output_text)

تُرمّز الملفات المحلية وكائنات الصور بصيغة URI للبيانات بتنسيق JPEG. وتستخدم مصفوفات NumPy ترتيب قنوات BGR الخاص بـOpenCV. وتُعامل السلسلة النصية الممررة على أنها source، مثل llm("bus.jpg")، كنص؛ واستخدم الوسيط image لإرسال صورة.

استخدم prompt لتحديد تعليمات مشتركة بين جميع الطلبات:

llm = LLM("gpt-6-luna", prompt="Answer in one sentence.")
response = llm("Describe this image.", image="bus.jpg")

Chat Completions#

اختر Chat Completions عندما تكون مطلوبة من نقطة النهاية، واقرأ بنية الاستجابة الأصلية:

from ultralytics import LLM

llm = LLM("gpt-6-luna", api="chat.completions")
response = llm("What is non-maximum suppression?")
print(response.choices[0].message.content)

تقبل الواجهة نفسها مدخلات متعددة الوسائط:

response = llm("Describe this image.", image="bus.jpg")
print(response.choices[0].message.content)

مرّر كائنات الرسائل الأصلية عندما تحتاج إلى سجل المحادثة. وستُمرر كما هي دون تغيير.

البث والاستدعاءات غير المتزامنة#

تُمرر وسيطات طلب SDK دون تغيير، بما فيها stream=True:

llm = LLM("gpt-6-luna")
for event in llm("Explain object detection.", stream=True):
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)

استخدم async_call للطلبات المتزامنة:

import asyncio

from ultralytics import LLM

llm = LLM("gpt-6-luna")

async def main():
    response = await llm.async_call("What is YOLO?")
    print(response.output_text)

asyncio.run(main())

المزوّدون المتوافقون مع OpenAI#

تعمل LLM مع المزوّدين الذين يتيحون Responses API أو Chat Completions API المتوافقة مع OpenAI، بما في ذلك DeepSeek وKimi وZ.AI GLM وOpenRouter. عيّن base_url الخاص بالمزوّد واسم النموذج ومفتاح API:

from ultralytics import LLM

llm = LLM(
    "provider-model",
    api="chat.completions",
    base_url="https://provider.example/v1",
    api_key="your-api-key",
)
response = llm("What tasks does YOLO support?")
print(response.choices[0].message.content)

يعمل الإعداد نفسه مع الخوادم المحلية المتوافقة. تختلف أسماء النماذج ودعم الصور ووسيطات الطلب وواجهات API المدعومة من مزوّد إلى آخر؛ لذا راجع الوثائق المرتبطة به.

اجمع بين YOLO ونموذج لغوي كبير#

شغّل YOLO أولاً، ثم استدعِ النموذج اللغوي الكبير عند اكتشاف شخص فقط:

from ultralytics import LLM, YOLO

yolo = YOLO("yolo26n.pt")
llm = LLM("gpt-6-luna")
image = "https://ultralytics.com/images/bus.jpg"

result = yolo(image)[0]
# ⁨استدعِ النموذج اللغوي الكبير فقط عندما يكتشف YOLO شخصاً.⁩
if any(result.names[int(cls)] == "person" for cls in result.boxes.cls):
    response = llm("Describe the scene.", image=image)
    print(response.output_text)

مرجع API#

المعاملالافتراضيالوصف
model"gpt-6-luna"معرّف النموذج المُرسل إلى نقطة النهاية المحددة
api"responses"تنسيق API: "responses" أو "chat.completions"
base_urlNoneنقطة نهاية اختيارية متوافقة مع OpenAI
api_keyNoneمفتاح API؛ وإلا فسيقرأ SDK قيمة OPENAI_API_KEY
promptNoneتعليمات تُضاف في بداية طلبات النصوص والصور العادية
**kwargsوسيطات طلب SDK الافتراضية؛ وتتجاوز الوسيطات المحددة لكل استدعاء القيم المطابقة في المُنشئ

تقبل source نصاً أو قائمة رسائل أصلية أو كائن صورة. وتقبل image عنوان URL لصورة أو URI للبيانات أو مساراً أو مصفوفة NumPy أو صورة PIL. ويؤدي استدعاء llm() من دون مدخل ومع إعداد prompt إلى إرسال الموجّه وحده.

تقتصر LLM على الاستدلال، ولا تتوفر عبر CLI الخاص بـyolo. ولا تنفذ train أو val أو export أو track أو benchmark.

الأسئلة الشائعة#

  • تستخدم LLM واجهة Responses API افتراضياً. عيّن api="chat.completions" لنقاط نهاية Chat Completions.

  • يمكنك استخدام OpenAI أو مزوّد آخر بواجهة API متوافقة، مثل DeepSeek أو Kimi أو Z.AI GLM أو OpenRouter. استخدم اسم النموذج وعنوان URL الأساسي ومفتاح API الخاص بالمزوّد.

  • مرّر الموجّه بوصفه الوسيط الأول، ثم مرّر مساراً محلياً أو عنوان URL أو URI للبيانات أو مصفوفة NumPy أو صورة PIL عبر image. يعتمد دعم الصور على النموذج والمزوّد المحددين.

  • لا. توفر LLM الاستدلال المتزامن وغير المتزامن فقط. استخدم YOLO من Ultralytics لتدريب الرؤية الحاسوبية والتحقق والتنبؤ والتصدير والتتبع وقياس الأداء.

التعليقات