Ultralytics LLM Arayüzü#
LLM, OpenAI uyumlu bir API üzerinden dil ve görüntü modellerini çağırmaya yarayan küçük bir arayüzdür. Metin veya görüntü girdisini hazırlar, istek bağımsız değişkenlerini resmi OpenAI Python SDK'sına iletir ve SDK'nin yerel yanıt nesnesini döndürür. Bu sayede sağlayıcıya özgü yanıt türlerini sarmalamadan bir YOLO işlem hattına dil veya görüntü akıl yürütme özelliklerini kolayca ekleyebilirsin.
Varsayılan API responses'dır; 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şkeninde ayarla:
export OPENAI_API_KEY="your-api-key"Responses API#
Responses API varsayılandır. Bir istem gönder 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 üzerinden bir yol, HTTP URL'si, data URI, NumPy dizisi veya PIL görüntüsü gönder:
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örüntü nesneleri JPEG data URI'leri olarak kodlanır. NumPy dizileri OpenCV'nin BGR kanal sırasını kullanır. source olarak iletilen llm("bus.jpg") gibi bir dize metin olarak değerlendirilir; görüntü göndermek için image bağımsız değişkenini kullan.
Her istek için ortak olan bir talimatı prompt ile kullan:
llm = LLM("gpt-5.6-luna", prompt="Answer in one sentence.")
response = llm("Describe this image.", image="bus.jpg")Chat Completions#
Uç noktanın gerektirdiği durumlarda Chat Completions'ı seç ve yerel yanıt biçimini 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 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 mesaj nesnelerini gönder. Bunlar değiştirilmeden iletilir.
Akış ve Asenkron Çağrılar#
stream=True dahil SDK istek bağımsız değişkenleri değiştirilmeden iletilir:
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 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 sunucularla 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 ve LLM'yi Birleştirme#
Ö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 Başvurusu#
| Bağımsız değişken | Varsayılan | Açı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_url | None | İsteğe bağlı OpenAI uyumlu uç nokta |
api_key | None | API anahtarı; aksi halde SDK OPENAI_API_KEY değerini okur |
prompt | None | Düz metin ve görüntü isteklerinin başına eklenen talimat |
**kwargs | Varsayılan SDK istek bağımsız değişkenleri; çağrı başına belirtilen bağımsız değişkenler, eşleşen oluşturucu değerlerini geçersiz kılar |
source, metin, yerel bir mesaj listesi veya bir görüntü nesnesi kabul eder. image, bir görüntü URL'si, data URI, yol, NumPy dizisi veya PIL görüntüsü kabul eder. Yapılandırılmış bir prompt ile model() çağrıldığında istem tek başına gönderilir.
LLM yalnızca çıkarım içindir ve yolo CLI'si üzerinden kullanıma sunulmaz. train, val, export, track veya benchmark uygulamaz.
SSS#
LLM, varsayılan olarak Responses API'yi kullanır. Chat Completions uç noktaları içinapi="chat.completions"değerini ayarla.OpenAI'yi veya uyumlu bir API'ye sahip başka bir sağlayıcıyı, örneğin DeepSeek, Kimi, Z.AI GLM ya da OpenRouter kullanabilirsin. 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, yerel yolu, URL'yi, data URI'yi, NumPy dizisini veya PIL görüntüsünü ise
imageüzerinden gönder. Görüntü desteği, seçilen modele ve sağlayıcıya bağlıdır.Hayır.
LLMyalnı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 UltralyticsYOLOkullan.