From 2f674f5323818dc72f4e649579c047c1ad31a8a3 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Wed, 5 Feb 2025 01:10:40 -0800 Subject: [PATCH] update openai models --- .../void/common/voidSettingsService.ts | 24 +++++++++--------- .../platform/void/common/voidSettingsTypes.ts | 25 ++++++++++--------- .../contrib/void/browser/chatThreadService.ts | 2 +- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/vs/platform/void/common/voidSettingsService.ts b/src/vs/platform/void/common/voidSettingsService.ts index 811f4337..af7d831a 100644 --- a/src/vs/platform/void/common/voidSettingsService.ts +++ b/src/vs/platform/void/common/voidSettingsService.ts @@ -11,7 +11,7 @@ import { registerSingleton, InstantiationType } from '../../instantiation/common import { createDecorator } from '../../instantiation/common/instantiation.js'; import { IStorageService, StorageScope, StorageTarget } from '../../storage/common/storage.js'; import { IMetricsService } from './metricsService.js'; -import { defaultSettingsOfProvider, FeatureName, ProviderName, ModelSelectionOfFeature, SettingsOfProvider, SettingName, providerNames, ModelSelection, modelSelectionsEqual, featureNames, modelInfoOfDefaultNames, VoidModelInfo, GlobalSettings, GlobalSettingName, defaultGlobalSettings } from './voidSettingsTypes.js'; +import { defaultSettingsOfProvider, FeatureName, ProviderName, ModelSelectionOfFeature, SettingsOfProvider, SettingName, providerNames, ModelSelection, modelSelectionsEqual, featureNames, modelInfoOfDefaultModelNames, VoidModelInfo, GlobalSettings, GlobalSettingName, defaultGlobalSettings } from './voidSettingsTypes.js'; const STORAGE_KEY = 'void.settingsServiceStorage' @@ -256,23 +256,23 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService { const { models } = this.state.settingsOfProvider[providerName] - const old_names = models.map(m => m.modelName) + const oldModelNames = models.map(m => m.modelName) - const newDefaultModels = modelInfoOfDefaultNames(newDefaultModelNames, { isAutodetected: true, existingModels: models }) - const newModels = [ - ...newDefaultModels, - ...models.filter(m => !m.isDefault), // keep any non-default models + const newDefaultModelInfo = modelInfoOfDefaultModelNames(newDefaultModelNames, { isAutodetected: true, existingModels: models }) + const newModelInfo = [ + ...newDefaultModelInfo, // swap out all the default models for the new default models + ...models.filter(m => !m.isDefault), // keep any non-defaul (custom) models ] - this.setSettingOfProvider(providerName, 'models', newModels) + this.setSettingOfProvider(providerName, 'models', newModelInfo) // if the models changed, log it - const new_names = newModels.map(m => m.modelName) - if (!(old_names.length === new_names.length - && old_names.every((_, i) => old_names[i] === new_names[i]) - )) { - this._metricsService.capture('Autodetect Models', { providerName, newModels, ...logging }) + const new_names = newModelInfo.map(m => m.modelName) + if (!(oldModelNames.length === new_names.length + && oldModelNames.every((_, i) => oldModelNames[i] === new_names[i])) + ) { + this._metricsService.capture('Autodetect Models', { providerName, newModels: newModelInfo, ...logging }) } } toggleModelHidden(providerName: ProviderName, modelName: string) { diff --git a/src/vs/platform/void/common/voidSettingsTypes.ts b/src/vs/platform/void/common/voidSettingsTypes.ts index db53e3c9..26758593 100644 --- a/src/vs/platform/void/common/voidSettingsTypes.ts +++ b/src/vs/platform/void/common/voidSettingsTypes.ts @@ -10,22 +10,22 @@ export type VoidModelInfo = { modelName: string, isDefault: boolean, // whether or not it's a default for its provider - isHidden: boolean, // whether or not the user is hiding it + isHidden: boolean, // whether or not the user is hiding it (switched off) isAutodetected?: boolean, // whether the model was autodetected by polling } // creates `modelInfo` from `modelNames` -export const modelInfoOfDefaultNames = (modelNames: string[], options?: { isAutodetected: true, existingModels: VoidModelInfo[] }): VoidModelInfo[] => { +export const modelInfoOfDefaultModelNames = (defaultModelNames: string[], options?: { isAutodetected: true, existingModels: VoidModelInfo[] }): VoidModelInfo[] => { const { isAutodetected, existingModels } = options ?? {} if (!existingModels) { // default settings - return modelNames.map((modelName, i) => ({ + return defaultModelNames.map((modelName, i) => ({ modelName, isDefault: true, isAutodetected: isAutodetected, - isHidden: modelNames.length >= 10 // hide all models if there are a ton of them, and make user enable them individually + isHidden: defaultModelNames.length >= 10 // hide all models if there are a ton of them, and make user enable them individually })) } else { // settings if there are existing models (keep existing `isHidden` property) @@ -35,7 +35,7 @@ export const modelInfoOfDefaultNames = (modelNames: string[], options?: { isAuto existingModelsMap[existingModel.modelName] = existingModel } - return modelNames.map((modelName, i) => ({ + return defaultModelNames.map((modelName, i) => ({ modelName, isDefault: true, isAutodetected: isAutodetected, @@ -47,7 +47,7 @@ export const modelInfoOfDefaultNames = (modelNames: string[], options?: { isAuto } // https://docs.anthropic.com/en/docs/about-claude/models -export const defaultAnthropicModels = modelInfoOfDefaultNames([ +export const defaultAnthropicModels = modelInfoOfDefaultModelNames([ 'claude-3-5-sonnet-20241022', 'claude-3-5-haiku-20241022', 'claude-3-opus-20240229', @@ -57,9 +57,10 @@ export const defaultAnthropicModels = modelInfoOfDefaultNames([ // https://platform.openai.com/docs/models/gp -export const defaultOpenAIModels = modelInfoOfDefaultNames([ - 'o1-preview', +export const defaultOpenAIModels = modelInfoOfDefaultModelNames([ + 'o1', 'o1-mini', + 'o3-mini', 'gpt-4o', 'gpt-4o-mini', // 'gpt-4o-2024-05-13', @@ -78,14 +79,14 @@ export const defaultOpenAIModels = modelInfoOfDefaultNames([ ]) // https://platform.openai.com/docs/models/gp -export const defaultDeepseekModels = modelInfoOfDefaultNames([ +export const defaultDeepseekModels = modelInfoOfDefaultModelNames([ 'deepseek-chat', 'deepseek-reasoner', ]) // https://console.groq.com/docs/models -export const defaultGroqModels = modelInfoOfDefaultNames([ +export const defaultGroqModels = modelInfoOfDefaultModelNames([ "distil-whisper-large-v3-en", "llama-3.3-70b-versatile", "llama-3.1-8b-instant", @@ -93,7 +94,7 @@ export const defaultGroqModels = modelInfoOfDefaultNames([ ]) -export const defaultGeminiModels = modelInfoOfDefaultNames([ +export const defaultGeminiModels = modelInfoOfDefaultModelNames([ 'gemini-1.5-flash', 'gemini-1.5-pro', 'gemini-1.5-flash-8b', @@ -102,7 +103,7 @@ export const defaultGeminiModels = modelInfoOfDefaultNames([ 'learnlm-1.5-pro-experimental' ]) -export const defaultMistralModels = modelInfoOfDefaultNames([ +export const defaultMistralModels = modelInfoOfDefaultModelNames([ "codestral-latest", "open-codestral-mamba", "open-mistral-nemo", diff --git a/src/vs/workbench/contrib/void/browser/chatThreadService.ts b/src/vs/workbench/contrib/void/browser/chatThreadService.ts index 588c91ca..34b4dad4 100644 --- a/src/vs/workbench/contrib/void/browser/chatThreadService.ts +++ b/src/vs/workbench/contrib/void/browser/chatThreadService.ts @@ -202,7 +202,7 @@ class ChatThreadService extends Disposable implements IChatThreadService { this._setStreamState(threadId, { error: undefined }) const llmCancelToken = this._llmMessageService.sendLLMMessage({ - type: 'sendLLMMessage', + type: 'sendChatMessage', logging: { loggingName: 'Chat' }, useProviderFor: 'Ctrl+L', messages: [