Olá a todos,
Estou usando o nó OpenAI Chat Model com um endpoint personalizado compatível com OpenAI (LiteLLM) que fornece um modelo que suporta raciocínio.
Por exemplo, meu modelo (glm-5.2) suporta o parâmetro reasoning_effort compatível com OpenAI, mas notei que a opção Reasoning Effort não aparece no nó. Ela só aparece ao selecionar um modelo cujo nome corresponde a certos modelos OpenAI (por exemplo, gpt-5.*), o que parece ser uma verificação do frontend.
Depois de examinar o código-fonte, descobri que o campo só é mostrado quando o nome do modelo corresponde a esta expressão regular:
regex: '(^o1([-\\d]+)?$)|(^o[3-9].*)|(^gpt-5.*)'
Portanto, por exemplo:
glm-5.2→ Reasoning Effort está oculto
gpt-5.6→ Reasoning Effort aparece
A lógica da requisição em si é genérica — ela simplesmente envia:
{
"reasoning_effort": "high"
}
Isso significa que a limitação parece estar apenas na UI.
Também notei que os valores disponíveis estão limitados a low, medium e high. Seria bom se o campo fosse editável (ou pelo menos incluísse valores adicionais como none, que vários provedores suportam).
Para provedores compatíveis com OpenAI como LiteLLM, vLLM, LM Studio, OpenRouter, etc., nomes de modelos personalizados ainda podem suportar reasoning_effort, então essa expressão regular impede que os usuários acessem um recurso que seu backend já suporta.
Faria sentido:
- sempre mostrar a opção ao usar uma URL Base personalizada,
- determinar o suporte a partir das capacidades do modelo em vez de corresponder ao nome do modelo, ou
- simplesmente disponibilizar a opção para todos os modelos compatíveis com OpenAI e deixar o backend validar se é suportado?
Estou principalmente curioso se essa é uma decisão de design intencional ou simplesmente um atalho de implementação.



