Kılavuzlara dön
Sorun giderme·23 Eylül 2026·6 dk okuma

“`temperature` ve `top_p` bu model için birlikte belirtilemez” — birini gönderin; daha yeni Claude modellerinde ikisini de göndermeyin

İkisinden yalnızca birini gönderin. Anthropic bu kuralı Claude Haiku 4.5 için belgeliyor; geliştiriciler Claude Opus 4.6 ve Sonnet 4.6’da da aynı 400 hatasıyla karşılaşıyor; Claude Opus 4.7 ve sonraki sürümlerde ise kural ikisini de göndermemeyi gerektiriyor. Çoğu zaman sorun, hiç ayarlamadığınız parametreyi istemci veya çerçevenin doldurmasıdır.

Son inceleme tarihi: .

İkisinden yalnızca birini gönderin. Anthropic bu kuralı Claude Haiku 4.5 için belgeliyor; geliştiriciler Claude Opus 4.6 ve Sonnet 4.6’da da aynı 400 hatasıyla karşılaşıyor; Claude Opus 4.7 ve sonraki sürümlerde ise kural ikisini de göndermemeyi gerektiriyor. Çoğu zaman sorun, hiç ayarlamadığınız parametreyi istemci veya çerçevenin doldurmasıdır.

Hata

Anthropic API yanıtı (HTTP 400)
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "`temperature` and `top_p` cannot both be specified for this model. Please use only one."
  },
  "request_id": "req_..."
}

Nedenler ve çözümler özeti

NedenÇözüm
Kodunuz veya onun altında çalışan bir çerçeve ikisini de gönderiyorYalnızca istediğiniz parametreyi gönderin ve diğer anahtarı silin.
İkincisi top_p: 1 gibi “nötr” bir varsayılandırAynı şekilde başarısız olduğu bildirildi. Anahtarı normalleştirmek yerine kaldırın.
Eski bir LangChain JS veya n8n derlemesiYükseltin: @langchain/anthropic 1.3.24 veya sonrası, n8n 1.114.1 veya sonrası.
LiteLLM ikisini de olduğu gibi iletiyorBu modele additional_drop_params: ["top_p"] ekleyin.
Claude Opus 4.7 veya sonrasına, Sonnet 5’e ya da Fable 5’e geçtinizBuradaki kural daha sıkıdır: ikisini de kaldırın; ikisinden herhangi birinin varsayılan olmayan değeri reddedilir.

Bunu zorunlu kılan Claude modelleri (Eylül 2026 itibarıyla)

Anthropic’in Haiku 4.5 geçiş kılavuzu şu kuralı belirtir: ikisini birden değil, yalnızca temperature veya top_p kullanın — ikisini de ayarlamak Claude Haiku 4.5’te 400 döndürür ve Claude 3.x’ten gelen kodlar için geriye dönük uyumluluğu bozar (https://platform.claude.com/docs/en/models/haiku-4-5/migration-guide). Anthropic’in API sürüm notları aynı kuralı 5 Ağustos 2025’teki Claude Opus 4.1 lansmanında duyurdu; bu model daha sonra kullanımdan kaldırıldı (https://platform.claude.com/docs/en/release-notes/api). AWS, Bedrock’ta Claude Sonnet 4.5 ve Claude Haiku 4.5 için kuralı belirtir (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages-request-response.html). 4.6 modelleri için bu kuralı belirten bir Anthropic sayfası bulamadık; ancak geliştiriciler Claude Opus 4.6 (OpenHands issue #12846) ve Claude Sonnet 4.6 (opencommit issue #566) için tam olarak bu 400 hatasını bildiriyor. Claude Opus 4.7 ve sonrası aşağıda ele alınır: orada bir tane bile fazladır.

Birini gönderin — diğer anahtarı silin

Aksini gerektiren bir nedeniniz yoksa temperature’ı koruyun: Anthropic API başvurusu top_p’yi yalnızca gelişmiş kullanım durumları için önerir (https://platform.claude.com/docs/en/api/messages). İkinci anahtarı nötr olduğunu düşündüğünüz bir değere ayarlamak yerine kaldırın — bir geliştirici, Claude Sonnet 4.5’te temperature 0.3’ün yanında top_p 1.0 bulunduğunda yine başarısız olduğunu bildirdi (n8n issue #18304).

one_knob.py
from openai import OpenAI

client = OpenAI(base_url="https://api.kunavo.com/v1", api_key="sk-kn-...")

def one_sampling_knob(params: dict) -> dict:
    """Where the rule applies, send temperature or top_p, not both. Keep temperature."""
    if params.get("temperature") is not None:
        params.pop("top_p", None)
    return params

sampling = one_sampling_knob({"temperature": 0.3, "top_p": 0.9})  # {"temperature": 0.3}

resp = client.chat.completions.create(
    model="claude-haiku-4-5",
    max_tokens=512,
    messages=[{"role": "user", "content": "Classify this support ticket: ..."}],
    **sampling,
)
print(resp.choices[0].message.content)

İkinci anahtarı ekleyen istemcide düzeltin

LangChain JS: ChatAnthropic 0.3.x, ayarladığınız top_p’nin yanında varsayılan bir temperature gönderiyordu (issue #9258; 0.3 serisinde PR #9362 ile Kasım 2025’te düzeltildi) ve 17 Mart 2026’da @langchain/anthropic 1.3.24 olarak yayımlanan PR #10420, ayarlamadan bıraktığınız örnekleme anahtarlarını eklemeyi durdurdu (https://github.com/langchain-ai/langchainjs/pull/10420). n8n: Anthropic Chat Model düğümü LangChain’in varsayılanlarını (topP -1, temperature 0.7) geçiriyordu; 2 Ekim 2025’te yayımlanan n8n 1.114.1’de düzeltildi (https://github.com/n8n-io/n8n/pull/20286). LiteLLM: çağrı veya model başına kaldırılacak parametreyi additional_drop_params ile adlandırın (https://docs.litellm.ai/docs/completion/drop_params) — ancak Anthropic pass-through yolunda rapor, pass-through isteklerinin değiştirilmediği gerekçesiyle kapatılmıştır (https://github.com/BerriAI/litellm/issues/15097). Amazon Bedrock: Converse inferenceConfig içinde temperature veya topP’yi ya da InvokeModel gövdesinde temperature veya top_p’yi ayarlayın — ikisini asla birlikte göndermeyin (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html).

litellm-config.yaml
model_list:
  - model_name: claude-haiku-4-5
    litellm_params:
      model: openai/claude-haiku-4-5        # Kunavo speaks the OpenAI chat shape
      api_base: https://api.kunavo.com/v1
      api_key: sk-kn-...
      additional_drop_params: ["top_p"]     # keep temperature, never send top_p

Claude Opus 4.7 ve sonrasında hiçbirini göndermeyin

Daha yeni modeller daha da ileri gider. Claude Opus 4.7 ve sonraki modellerde temperature, top_p veya top_k’ye varsayılan olmayan herhangi bir değer verilmesi 400 döndürür (https://platform.claude.com/docs/en/models/opus-5-5/migration-guide); aynı durum Claude Sonnet 5 (https://platform.claude.com/docs/en/models/sonnet-5/migration-guide), Claude Fable 5 (https://platform.claude.com/docs/en/models/fable-5/migration-guide) ve Fable 5.1 (https://platform.claude.com/docs/en/models/fable-5-1/migration-guide) için de geçerlidir. Mesaj değişir — geliştiriciler “`temperature` is deprecated for this model.” görür — ve Anthropic’in API başvurusu artık üç parametrenin tamamını kullanımdan kaldırılmış olarak işaretler: Claude Opus 4.6’dan sonra yayımlanan modellerde geriye dönük uyumluluk için yalnızca 1.0 temperature veya 0.99 ve üzeri top_p kabul edilir; top_k ise her değerde reddedilir (https://platform.claude.com/docs/en/api/messages). Anthropic Python SDK, 20 Ağustos 2026’da yayımlanan v1.0 sürümünde bunları Messages yöntemlerinden kaldırdı (https://platform.claude.com/docs/en/release-notes/api).

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

Anthropic’in örneklemeyi kaldırdığı yedi claude-* modelinde — claude-fable-5-1, claude-fable-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7 ve claude-sonnet-5 — Kunavo, istek ağ geçidinden ayrılmadan önce /v1/chat/completions ve /v1/messages üzerinde temperature, top_p ve top_k’yi istekten siler. Bu yedi modelde bu hatayı görmezsiniz; ancak gönderdiğiniz değerlerin hiçbir etkisi yoktur: istek, bunları hiç göndermemişsiniz gibi üst hizmete iletilir. claude-opus-4-6, claude-sonnet-4-6 ve claude-haiku-4-5’te Kunavo hiçbir şeyi çıkarmaz: chat çeviricisi sayısal temperature, top_p veya top_k değerlerini Claude isteğine değiştirmeden kopyalar; /v1/messages ise gövdenizi gönderdiğiniz gibi iletir. Bu nedenle burada ikisinden yalnızca birini gönderin. Üst hizmet çifti reddederse 400 yanıtı, üst hizmetin mesaj metni değiştirilmeden size ulaşır; başka bir kanalda yeniden denenmez ve sıfır maliyetle kaydedilir. Daha yeni modellerin reddettiği başka bir istek parametresi şu kılavuzda ele alınır: max_tokens ve max_completion_tokens kılavuzu.

Sık sorulan sorular

Claude ile temperature mı yoksa top_p mi kullanmalıyım?

Özel bir nedeniniz yoksa temperature. Anthropic’in API başvurusu top_p’yi yalnızca gelişmiş kullanım durumları için önerir; Claude Opus 4.7 ve sonrasında ikisinden hiçbiri varsayılan olmayan bir değere ayarlanamaz.

top_p = 1, ayarlanmamış sayılır mı?

Buna güvenmeyin. Bir geliştirici, Claude Sonnet 4.5’te temperature’ın yanında top_p 1.0 bulunduğunda aynı 400 hatasını bildirdi (n8n issue #18304). Anahtarı nötr görünen bir değere ayarlamak yerine silin.

n8n veya LangChain, ben hiç ayarlamadığım halde neden top_p gönderiyor?

İkisi de varsayılanları aktarıyordu. n8n’in Anthropic Chat Model düğümü 1.114.1’e kadar LangChain’in varsayılanlarını (topP -1, temperature 0.7) gönderdi; LangChain JS 0.3.x’teki ChatAnthropic de ayarladığınız top_p’nin yanında varsayılan bir temperature gönderdi. Yükseltin: n8n 1.114.1 veya sonrası, @langchain/anthropic 1.3.24 veya sonrası.

“`temperature` is deprecated for this model” ne anlama gelir?

Bu, Claude Opus 4.7 ve sonrası, Sonnet 5 ile Fable 5 ve 5.1’deki daha sıkı kuraldır: bu modeller varsayılan olmayan örnekleme değerlerini doğrudan reddeder. Parametreleri kaldırın. Kunavo üzerinden sunduğumuz modellerde bunlar çıkarıldığından çağrı başarılı olur.

Kunavo’da reddedilen bir istek ücretlendirilir mi?

Hayır. Üst hizmetin reddettiği bir istek sıfır maliyetle kaydedilir.

İ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.