Ultralytics YOLO27:
Get Started

Ultralytics LLM Arayüzü#

LLM, dil ve görme modellerini OpenAI uyumlu bir API üzerinden çağırmaya yarayan küçük bir arayüzdür. Metin veya görüntü girdisini hazırlar, istek bağımsız değişkenlerini resmî OpenAI Python SDK'sına iletir ve SDK'nın yerel yanıt nesnesini döndürür. Böylece sağlayıcıya özgü yanıt türlerini sarmalamadan, YOLO işlem hattının yanına dil veya görsel akıl yürütme eklemek kolaylaşır.

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

Kurulum#

İsteğe bağlı LLM bağımlılığıyla Ultralytics'i yükle:

pip install "ultralytics[llm]"

OpenAI için API anahtarını ortam değişkenine ayarla:

export OPENAI_API_KEY="your-api-key"

Responses API#

Varsayılan API Responses API'dir. Bir istem ilet ve output_text değerini oku:

from ultralytics import LLM

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

Çok Modlu Girdi#

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

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)

Yerel dosyalar ve görüntü 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 kabul edilir; görüntü göndermek için image bağımsız değişkenini kullan.

Her istek için ortak bir yönerge belirlemek üzere prompt kullan:

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

Chat Completions#

Uç nokta gerektiriyorsa Chat Completions'ı seç ve yerel yanıt biçimini oku:

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)

Aynı arayüz çok modlu girdiyi de 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 ileti nesnelerini ilet. Bu nesneler değiştirilmeden aktarılır.

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

stream=True dahil olmak üzere SDK istek bağımsız değişkenleri değiştirilmeden aktarılır:

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)

Eşzamanlı istekler için async_call kullan:

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 Uyumlu Sağlayıcılar#

LLM; DeepSeek, Kimi, Z.AI GLM ve OpenRouter dahil, OpenAI uyumlu Responses veya Chat Completions API'si sunan sağlayıcılarla çalışır. Sağlayıcının base_url değerini, 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 sunucularda da çalışır. Model adları, görüntü desteği, istek bağımsız değişkenleri ve desteklenen API'ler sağlayıcıya göre değişir; bu nedenle sağlayıcının bağlantılı belgelerini kontrol et.

YOLO ile bir LLM'yi birlikte kullan#

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

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]
# LLM'yi yalnızca YOLO bir kişi tespit ettiğinde çağır.
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ı#

Bağımsız değişkenVarsayılanAçıklama
model"gpt-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örüntü isteklerinin başına eklenen yönerge
**kwargsVarsayılan SDK istek bağımsız değişkenleri; çağrı başına belirtilen bağımsız değişkenler eşleşen kurucu değerlerinin üzerine yazar

source; metni, yerel ileti listesini veya görüntü nesnesini kabul eder. image; görüntü URL'sini, veri URI'sini, yolu, NumPy dizisini veya PIL görüntüsünü kabul eder. Girdi olmadan ve prompt yapılandırılmışken llm() çağrılırsa yalnızca istem gönderilir.

LLM yalnızca çıkarım içindir ve yolo CLI üzerinden sunulmaz. train, val, export, track veya benchmark uygulamalarını içermez.

Sık Sorulan Sorular#

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

  • OpenAI'ı veya uyumlu bir API sunan başka bir sağlayıcıyı kullanabilirsin; örneğin DeepSeek, Kimi, Z.AI GLM ya da OpenRouter. Sağlayıcının model adını, temel URL'sini ve API anahtarını kullan.

  • İstemi ilk bağımsız değişken olarak ilet; image üzerinden yerel bir yol, URL, veri URI'si, NumPy dizisi veya PIL görüntüsü gönder. Görüntü desteği seçilen modele ve sağlayıcıya bağlıdır.

  • Hayır. LLM yalnızca eşzamanlı ve asenkron çıkarım sağlar. Bilgisayarlı görü eğitimi, doğrulama, tahmin, dışa aktarma, izleme ve kıyaslama için Ultralytics YOLO öğesini kullan.

Katkıda Bulunanlar

Yorumlar