mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-19 08:08:39 +01:00
Joh/ministerial-swan (#212096)
* first cut of embeddings API https://github.com/microsoft/vscode/issues/212083 * add event * fix tests
This commit is contained in:
@@ -44,6 +44,7 @@ import { ExtHostDocumentSaveParticipant } from 'vs/workbench/api/common/extHostD
|
||||
import { ExtHostDocuments } from 'vs/workbench/api/common/extHostDocuments';
|
||||
import { IExtHostDocumentsAndEditors } from 'vs/workbench/api/common/extHostDocumentsAndEditors';
|
||||
import { IExtHostEditorTabs } from 'vs/workbench/api/common/extHostEditorTabs';
|
||||
import { ExtHostEmbeddings } from 'vs/workbench/api/common/extHostEmbedding';
|
||||
import { ExtHostAiEmbeddingVector } from 'vs/workbench/api/common/extHostEmbeddingVector';
|
||||
import { Extension, IExtHostExtensionService } from 'vs/workbench/api/common/extHostExtensionService';
|
||||
import { ExtHostFileSystem } from 'vs/workbench/api/common/extHostFileSystem';
|
||||
@@ -214,6 +215,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostAiEmbeddingVector = rpcProtocol.set(ExtHostContext.ExtHostAiEmbeddingVector, new ExtHostAiEmbeddingVector(rpcProtocol));
|
||||
const extHostStatusBar = rpcProtocol.set(ExtHostContext.ExtHostStatusBar, new ExtHostStatusBar(rpcProtocol, extHostCommands.converter));
|
||||
const extHostSpeech = rpcProtocol.set(ExtHostContext.ExtHostSpeech, new ExtHostSpeech(rpcProtocol));
|
||||
const extHostEmbeddings = rpcProtocol.set(ExtHostContext.ExtHostEmbeddings, new ExtHostEmbeddings(rpcProtocol));
|
||||
|
||||
// Check that no named customers are missing
|
||||
const expected = Object.values<ProxyIdentifier<any>>(ExtHostContext);
|
||||
@@ -1450,6 +1452,27 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
getLanguageModelInformation(languageModel: string) {
|
||||
checkProposedApiEnabled(extension, 'languageModels');
|
||||
return extHostLanguageModels.getLanguageModelInfo(languageModel);
|
||||
},
|
||||
// --- embeddings
|
||||
get embeddingModels() {
|
||||
checkProposedApiEnabled(extension, 'embeddings');
|
||||
return extHostEmbeddings.embeddingsModels;
|
||||
},
|
||||
onDidChangeEmbeddingModels: (listener, thisArgs?, disposables?) => {
|
||||
checkProposedApiEnabled(extension, 'embeddings');
|
||||
return extHostEmbeddings.onDidChange(listener, thisArgs, disposables);
|
||||
},
|
||||
registerEmbeddingsProvider(embeddingsModel, provider) {
|
||||
checkProposedApiEnabled(extension, 'embeddings');
|
||||
return extHostEmbeddings.registerEmbeddingsProvider(extension, embeddingsModel, provider);
|
||||
},
|
||||
async computeEmbeddings(embeddingsModel, input, token?): Promise<any> {
|
||||
checkProposedApiEnabled(extension, 'embeddings');
|
||||
if (typeof input === 'string') {
|
||||
return extHostEmbeddings.computeEmbeddings(embeddingsModel, input, token);
|
||||
} else {
|
||||
return extHostEmbeddings.computeEmbeddings(embeddingsModel, input, token);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user