deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Ollama'nın OpenAI uyumlu /v1 endpoint'i think anahtarını sessizce yok sayıyor

Bir dev.to raporu, Ollama'nın OpenAI uyumlu /v1 endpoint'inin think bayrağını sessizce yok saydığını ortaya koyuyor; böylece Qwen3 modelleri tüm token bütçesini akıl yürütmeye harcayıp boş yanıtlar döndürüyor.

Ollama'nın OpenAI uyumlu /v1 endpoint'i think anahtarını sessizce yok sayıyor

Hata

Ollama, OpenAI'nin chat API'sine göre yazılmış uygulamaların minimal değişiklikle yerel olarak barındırılan modellere yönlenebilmesi için tam olarak bu amaçla OpenAI uyumlu bir /v1 endpoint'i sunuyor. dev.to'da yayımlanan bir yazıya göre bu endpoint, Qwen3 ailesi modeller için think anahtarını sessizce yok sayıyor ve hatanın ortaya çıkış biçimi özellikle can sıkıcı: model tüm üretim bütçesini gizli akıl yürütmede tüketiyor ve ardından boş bir yanıt döndürüyor.

Yazıdaki örnek, qwen3 modeline yapılan ve "hello" kelimesini Fransızcaya çevirmesini isteyen, payload içinde "think": false içeren bir istek. Beklenen, akıl yürütme zinciri olmayan kısa ve doğrudan bir yanıttı. Yazarların bildirdiğine göre gerçekte yaşanan ise bayrağın modele hiç ulaşmaması oldu. Model, üretebileceği token sayısının üst sınırı olan num_predict bütçesini tüketene kadar dahili olarak akıl yürüttü ve hiç görünür içerik üretmedi.

Bayrak neden önemli

Qwen3, yanıtlamadan önce dahili bir akıl yürütme zinciri üretebilen, giderek büyüyen hibrit akıl yürütme modelleri grubuna aittir. Bu akıl yürütme zor problemlerde yardımcı, basit olanlarda ise israf niteliğindedir; Ollama'nın istek başına bir think bayrağı sunarak bunu açıp kapatmasının nedeni de budur. Anahtar yok sayıldığında biraz daha kötü bir davranışla karşılaşmazsınız. HTTP düzeyinde başarılı olan, iyi biçimlendirilmiş bir yanıt nesnesi döndüren ama yanıtın olması gereken yerde hiçbir şey içermeyen bir istek alırsınız. Yakalanacak bir hata yoktur; sadece boş bir string vardır.

Geçici çözüm

dev.to yazısında tarif edilen çözüm, uyumluluk katmanını atlayıp Ollama'nın yerel /api/chat endpoint'ini doğrudan çağırmak. Payload neredeyse aynı: aynı model, aynı mesaj listesi, aynı "think": false alanı. Yerel endpoint'te bayrağa saygı gösteriliyor; dolayısıyla model doğrudan yanıt veriyor ve beklenen çıktıyı döndürüyor.

Ödünleşimler

Geçici çözüm bedelsiz değil. OpenAI uyumlu istemciler üzerine kurulu kodun, Ollama'nın yerel API'sini konuşacak şekilde yeniden düzenlenmesi gerekiyor; oysa /v1 endpoint'i tam da bu entegrasyon işinden kaçınmak için var. Yazının yazarları ayrıca /api/chat'in uyumluluk endpoint'inden farklı rate limit ve fiyatlandırma yapılarına sahip olabileceği konusunda uyarıyor; bunun kendi dağıtımınızda doğrulanması yararlı olur. Bunlara ek olarak, bu tür sessiz davranış değişikliklerinin bir dahaki sefere daha erken yakalanması için izleme ve uyarı sistemlerine yatırım yapıyorlar.

Yazı, bayrağın neden yok sayıldığını açıklamıyor. Makul bir okuma — ki bu, kaynağın doğruladığı bir şey değil, sadece bir tahmin — think'in OpenAI API şemasının bir parçası olmayan, Ollama'ya özgü bir eklenti olması; dolayısıyla yalnızca standart alanları ileten bir uyumluluk katmanının bunu ayıklamasıdır. Aynı belirtiyle karşılaşan ekipler, bir nedene varmadan önce davranışı kendi Ollama sürümlerinde yeniden üretmek isteyebilir.

Neden önemli

OpenAI uyumlu endpoint'ler LLM araçlarının ortak dili haline geldi: her framework, agent kütüphanesi ve proxy bunları varsayıyor. Bu kolaylık tamamen parametrelerin gerçekten iletilmesine bağlı ve think gibi standart olmayan bayraklar, sessiz sapmaların tam da ortaya çıktığı yer. Hibrit akıl yürütme modelinde eksik bir bayrak kozmetik bir sorun değil. Token kullanımını ve gecikmeyi katlıyor ve bu örnekte hiç içerik içermeyen tamamlamalar üretti; bu da aslında bir boru hattı (plumbing) hatasıyken bir model hatası gibi görünüyor.

Pratik çıkarımlar açık. LLM uygulamaları için entegrasyon testleri think gibi anahtarların etkili olduğunu doğrulamalı, boş tamamlamalar bir uyarıyı hak ediyor ve "OpenAI uyumlu" ifadesi, istemcinizden modele hangi parametrelerin ulaştığını doğrulayana kadar her zaman bir yıldız işareti taşımaya devam ediyor.

  • #ollama
  • #qwen3
  • #llm
  • #openai-api
  • #local-models

İlgili yazılar