add LanguageModelChat as explict object and add a select-function as the only way of getting to them

This commit is contained in:
Johannes
2024-05-08 11:44:47 +02:00
parent 3ec5b4a291
commit 0d55bb645f
8 changed files with 267 additions and 311 deletions

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import { CancellationTokenSource } from 'vs/base/common/cancellation';
import * as errors from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event';
import { combinedDisposable } from 'vs/base/common/lifecycle';
@@ -1428,29 +1428,14 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
// namespace: lm
const lm: typeof vscode.lm = {
get languageModels() {
selectLanguageModels: (selector) => {
checkProposedApiEnabled(extension, 'languageModels');
return extHostLanguageModels.getLanguageModelIds();
return extHostLanguageModels.selectLanguageModels(extension, selector);
},
onDidChangeLanguageModels: (listener, thisArgs?, disposables?) => {
onDidChangeChatModels: (listener, thisArgs?, disposables?) => {
checkProposedApiEnabled(extension, 'languageModels');
return extHostLanguageModels.onDidChangeProviders(listener, thisArgs, disposables);
},
sendChatRequest(languageModel: string, messages: (vscode.LanguageModelChatMessage | vscode.LanguageModelChatMessage2)[], options?: vscode.LanguageModelChatRequestOptions, token?: vscode.CancellationToken) {
checkProposedApiEnabled(extension, 'languageModels');
token ??= CancellationToken.None;
options ??= {};
return extHostLanguageModels.sendChatRequest(extension, languageModel, messages, options, token);
},
computeTokenLength(languageModel: string, text: string | vscode.LanguageModelChatMessage, token?: vscode.CancellationToken) {
checkProposedApiEnabled(extension, 'languageModels');
token ??= CancellationToken.None;
return extHostLanguageModels.computeTokenLength(languageModel, text, token);
},
getLanguageModelInformation(languageModel: string) {
checkProposedApiEnabled(extension, 'languageModels');
return extHostLanguageModels.getLanguageModelInfo(languageModel);
},
// --- embeddings
get embeddingModels() {
checkProposedApiEnabled(extension, 'embeddings');