1300
1301
registerLanguageModelProvider(vendor: string, provider: ILanguageModelChatProvider): IDisposable {
1302
>
this._logService.trace('[LM] registering language model provider', vendor, provider);
languageModels.ts
1303
>
1304
>
if (!this._vendors.has(vendor)) {
1305
throw new Error(`Chat model provider uses UNKNOWN vendor ${vendor}.`);
1306
}
1308
throw new Error(`Chat model provider for vendor ${vendor} is already registered.`);
1309
}
1311
>
this._providers.set(vendor, provider);
1312
>
1313
>
const modelChangeListener = provider.onDidChange(() => {
1314
this._resolveAllLanguageModels(vendor, true);
1316
>
1317
>
return toDisposable(() => {
1318
>
this._logService.trace('[LM] UNregistered language model provider', vendor);
1319
>
this._clearModelCache(vendor);
1320
>
this._modelsGroups.delete(vendor);
1321
>
this._providers.delete(vendor);
1322
>
modelChangeListener.dispose();
1323
>
});
1324
>
}
1325
1326
async sendChatRequest(modelId: string, from: ExtensionIdentifier | undefined, messages: IChatMessage[], options: ILanguageModelChatRequestOptions, token: CancellationToken): Promise<ILanguageModelChatResponse> {