OpenAI Verbosity: AIX & llms

This commit is contained in:
Enrico Ros
2025-09-09 19:56:30 -07:00
parent 3b9e42948e
commit ada9e07c2f
7 changed files with 22 additions and 2 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ export const Release = {
// this is here to trigger revalidation of data, e.g. models refresh
Monotonics: {
Aix: 26,
Aix: 27,
NewsVersion: 192,
},
@@ -131,6 +131,14 @@ export const DModelParameterRegistry = {
initialValue: true,
} as const,
llmVndOaiVerbosity: {
label: 'Verbosity',
type: 'enum' as const,
description: 'Controls response length and detail level',
values: ['low', 'medium', 'high'] as const,
requiredFallback: 'medium',
} as const,
llmVndOaiWebSearchContext: {
label: 'Search Context Size',
type: 'enum' as const,
+2 -1
View File
@@ -49,7 +49,7 @@ export function aixCreateModelFromLLMOptions(
llmRef, llmTemperature, llmResponseTokens, llmTopP, llmForceNoStream,
llmVndAntThinkingBudget,
llmVndGeminiShowThoughts, llmVndGeminiThinkingBudget,
llmVndOaiReasoningEffort, llmVndOaiReasoningEffort4, llmVndOaiRestoreMarkdown, llmVndOaiWebSearchContext, llmVndOaiWebSearchGeolocation,
llmVndOaiReasoningEffort, llmVndOaiReasoningEffort4, llmVndOaiRestoreMarkdown, llmVndOaiVerbosity, llmVndOaiWebSearchContext, llmVndOaiWebSearchGeolocation,
llmVndPerplexityDateFilter, llmVndPerplexitySearchMode,
llmVndXaiSearchMode, llmVndXaiSearchSources, llmVndXaiSearchDateFilter,
} = {
@@ -105,6 +105,7 @@ export function aixCreateModelFromLLMOptions(
...(llmVndOaiResponsesAPI ? { vndOaiResponsesAPI: true } : {}),
...((llmVndOaiReasoningEffort4 || llmVndOaiReasoningEffort) ? { vndOaiReasoningEffort: llmVndOaiReasoningEffort4 || llmVndOaiReasoningEffort } : {}),
...(llmVndOaiRestoreMarkdown ? { vndOaiRestoreMarkdown: llmVndOaiRestoreMarkdown } : {}),
...(llmVndOaiVerbosity ? { vndOaiVerbosity: llmVndOaiVerbosity } : {}),
...(llmVndOaiWebSearchContext ? { vndOaiWebSearchContext: llmVndOaiWebSearchContext } : {}),
...(llmVndPerplexityDateFilter ? { vndPerplexityDateFilter: llmVndPerplexityDateFilter } : {}),
...(llmVndPerplexitySearchMode ? { vndPerplexitySearchMode: llmVndPerplexitySearchMode } : {}),
@@ -410,6 +410,7 @@ export namespace AixWire_API {
vndOaiResponsesAPI: z.boolean().optional(),
vndOaiReasoningEffort: z.enum(['minimal', 'low', 'medium', 'high']).optional(),
vndOaiRestoreMarkdown: z.boolean().optional(),
vndOaiVerbosity: z.enum(['low', 'medium', 'high']).optional(),
vndOaiWebSearchContext: z.enum(['low', 'medium', 'high']).optional(),
vndPerplexityDateFilter: z.enum(['unfiltered', '1m', '3m', '6m', '1y']).optional(),
vndPerplexitySearchMode: z.enum(['default', 'academic']).optional(),
@@ -93,6 +93,14 @@ export function aixToOpenAIResponses(model: AixAPI_Model, chatGenerate: AixAPICh
// };
}
// GPT-5 Verbosity: Add to existing text config or create new one
if (model.vndOaiVerbosity) {
payload.text = {
...payload.text,
verbosity: model.vndOaiVerbosity,
};
}
// Tool: Search: for search models, and deep research models
// NOTE: OpenAI doesn't support web search with minimal reasoning effort
const skipWebSearchDueToMinimalReasoning = model.vndOaiReasoningEffort === 'minimal';
@@ -1202,6 +1202,7 @@ export namespace OpenAIWire_API_Responses {
}),
// z.object({ type: z.literal('json_object') }), // deprecated
]).optional(),
verbosity: z.enum(['low', 'medium', 'high']).optional(), // GPT-5 verbosity control
}).optional(),
// State management (we won't use this for stateless)
@@ -81,6 +81,7 @@ const ModelParameterSpec_schema = z.object({
'llmVndOaiReasoningEffort',
'llmVndOaiReasoningEffort4',
'llmVndOaiRestoreMarkdown',
'llmVndOaiVerbosity',
'llmVndOaiWebSearchContext',
'llmVndOaiWebSearchGeolocation',
'llmVndPerplexityDateFilter',