-
[OPIK-6429] [FE] feat: per-model OpenAI reasoning_effort capability map (#6644)
发布于
2026-05-12 08:44:30 +00:00 -
feat(types): add 'none' to ReasoningEffort union for gpt-5.1+
-
feat(llm): add OPENAI_MODEL_CAPABILITIES per-model map
-
feat(modelUtils): add supportsOpenAIReasoningEffort + getOpenAIReasoningEffortOptions
-
fix(modelUtils): make isReasoningModel consult OPENAI_MODEL_CAPABILITIES for OpenAI
Stops BE YAML drift from silently disabling the reasoning UI. Other
providers still use the BE flag as primary source.-
test(modelUtils): add OpenAI reasoning_effort reconciler tests (red)
-
feat(modelUtils): reconcile OpenAI reasoningEffort across model switches
Mirrors the Anthropic thinkingEffort branch: drops reasoningEffort for
models without an effort dropdown, coerces stale values to 'high'.-
test(modelUtils): add sanitizeConfigForRequest tests for OpenAI reasoningEffort (red)
-
feat(modelUtils): strip unsupported reasoningEffort from outbound OpenAI requests
Last-mile defense for stale localStorage that pre-dates the reconciler.
- feat(playground): gate reasoningEffort default on per-model capability
Fixes o1-mini default-config builder writing a field the API rejects, and
aligns the playground default with the rest of the system ('high').-
fix(playground/v1): drive OpenAI reasoning-effort dropdown from per-model options
-
fix(playground/v2): drive OpenAI reasoning-effort dropdown from per-model options
-
feat(llm): add gpt-5.3/5.4/5.5 chat-completable models to OPENAI_MODEL_CAPABILITIES
A 'sync provider model definitions' commit landed these enum values
after the original spec was written. Without map entries they fall
through isReasoningModel as non-reasoning, hiding the dropdown and
leaving the temperature slider unrestricted — the same failure mode
this PR set out to fix. Responses-API-only variants (5.3-codex, 5.4-pro,
5.5-pro) stay out of the map per the spec's scope.- fix(playground/experiments): sanitize prompt.configs before posting to the backend
The experiment execution path bypassed sanitizeConfigForRequest, so stale
or unsupported reasoningEffort values could reach the backend and 4xx
upstream. Mirrors what the streaming-completion path already does.- feat(playground): default OpenAI provider to gpt-5.5
Both the playground and the online-scoring rule dialog read the OpenAI
provider's defaultModel from PROVIDERS[OPEN_AI].defaultModel as the
fallback when there's no last-picked model in localStorage. Bumping
from 5.2 to 5.5 surfaces the latest model by default.- feat(llm): add xhigh to gpt-5.5's reasoningEffortOptions
Per the gpt-5.5 model docs: 'Use reasoning.effort to choose between low,
medium, high, or xhigh. The default is medium.' gpt-5.5 is the only
chat-completable OpenAI reasoning model that accepts xhigh today
(gpt-5.1-codex-max also accepts it but is Responses-API-only and not
surfaced in the playground).下载附件
-