Hallo zusammen,
Ich nutze den OpenAI Chat Model-Node mit einem benutzerdefinierten OpenAI-kompatiblen Endpoint (LiteLLM), der ein Modell mit Reasoning-Fähigkeiten bereitstellt.
Mein Modell (glm-5.2) unterstützt beispielsweise den OpenAI-kompatiblen Parameter reasoning_effort, aber ich habe bemerkt, dass die Option Reasoning Effort im Node nicht angezeigt wird. Sie erscheint nur bei der Auswahl eines Modells, dessen Name bestimmten OpenAI-Modellen entspricht (z. B. gpt-5.*), was eine Frontend-Überprüfung zu sein scheint.
Nach Durchsicht des Quellcodes habe ich festgestellt, dass das Feld nur angezeigt wird, wenn der Modellname diesem Regex entspricht:
regex: '(^o1([-\\d]+)?$)|(^o[3-9].*)|(^gpt-5.*)'
Zum Beispiel:
glm-5.2→ Reasoning Effort ist verborgen
gpt-5.6→ Reasoning Effort wird angezeigt
Die Request-Logik selbst ist generisch – sie sendet einfach:
{
"reasoning_effort": "high"
}
Das bedeutet, die Einschränkung existiert nur in der Benutzeroberfläche.
Ich habe auch bemerkt, dass die verfügbaren Werte auf low, medium und high begrenzt sind. Es wäre schön, wenn das Feld bearbeitbar wäre (oder zumindest zusätzliche Werte wie none enthielte, die mehrere Anbieter unterstützen).
Bei OpenAI-kompatiblen Anbietern wie LiteLLM, vLLM, LM Studio, OpenRouter usw. können benutzerdefinierte Modellnamen dennoch reasoning_effort unterstützen, daher hindert dieser Regex Nutzer daran, auf eine Funktion zuzugreifen, die ihr Backend bereits unterstützt.
Würde es Sinn machen, entweder:
- die Option immer anzuzeigen, wenn eine benutzerdefinierte Basis-URL verwendet wird,
- die Unterstützung anhand von Modellmöglichkeiten statt Modellnamen-Matching zu bestimmen, oder
- die Option einfach für alle OpenAI-kompatiblen Modelle verfügbar zu machen und dem Backend die Validierung zu überlassen, ob sie unterstützt wird?
Ich frage mich hauptsächlich, ob dies eine bewusste Designentscheidung oder einfach ein Implementierungs-Shortcut ist.


