Hola a todos,
Estoy usando el nodo OpenAI Chat Model con un endpoint personalizado compatible con OpenAI (LiteLLM) que sirve un modelo que admite razonamiento.
Por ejemplo, mi modelo (glm-5.2) admite el parámetro reasoning_effort compatible con OpenAI, pero noté que la opción Reasoning Effort no aparece en el nodo. Solo aparece al seleccionar un modelo cuyo nombre coincide con ciertos modelos de OpenAI (por ejemplo, gpt-5.*), lo que parece ser una verificación del frontend.
Después de revisar el código fuente, descubrí que el campo solo se muestra cuando el nombre del modelo coincide con esta expresión regular:
regex: '(^o1([-\\d]+)?$)|(^o[3-9].*)|(^gpt-5.*)'
Por lo tanto, por ejemplo:
glm-5.2→ Reasoning Effort está oculto
gpt-5.6→ Reasoning Effort aparece
La lógica de solicitud en sí es genérica: simplemente envía:
{
"reasoning_effort": "high"
}
Esto significa que la limitación parece estar solo en la interfaz de usuario.
También noté que los valores disponibles se limitan a low, medium y high. Sería bueno que el campo fuera editable (o al menos incluya valores adicionales como none, que varios proveedores admiten).
Para proveedores compatibles con OpenAI como LiteLLM, vLLM, LM Studio, OpenRouter, etc., los nombres de modelos personalizados aún pueden admitir reasoning_effort, por lo que esta expresión regular impide que los usuarios accedan a una función que su backend ya admite.
¿Tendría sentido:
- mostrar siempre la opción al usar una URL base personalizada,
- determinar la compatibilidad a partir de las capacidades del modelo en lugar de hacer coincidir el nombre del modelo, o
- simplemente hacer que la opción esté disponible para todos los modelos compatibles con OpenAI y permitir que el backend valide si es compatible?
Principalmente me pregunto si esta es una decisión de diseño intencional o simplemente un atajo de implementación.



