Skip to content
This repository was archived by the owner on May 20, 2026. It is now read-only.

Commit 65e5eb3

Browse files
authored
Add internal reasoning effort settings for evals (#4875)
Add TeamInternal settings for configuring reasoning effort: - chat.advanced.responsesApiReasoningEffort: for Responses API - chat.advanced.anthropicThinkingEffort: for Anthropic thinking These are hidden settings (not in package.json) used by evals to configure reasoning/thinking effort without affecting end users. Setting takes priority over per-request model picker value.
1 parent a69c28d commit 65e5eb3

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/platform/configuration/common/configurationService.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -844,6 +844,10 @@ export namespace ConfigKey {
844844
/** Enable WebSocket transport for Responses API requests. When enabled, uses a persistent WebSocket connection per conversation instead of individual HTTP requests. */
845845
export const ResponsesApiWebSocketEnabled = defineTeamInternalSetting<boolean>('chat.advanced.responsesApi.webSocket.enabled', ConfigType.ExperimentBased, false);
846846
export const DebugSimulateWebSocketResponse = defineTeamInternalSetting<string>('chat.advanced.debug.simulateWebSocketResponse', ConfigType.Simple, '');
847+
/** Internal: configure reasoning effort for Responses API. Used by evals. */
848+
export const ResponsesApiReasoningEffort = defineTeamInternalSetting<'low' | 'medium' | 'high' | 'xhigh' | undefined>('chat.advanced.responsesApiReasoningEffort', ConfigType.Simple, undefined);
849+
/** Internal: configure reasoning effort for Anthropic thinking. Used by evals. */
850+
export const AnthropicThinkingEffort = defineTeamInternalSetting<'low' | 'medium' | 'high' | undefined>('chat.advanced.anthropicThinkingEffort', ConfigType.Simple, undefined);
847851
}
848852

849853
/**

src/platform/endpoint/node/messagesApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export function createMessagesRequestBody(accessor: ServicesAccessor, options: I
173173
// Build output config with effort level for thinking, validating reasoningEffort
174174
let effort: 'low' | 'medium' | 'high' | undefined;
175175
if (thinkingConfig) {
176-
const candidateEffort = reasoningEffort;
176+
const candidateEffort = configurationService.getConfig(ConfigKey.TeamInternal.AnthropicThinkingEffort) ?? reasoningEffort;
177177
if (candidateEffort === 'low' || candidateEffort === 'medium' || candidateEffort === 'high') {
178178
effort = candidateEffort;
179179
}

src/platform/endpoint/node/responsesApi.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ export function createResponsesRequestBody(accessor: ServicesAccessor, options:
7474
'disabled';
7575
const summaryConfig = configService.getExperimentBasedConfig(ConfigKey.ResponsesApiReasoningSummary, expService);
7676
const shouldDisableReasoningSummary = endpoint.family === 'gpt-5.3-codex-spark-preview';
77-
const effort = options.reasoningEffort || 'medium';
77+
const effortFromSetting = configService.getConfig(ConfigKey.TeamInternal.ResponsesApiReasoningEffort);
78+
const effort = effortFromSetting || options.reasoningEffort || 'medium';
7879
const summary = summaryConfig === 'off' || shouldDisableReasoningSummary ? undefined : summaryConfig;
7980
if (effort || summary) {
8081
body.reasoning = {

0 commit comments

Comments
 (0)