mirror of
https://github.com/voideditor/void
synced 2026-05-23 01:18:25 +00:00
Merge 829306c409 into 17e7a5b152
This commit is contained in:
commit
e39d4e1af0
1 changed files with 116 additions and 4 deletions
|
|
@ -99,6 +99,12 @@ export const defaultModelsOfProvider = {
|
|||
'grok-3-mini-fast'
|
||||
],
|
||||
gemini: [ // https://ai.google.dev/gemini-api/docs/models/gemini
|
||||
'gemini-3.1-pro-preview',
|
||||
'gemini-3-pro-preview',
|
||||
'gemini-3-flash-preview',
|
||||
'gemini-2.5-flash',
|
||||
'gemini-2.5-flash-lite',
|
||||
'gemini-2.5-pro',
|
||||
'gemini-2.5-pro-exp-03-25',
|
||||
'gemini-2.5-flash-preview-04-17',
|
||||
'gemini-2.0-flash',
|
||||
|
|
@ -414,7 +420,17 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac
|
|||
};
|
||||
}
|
||||
|
||||
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5'))) return toFallback(geminiModelOptions, 'gemini-2.5-pro-exp-03-25')
|
||||
if (lower.includes('gemini') && (lower.includes('2.0') || lower.includes('2-0')) && lower.includes('flash') && lower.includes('lite')) return toFallback(geminiModelOptions, 'gemini-2.0-flash-lite')
|
||||
if (lower.includes('gemini') && (lower.includes('2.0') || lower.includes('2-0')) && lower.includes('flash')) return toFallback(geminiModelOptions, 'gemini-2.0-flash')
|
||||
if (lower.includes('gemini') && (lower.includes('2.0') || lower.includes('2-0'))) return toFallback(geminiModelOptions, 'gemini-2.0-flash')
|
||||
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5')) && lower.includes('pro')) return toFallback(geminiModelOptions, 'gemini-2.5-pro')
|
||||
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5')) && lower.includes('flash') && lower.includes('lite')) return toFallback(geminiModelOptions, 'gemini-2.5-flash-lite')
|
||||
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5')) && lower.includes('flash')) return toFallback(geminiModelOptions, 'gemini-2.5-flash')
|
||||
if (lower.includes('gemini') && (lower.includes('3.1') || lower.includes('3-1'))) return toFallback(geminiModelOptions, 'gemini-3.1-pro-preview')
|
||||
if (lower.includes('gemini') && lower.includes('3') && lower.includes('pro')) return toFallback(geminiModelOptions, 'gemini-3-pro-preview')
|
||||
if (lower.includes('gemini') && lower.includes('3') && lower.includes('flash')) return toFallback(geminiModelOptions, 'gemini-3-flash-preview')
|
||||
if (lower.includes('gemini') && lower.includes('3')) return toFallback(geminiModelOptions, 'gemini-3-flash-preview')
|
||||
if (lower.includes('gemini')) return toFallback(geminiModelOptions, 'gemini-2.5-flash')
|
||||
|
||||
if (lower.includes('claude-3-5') || lower.includes('claude-3.5')) return toFallback(anthropicModelOptions, 'claude-3-5-sonnet-20241022')
|
||||
if (lower.includes('claude')) return toFallback(anthropicModelOptions, 'claude-3-7-sonnet-20250219')
|
||||
|
|
@ -807,9 +823,105 @@ const xAISettings: VoidStaticProviderInfo = {
|
|||
// ---------------- GEMINI ----------------
|
||||
const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
|
||||
// https://ai.google.dev/gemini-api/docs/thinking#set-budget
|
||||
'gemini-3.1-pro-preview': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 2.00, cache_write: 0.20, output: 12.00 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: false,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'effort_slider', values: ['low', 'medium', 'high'], default: 'low' },
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-3-pro-preview': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 2.00, cache_write: 0.20, output: 12.00 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: false,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'effort_slider', values: ['low', 'high'], default: 'low' },
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-3-flash-preview': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 0.50, cache_write: 0.05, output: 3.00 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: false,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'effort_slider', values: ['minimal', 'low', 'medium', 'high'], default: 'low' },
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-2.5-flash': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 0.30, cache_write: 0.03, output: 2.50 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: true,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'budget_slider', min: 0, max: 8192, default: 1024 }, // actual max: 24576
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-2.5-flash-lite': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 0.10, cache_write: 0.01, output: 0.40 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: true,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'budget_slider', min: 512, max: 8192, default: 1024 }, // actual max: 24576
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-2.5-pro': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 1.25, cache_write: 0.125, output: 10.00 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
specialToolFormat: 'gemini-style',
|
||||
reasoningCapabilities: {
|
||||
supportsReasoning: true,
|
||||
canTurnOffReasoning: false,
|
||||
canIOReasoning: false,
|
||||
reasoningSlider: { type: 'budget_slider', min: 128, max: 8192, default: 1024 }, // actual max: 32768
|
||||
reasoningReservedOutputTokenSpace: 8192, // actual max: 65536
|
||||
},
|
||||
},
|
||||
'gemini-2.5-pro-preview-05-06': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192,
|
||||
reservedOutputTokenSpace: 8_192, // actual max: 65536
|
||||
cost: { input: 0, output: 0 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
|
|
@ -826,7 +938,7 @@ const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
|
|||
'gemini-2.0-flash-lite': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192,
|
||||
cost: { input: 0, output: 0 },
|
||||
cost: { input: 0.075, output: 0.30 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
|
|
@ -868,7 +980,7 @@ const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
|
|||
'gemini-2.0-flash': {
|
||||
contextWindow: 1_048_576,
|
||||
reservedOutputTokenSpace: 8_192, // 8_192,
|
||||
cost: { input: 0.10, output: 0.40 },
|
||||
cost: { input: 0.10, cache_write: 0.025, output: 0.40 },
|
||||
downloadable: false,
|
||||
supportsFIM: false,
|
||||
supportsSystemMessage: 'separated',
|
||||
|
|
|
|||
Loading…
Reference in a new issue