feat(core): Incorporate Gemini 3 into model config hierarchy. (#13447)

This commit is contained in:
joshualitt
2025-11-20 13:07:14 -08:00
committed by GitHub
parent 83d0bdc32e
commit 8e531dc029
4 changed files with 100 additions and 23 deletions
@@ -4,6 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
import { ThinkingLevel } from '@google/genai';
import type { ModelConfigServiceConfig } from '../services/modelConfigService.js';
import { DEFAULT_THINKING_MODE } from './models.js';
@@ -26,9 +27,6 @@ export const DEFAULT_MODEL_CONFIGS: ModelConfigServiceConfig = {
generateContentConfig: {
thinkingConfig: {
includeThoughts: true,
// TODO(joshualitt): Introduce new bases for Gemini 3 models to use
// thinkingLevel instead.
thinkingBudget: DEFAULT_THINKING_MODE,
},
temperature: 1,
topP: 0.95,
@@ -36,31 +34,51 @@ export const DEFAULT_MODEL_CONFIGS: ModelConfigServiceConfig = {
},
},
},
'chat-base-2.5': {
extends: 'chat-base',
modelConfig: {
generateContentConfig: {
thinkingConfig: {
thinkingBudget: DEFAULT_THINKING_MODE,
},
},
},
},
'chat-base-3': {
extends: 'chat-base',
modelConfig: {
generateContentConfig: {
thinkingConfig: {
thinkingLevel: ThinkingLevel.HIGH,
},
},
},
},
// Because `gemini-2.5-pro` and related model configs are "user-facing"
// today, i.e. they could be passed via `--model`, we have to be careful to
// ensure these model configs can be used interactively.
// TODO(joshualitt): Introduce internal base configs for the various models,
// note: we will have to think carefully about names.
'gemini-3-pro-preview': {
extends: 'chat-base',
extends: 'chat-base-3',
modelConfig: {
model: 'gemini-3-pro-preview',
},
},
'gemini-2.5-pro': {
extends: 'chat-base',
extends: 'chat-base-2.5',
modelConfig: {
model: 'gemini-2.5-pro',
},
},
'gemini-2.5-flash': {
extends: 'chat-base',
extends: 'chat-base-2.5',
modelConfig: {
model: 'gemini-2.5-flash',
},
},
'gemini-2.5-flash-lite': {
extends: 'chat-base',
extends: 'chat-base-2.5',
modelConfig: {
model: 'gemini-2.5-flash-lite',
},
@@ -6,6 +6,16 @@
}
},
"chat-base": {
"generateContentConfig": {
"temperature": 1,
"topP": 0.95,
"thinkingConfig": {
"includeThoughts": true
},
"topK": 64
}
},
"chat-base-2.5": {
"generateContentConfig": {
"temperature": 1,
"topP": 0.95,
@@ -16,6 +26,17 @@
"topK": 64
}
},
"chat-base-3": {
"generateContentConfig": {
"temperature": 1,
"topP": 0.95,
"thinkingConfig": {
"includeThoughts": true,
"thinkingLevel": "HIGH"
},
"topK": 64
}
},
"gemini-3-pro-preview": {
"model": "gemini-3-pro-preview",
"generateContentConfig": {
@@ -23,7 +44,7 @@
"topP": 0.95,
"thinkingConfig": {
"includeThoughts": true,
"thinkingBudget": 8192
"thinkingLevel": "HIGH"
},
"topK": 64
}