Kılavuzlara dön
Sorun giderme·28 Ağustos 2026·6 dk okuma

“Unsupported parameter: 'max_tokens' is not supported with this model” — max_completion_tokens kullanın

Yeniden adlandırma kolay kısımdır. İnsanları yakalayan kısım, yeni alanın neyi saydığıdır — max_completion_tokens, akıl yürütmeyi ve görünen çıktıyı birlikte kapsar; bu nedenle yalnızca yanıt için ayarlanan bütçe boş döner, finish_reason "length" olur ve ücretlendirilir.

Son inceleme tarihi: .

Yeniden adlandırma kolay kısımdır. İnsanları yakalayan kısım, yeni alanın neyi saydığıdır — max_completion_tokens, akıl yürütmeyi ve görünen çıktıyı birlikte kapsar; bu nedenle yalnızca yanıt için ayarlanan bütçe boş döner, finish_reason "length" olur ve ücretlendirilir.

Hata

yanıt (HTTP 400)
{
  "error": {
    "message": "Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.",
    "type": "invalid_request_error",
    "param": "max_tokens",
    "code": "unsupported_parameter"
  }
}

Nedenler ve çözümler özeti

NedenÇözüm
Akıl yürütme modeli aileleri alanı değiştirdiBu modellerde max_tokens yerine max_completion_tokens gönderin.
Eski alana sabitlenmiş SDK veya sarmalayıcıYükseltin veya alanı yardımcı üzerinden değil, açıkça ayarlayın.
Birden çok sağlayıcıya yayılan tek kod yoluModel başına dallanmak yerine uçta bir kez normalleştirin.
Düzelttikten sonra boş yanıtBütçe akıl yürütme token'larını da içerir — beklenen çıktınızın oldukça üzerine çıkarın.

Alanı yeniden adlandırın

Çağrı noktasında bu doğrudan bir değiştirmedir. İsteğin geri kalanında hiçbir değişiklik olmaz.

fix.py
# Before
resp = client.chat.completions.create(
    model="gpt-5-6-sol", max_tokens=1024, messages=msgs)

# After
resp = client.chat.completions.create(
    model="gpt-5-6-sol", max_completion_tokens=1024, messages=msgs)

Göremediğiniz akıl yürütme için bütçe ayırın

max_completion_tokens, akıl yürütme token'ları ile görünen çıktıyı birlikte sınırlar. Bir model 1.024 sınırı altında düşünmek için 900 token harcarsa 124 token yanıt alırsınız — ya da finish_reason "length" olan boş bir mesaj ve bunların tamamı için bir fatura. Bütçeyi her ikisini de kapsayacak şekilde ayarlayın ve boş bir yanıta güvenmeden önce finish_reason'ı kontrol edin.

Model başına dallanmak yerine bir kez normalleştirin

Kodunuzun ucundaki tek bir yardımcı, geri kalanını sağlayıcıdan bağımsız tutar ve bir sonraki model ailesinin yeni bir düzenleme turuna dönüşmesini engeller.

normalize.py
def token_budget(model: str, n: int) -> dict:
    """One place that knows which spelling a model wants."""
    if model.startswith("claude-"):
        return {"max_tokens": n}
    return {"max_completion_tokens": n}

resp = client.chat.completions.create(
    model=model, messages=msgs, **token_budget(model, 4096))

Benzer reddedilmeleri bekleyin

max_tokens'u bırakan aynı model aileleri temperature ve top_p'yi de sıklıkla reddeder. Bunu düzeltmek genellikle bir sonrakini ortaya çıkarır; desteklenmeyen örnekleme parametrelerini varsayılanlarına ayarlamak yerine kaldırın.

Kunavo üzerinden çağrı yapıyorsanız

Kunavo'nun /v1/chat/completions uç noktası GPT-5.x akıl yürütme ailesinde max_tokens'u kabul eder: çevirici, gönderdiğiniz iki yazımdan hangisi olursa olsun okur ve üst akış alanına eşler; /v1/responses da bunun ayna görüntüsünü sunar. Dolayısıyla bu modellerde herhangi bir şeyi yeniden adlandırmanız gerekmez. Açıkça belirtilmesi gereken bir asimetri: claude-* modellerinde sohbet çeviricisi şu anda yalnızca max_tokens'u okur; bu nedenle Claude için bu yazımı gönderin — yukarıdaki yardımcı da bunu yapar.

Sık sorulan sorular

max_completion_tokens yalnızca yeniden adlandırma mı?

Çağrı noktasında evet, anlam olarak hayır — max_tokens yalnızca görünen çıktıyı sınırlarken bu alan akıl yürütme token'larını ve çıktıyı birlikte sınırlar.

Bunu düzelttikten sonra yanıtım neden boş?

Bütçe akıl yürütme için harcanmıştır. Boş içerikle birlikte finish_reason: "length" görüyorsanız sınırı artırın.

Model başına dallanmak zorunda mıyım?

GPT ailesi için Kunavo'da hayır — her iki yazım da kabul edilir. Yalnızca claude-* modellerinde dallanın veya her yerde tek bir normalleştirme yardımcısı kullanın.

İlgili kılavuzlar

Hata anlamlarına ilişkin daha fazla bilgi hata referansı bölümünde; anahtar almak kayıt ve kimlik doğrulama kılavuzu üzerinden bir dakika sürer.