From 63de200f58be9c8fa99eb26bf3ca512e7f6e4c6a Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Thu, 19 Feb 2026 18:15:12 +0100 Subject: [PATCH] fix ollam provider (#3858) --- .../src/extension/byok/vscode-node/ollamaProvider.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/extensions/copilot/src/extension/byok/vscode-node/ollamaProvider.ts b/extensions/copilot/src/extension/byok/vscode-node/ollamaProvider.ts index b120d638ea5..b633711b646 100644 --- a/extensions/copilot/src/extension/byok/vscode-node/ollamaProvider.ts +++ b/extensions/copilot/src/extension/byok/vscode-node/ollamaProvider.ts @@ -9,6 +9,7 @@ import { IFetcherService } from '../../../platform/networking/common/fetcherServ import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService'; import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation'; import { byokKnownModelsToAPIInfo, resolveModelInfo } from '../common/byokProvider'; +import { OpenAIEndpoint } from '../node/openAIEndpoint'; import { AbstractOpenAICompatibleLMProvider, LanguageModelChatConfiguration, OpenAICompatibleLanguageModelChatInformation } from './abstractLanguageModelChatProvider'; import { IBYOKStorageService } from './byokStorageService'; @@ -125,6 +126,12 @@ export class OllamaLMProvider extends AbstractOpenAICompatibleLMProvider): Promise { + const modelInfo = this.getModelInfo(model.id, model.url); + const url = `${model.url}/v1/chat/completions`; + return this._instantiationService.createInstance(OpenAIEndpoint, modelInfo, model.configuration?.apiKey ?? '', url); + } + private async _getOllamaModelInfo(ollamaBaseUrl: string, modelId: string): Promise { const modelInfo = await this._fetchOllamaModelInformation(ollamaBaseUrl, modelId); const contextWindow = modelInfo?.model_info?.[`${modelInfo.model_info['general.architecture']}.context_length`] ?? 32768;