Senden Sie nur einen der beiden Parameter. Anthropic dokumentiert diese Regel für Claude Haiku 4.5; Entwickler stoßen bei Claude Opus 4.6 und Sonnet 4.6 auf denselben 400-Fehler, und bei Claude Opus 4.7 und später verschärft sie sich auf keinen der beiden. Oft liegt die Ursache darin, dass ein Client oder Framework den Parameter ergänzt, den Sie nie gesetzt haben.
Der Fehler
{
"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_..."
}Ursachen und Lösungen im Überblick
| Ursache | Lösung |
|---|---|
| Ihr Code oder ein darunterliegendes Framework sendet beide | Senden Sie nur den Parameter, den Sie meinen, und löschen Sie den anderen Schlüssel. |
| Der zweite ist ein „neutraler“ Standardwert, etwa top_p: 1 | Es wurde berichtet, dass dies ebenfalls fehlschlägt. Entfernen Sie den Schlüssel, statt ihn zu normalisieren. |
| Eine ältere LangChain-JS- oder n8n-Version | Aktualisieren Sie auf @langchain/anthropic 1.3.24 oder später bzw. n8n 1.114.1 oder später. |
| LiteLLM reicht beide Parameter durch | Fügen Sie für dieses Modell additional_drop_params: ["top_p"] hinzu. |
| Sie sind zu Claude Opus 4.7 oder später, Sonnet 5 oder Fable 5 gewechselt | Dort gilt eine strengere Regel: Entfernen Sie beide — jeder von null verschiedene, nicht standardmäßige Wert wird abgelehnt. |
Welche Claude-Modelle erzwingen dies (Stand September 2026)
Anthropics Migrationsleitfaden für Haiku 4.5: Verwenden Sie nur temperature oder top_p, nicht beide — das Setzen beider Parameter gibt bei Claude Haiku 4.5 einen 400-Fehler zurück, eine inkompatible Änderung für Code aus Claude 3.x (https://platform.claude.com/docs/en/models/haiku-4-5/migration-guide). Anthropics API-Versionshinweise markierten dieselbe Regel beim Start von Claude Opus 4.1 am 5. August 2025, einem inzwischen eingestellten Modell (https://platform.claude.com/docs/en/release-notes/api). AWS nennt sie für Claude Sonnet 4.5 und Claude Haiku 4.5 auf Bedrock (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages-request-response.html). Wir haben keine Anthropic-Seite gefunden, die die Regel für die 4.6-Modelle nennt; Entwickler berichten jedoch genau diesen 400-Fehler bei Claude Opus 4.6 (OpenHands-Issue #12846) und Claude Sonnet 4.6 (opencommit-Issue #566). Claude Opus 4.7 und später werden weiter unten behandelt: Dort ist bereits einer zu viel.
Senden Sie einen — und löschen Sie den anderen Schlüssel
Behalten Sie temperature bei, sofern Sie keinen besonderen Grund dagegen haben: Anthropics API-Referenz beschreibt top_p nur für fortgeschrittene Anwendungsfälle als empfohlen (https://platform.claude.com/docs/en/api/messages). Entfernen Sie den zweiten Schlüssel, statt ihn auf einen vermeintlich neutralen Wert zu setzen — ein Entwickler berichtete, dass top_p 1.0 neben temperature 0.3 bei Claude Sonnet 4.5 weiterhin fehlschlug (n8n-Issue #18304).
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)Beheben Sie es in dem Client, der den zweiten Parameter hinzufügt
LangChain JS: ChatAnthropic 0.3.x sendete neben dem von Ihnen gesetzten top_p eine Standard-Temperatur (Issue #9258; in der 0.3-Linie durch PR #9362 im November 2025 behoben), und PR #10420, veröffentlicht in @langchain/anthropic 1.3.24 am 17. März 2026, verhindert das Hinzufügen jedes nicht gesetzten Sampling-Schlüssels (https://github.com/langchain-ai/langchainjs/pull/10420). n8n: Der Anthropic-Chat-Model-Knoten übergab LangChains Standardwerte (topP -1, temperature 0.7); behoben in n8n 1.114.1, veröffentlicht am 2. Oktober 2025 (https://github.com/n8n-io/n8n/pull/20286). LiteLLM: Benennen Sie den zu entfernenden Parameter mit additional_drop_params, pro Aufruf oder pro Modell (https://docs.litellm.ai/docs/completion/drop_params) — ausgenommen die Anthropic-Pass-through-Route, auf der der Bericht mit der Begründung geschlossen wurde, dass Pass-through-Anfragen nicht verändert werden (https://github.com/BerriAI/litellm/issues/15097). Amazon Bedrock: Setzen Sie temperature oder topP in Converse inferenceConfig bzw. temperature oder top_p im InvokeModel-Body — niemals beide (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html).
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_pBei Claude Opus 4.7 und später keinen der beiden Parameter senden
Neuere Modelle gehen noch weiter. Das Setzen von temperature, top_p oder top_k auf einen beliebigen nicht standardmäßigen Wert bei Claude Opus 4.7 und später gibt einen 400-Fehler zurück (https://platform.claude.com/docs/en/models/opus-5-5/migration-guide); dasselbe gilt für Claude Sonnet 5 (https://platform.claude.com/docs/en/models/sonnet-5/migration-guide) sowie für Claude Fable 5 (https://platform.claude.com/docs/en/models/fable-5/migration-guide) und Fable 5.1 (https://platform.claude.com/docs/en/models/fable-5-1/migration-guide). Die Meldung ändert sich — Entwickler sehen „`temperature` is deprecated for this model.“ — und Anthropics API-Referenz markiert nun alle drei Parameter als veraltet: Bei Modellen, die nach Claude Opus 4.6 veröffentlicht wurden, akzeptiert sie aus Gründen der Abwärtskompatibilität nur temperature 1.0 oder top_p ab 0.99 und lehnt top_k bei jedem Wert ab (https://platform.claude.com/docs/en/api/messages). Das Anthropic-Python-SDK entfernte sie in v1.0 aus seinen Messages-Methoden; v1.0 wurde am 20. August 2026 veröffentlicht (https://platform.claude.com/docs/en/release-notes/api).
Wenn Sie Kunavo verwenden
Bei den sieben claude-*-Modellen, bei denen Anthropic Sampling entfernt hat — claude-fable-5-1, claude-fable-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7 und claude-sonnet-5 — löscht Kunavo temperature, top_p und top_k aus der Anfrage, bevor sie das Gateway verlässt, sowohl bei /v1/chat/completions als auch bei /v1/messages. Dieser Fehler tritt bei diesen sieben nicht auf, aber die von Ihnen gesendeten Werte haben keine Wirkung: Die Anfrage wird so an den Upstream gesendet, als hätten Sie sie weggelassen. Bei claude-opus-4-6, claude-sonnet-4-6 und claude-haiku-4-5 entfernt Kunavo nichts: Der Chat-Übersetzer kopiert jeden numerischen Wert von temperature, top_p oder top_k unverändert in die Claude-Anfrage, und /v1/messages leitet Ihren Body unverändert weiter; senden Sie dort daher nur einen der beiden Parameter. Wenn der Upstream das Paar ablehnt, erreicht Sie sein 400-Fehler mit unverändertem Meldungstext des Upstreams, wird nicht über einen anderen Kanal wiederholt und mit Kosten von null aufgezeichnet. Ein weiterer von neueren Modellen abgelehnter Anfrageparameter wird behandelt in dem Leitfaden zu max_tokens vs. max_completion_tokens.
Häufig gestellte Fragen
Soll ich bei Claude temperature oder top_p verwenden?
temperature, sofern Sie keinen besonderen Grund haben. Anthropics API-Referenz empfiehlt top_p nur für fortgeschrittene Anwendungsfälle; bei Claude Opus 4.7 und später darf keiner der beiden Parameter auf einen nicht standardmäßigen Wert gesetzt werden.
Gilt top_p = 1 als nicht gesetzt?
Verlassen Sie sich nicht darauf. Ein Entwickler berichtete denselben 400-Fehler, als top_p zusammen mit temperature bei Claude Sonnet 4.5 auf 1.0 stand (n8n-Issue #18304). Löschen Sie den Schlüssel, statt ihn auf einen scheinbar neutralen Wert zu setzen.
Warum senden n8n oder LangChain top_p, obwohl ich es nie gesetzt habe?
Beide reichten Standardwerte durch. Der Anthropic-Chat-Model-Knoten von n8n sendete bis 1.114.1 LangChains Standardwerte (topP -1, temperature 0.7), und ChatAnthropic in LangChain JS 0.3.x sendete neben dem von Ihnen gesetzten top_p eine Standard-Temperatur. Aktualisieren Sie auf n8n 1.114.1 oder später bzw. @langchain/anthropic 1.3.24 oder später.
Was bedeutet „`temperature` ist für dieses Modell veraltet“?
Für Claude Opus 4.7 und höher, Sonnet 5 sowie Fable 5 und 5.1 gilt die strengere Regel: Diese Modelle lehnen Sampling-Werte ab, die nicht den Standardwerten entsprechen. Entfernen Sie die Parameter. Bei Kunavo werden sie bei den von uns bereitgestellten Modellen entfernt, sodass der Aufruf durchgeführt wird.
Kostet eine abgelehnte Anfrage bei Kunavo etwas?
Nein. Eine vom Upstream abgelehnte Anfrage wird mit Kosten von null erfasst.
Verwandte Anleitungen
- „Dieses Modell unterstützt kein Prefill von Assistant-Nachrichten“ – welche Claude-Modelle Prefill eingestellt haben und was es ersetzt
- „Unsupported parameter: 'max_tokens' is not supported with this model“ — verwenden Sie max_completion_tokens
- n8n-KI-API-Kosten: eine Ausführung, viele Modellaufrufe, zwei Rechnungen
- Claude API — der vollständige Leitfaden für Aufrufe von Claude auf Kunavo
Weitere Informationen zur Fehlersemantik finden Sie unter Fehlerreferenz; einen Schlüssel erhalten Sie in einer Minute über Registrierung und die Authentifizierungsanleitung.