YOLO Vision 2026:

Ultralytics LLM Arayüzü#

LLM, OpenAI uyumlu bir API üzerinden dil ve vizyon modellerini çağırmak için küçük bir arayüzdür. Metin veya görsel girdisini hazırlar, istek argümanlarını resmi OpenAI Python SDK'sine iletir ve SDK'nin yerel yanıt nesnesini döndürür. Bu, sağlayıcıya özgü yanıt türlerini sarmalamadan bir YOLO boru hattının yanında dil veya vizyon akıl yürütmesi eklemeyi kolaylaştırır.

Varsayılan API responses'dır; yalnızca Chat Completions uygulayan sağlayıcılar için api="chat.completions" kullan.

Kurulum#

Ultralytics'i isteğe bağlı LLM bağımlılığıyla kur:

pip install "ultralytics[llm]"

OpenAI için API anahtarını ortamda ayarla:

export OPENAI_API_KEY="your-api-key"

Yanıtlar API'si#

Responses API varsayılan seçenektir. Bir komut istemi ilet ve output_text değerini oku:

from ultralytics import LLM

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

Çok Modlu Girdi#

image aracılığıyla bir yol, HTTP URL, veri URI'si, NumPy dizisi veya PIL görseli ilet:

from ultralytics import LLM

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

Yerel dosyalar ve görsel nesneleri JPEG veri URI'leri olarak kodlanır. NumPy dizileri, OpenCV'nin BGR kanal sırasını kullanır. llm("bus.jpg") gibi source olarak iletilen bir dize metin olarak kabul edilir; bir görsel göndermek için image argümanını kullan.

Her istek tarafından paylaşılan bir yönerge için prompt kullan:

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

Sohbet Tamamlamaları#

Uç nokta tarafından gerektirildiğinde Chat Completions seç ve yerel yanıt şeklini oku:

from ultralytics import LLM

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

Aynı arayüz çok modlu girdiyi kabul eder:

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

Konuşma geçmişine ihtiyaç duyduğunda yerel mesaj nesneleri ilet. Bunlar değiştirilmeden iletilir.

Akış ve Asenkron Çağrılar#

stream=True dahil olmak üzere SDK istek argümanları olduğu gibi geçer:

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

Eşzamanlı istekler için async_call kullan:

import asyncio

from ultralytics import LLM

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

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

asyncio.run(main())

OpenAI Uyumlu Sağlayıcılar#

LLM, DeepSeek, Kimi, Z.AI GLM ve OpenRouter dahil olmak üzere OpenAI uyumlu bir Responses veya Chat Completions API'si sunan sağlayıcılarla çalışır. Sağlayıcının base_url, model adını ve API anahtarını ayarla:

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)

Aynı yapılandırma uyumlu yerel sunucularla da çalışır. Model adları, görsel desteği, istek argümanları ve desteklenen API'ler sağlayıcıya göre değişir, bu nedenle bağlantılı belgelerini kontrol et.

YOLO ile bir LLM'yi Birleştir#

Önce YOLO'yu çalıştır, ardından yalnızca bir kişi algılandığında LLM'yi çağır:

from ultralytics import LLM, YOLO

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

result = yolo(image)[0]
# Call the LLM only when YOLO detects a person.
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 Referansı#

ArgümanVarsayılanAçıklama
model"gpt-5.6-luna"Seçilen uç noktaya gönderilen model tanımlayıcısı
api"responses"API biçimi: "responses" veya "chat.completions"
base_urlNoneİsteğe bağlı OpenAI uyumlu uç nokta
api_keyNoneAPI anahtarı; aksi takdirde SDK OPENAI_API_KEY değerini okur
promptNoneDüz metin ve görsel isteklerinin başına eklenen yönerge
**kwargsVarsayılan SDK istek argümanları; çağrı başına argümanlar eşleşen oluşturucu değerlerini geçersiz kılar

source, metin, yerel bir mesaj listesi veya bir görsel nesnesi kabul eder. image, bir görsel URL'si, veri URI'si, yol, NumPy dizisi veya PIL görseli kabul eder. Yapılandırılmış bir prompt ile model() çağrısı, komut istemini tek başına gönderir.

LLM yalnızca çıkarım amaçlıdır ve yolo CLI aracılığıyla sunulmaz. train, val, export, track veya benchmark uygulamaz.

SSS#

  • LLM varsayılan olarak Responses API'sini kullanır. Chat Completions uç noktaları için api="chat.completions" değerini ayarla.

  • OpenAI'yi veya DeepSeek, Kimi, Z.AI GLM ya da OpenRouter gibi uyumlu bir API'ye sahip başka bir sağlayıcıyı kullanabilirsin. Sağlayıcının model adını, taban URL'sini ve API anahtarını kullan.

  • Komut istemini ilk argüman olarak ve yerel bir yol, URL, veri URI'si, NumPy dizisi veya PIL görselini image aracılığıyla ilet. Görsel desteği seçilen modele ve sağlayıcıya bağlıdır.

  • Hayır. LLM yalnızca senkron ve asenkron çıkarım sağlar. Bilgisayarlı görü eğitimi, doğrulaması, tahmini, dışa aktarımı, takibi ve kıyaslaması için Ultralytics YOLO kullan.

Katkıda Bulunanlar

Yorumlar