From 8c760980b692a5ae3135a151d9c8781774a52a2e Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Tue, 13 May 2025 21:00:20 -0700 Subject: [PATCH] fix grok 3 --- .../contrib/void/common/modelCapabilities.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/void/common/modelCapabilities.ts b/src/vs/workbench/contrib/void/common/modelCapabilities.ts index a5afb521..005f5dc6 100644 --- a/src/vs/workbench/contrib/void/common/modelCapabilities.ts +++ b/src/vs/workbench/contrib/void/common/modelCapabilities.ts @@ -84,8 +84,8 @@ export const defaultModelsOfProvider = { 'claude-3-opus-latest', ], xAI: [ // https://docs.x.ai/docs/models?cluster=us-east-1 - 'grok-2-latest', - 'grok-3-latest', + 'grok-2', + 'grok-3', ], gemini: [ // https://ai.google.dev/gemini-api/docs/models/gemini 'gemini-2.5-pro-exp-03-25', @@ -386,7 +386,8 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac 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') - if (lower.includes('grok')) return toFallback(xAIModelOptions, 'grok-2') + if (lower.includes('grok2') || lower.includes('grok2')) return toFallback(xAIModelOptions, 'grok-2') + if (lower.includes('grok')) return toFallback(xAIModelOptions, 'grok-3') if (lower.includes('deepseek-r1') || lower.includes('deepseek-reasoner')) return toFallback(openSourceModelOptions_assumingOAICompat, 'deepseekR1') if (lower.includes('deepseek') && lower.includes('v2')) return toFallback(openSourceModelOptions_assumingOAICompat, 'deepseekCoderV2') @@ -667,6 +668,7 @@ const xAIModelOptions = { downloadable: false, supportsFIM: false, supportsSystemMessage: 'system-role', + specialToolFormat: 'openai-style', reasoningCapabilities: false, }, 'grok-3': { @@ -676,6 +678,7 @@ const xAIModelOptions = { downloadable: false, supportsFIM: false, supportsSystemMessage: 'system-role', + specialToolFormat: 'openai-style', reasoningCapabilities: false, }, 'grok-3-fast': { @@ -685,6 +688,7 @@ const xAIModelOptions = { downloadable: false, supportsFIM: false, supportsSystemMessage: 'system-role', + specialToolFormat: 'openai-style', reasoningCapabilities: false, }, // only mini supports thinking @@ -695,6 +699,7 @@ const xAIModelOptions = { downloadable: false, supportsFIM: false, supportsSystemMessage: 'system-role', + specialToolFormat: 'openai-style', reasoningCapabilities: { supportsReasoning: true, canTurnOffReasoning: false, canIOReasoning: false, reasoningSlider: { type: 'effort_slider', values: ['low', 'high'], default: 'low' } }, }, 'grok-3-mini-fast': { @@ -704,6 +709,7 @@ const xAIModelOptions = { downloadable: false, supportsFIM: false, supportsSystemMessage: 'system-role', + specialToolFormat: 'openai-style', reasoningCapabilities: { supportsReasoning: true, canTurnOffReasoning: false, canIOReasoning: false, reasoningSlider: { type: 'effort_slider', values: ['low', 'high'], default: 'low' } }, }, } as const satisfies { [s: string]: VoidStaticModelInfo } @@ -714,6 +720,7 @@ const xAISettings: VoidStaticProviderInfo = { const lower = modelName.toLowerCase() let fallbackName: keyof typeof xAIModelOptions | null = null if (lower.includes('grok-2')) fallbackName = 'grok-2' + if (lower.includes('grok-3')) fallbackName = 'grok-3' if (fallbackName) return { modelName: fallbackName, recognizedModelName: fallbackName, ...xAIModelOptions[fallbackName] } return null },