[ML] Update ELSER version for Elastic Assistant (#167522)

## Summary

Update Elastic Assistant to utilize a new version of ELSER.

### Checklist

- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
This commit is contained in:
Dima Arnautov 2023-10-03 23:27:27 +02:00 committed by GitHub
parent 8b6ba3d15f
commit e8c0942672
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 114 additions and 68 deletions

View file

@ -4,6 +4,7 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { createTrainedModelsProviderMock } from './shared_services/providers/__mocks__/trained_models';
import { createJobServiceProviderMock } from './shared_services/providers/__mocks__/jobs_service';
import { createAnomalyDetectorsProviderMock } from './shared_services/providers/__mocks__/anomaly_detectors';
import { createMockMlSystemProvider } from './shared_services/providers/__mocks__/system';
@ -20,6 +21,7 @@ const createSetupContract = () =>
modulesProvider: createModulesProviderMock(),
resultsServiceProvider: createResultsServiceProviderMock(),
alertingServiceProvider: createAlertingServiceProviderMock(),
trainedModelsProvider: createTrainedModelsProviderMock(),
} as unknown as jest.Mocked<MlPluginSetup>);
const createStartContract = () => jest.fn();

View file

@ -5,8 +5,19 @@
* 2.0.
*/
import { TrainedModels } from '../../../shared';
const trainedModelsServiceMock = {
getTrainedModels: jest.fn().mockResolvedValue([]),
getTrainedModelsStats: jest.fn().mockResolvedValue([]),
startTrainedModelDeployment: jest.fn(),
stopTrainedModelDeployment: jest.fn(),
inferTrainedModel: jest.fn(),
deleteTrainedModel: jest.fn(),
updateTrainedModelDeployment: jest.fn(),
putTrainedModel: jest.fn(),
getELSER: jest.fn().mockResolvedValue({ name: '' }),
} as jest.Mocked<TrainedModels>;
export const createTrainedModelsProviderMock = () =>
jest.fn(() => ({
getTrainedModels: jest.fn(),
getTrainedModelStats: jest.fn(),
}));
jest.fn().mockReturnValue(trainedModelsServiceMock);

View file

@ -8,7 +8,7 @@
import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
import type { CloudSetup } from '@kbn/cloud-plugin/server';
import type { KibanaRequest, SavedObjectsClientContract } from '@kbn/core/server';
import type { GetElserOptions } from '@kbn/ml-trained-models-utils';
import type { GetElserOptions, ModelDefinitionResponse } from '@kbn/ml-trained-models-utils';
import type {
MlInferTrainedModelRequest,
MlStopTrainedModelDeploymentRequest,
@ -47,6 +47,7 @@ export interface TrainedModelsProvider {
putTrainedModel(
params: estypes.MlPutTrainedModelRequest
): Promise<estypes.MlPutTrainedModelResponse>;
getELSER(params?: GetElserOptions): Promise<ModelDefinitionResponse>;
};
}
@ -122,7 +123,7 @@ export function getTrainedModelsProvider(
return mlClient.putTrainedModel(params);
});
},
async getELSER(params: GetElserOptions) {
async getELSER(params?: GetElserOptions) {
return await guards
.isFullLicense()
.hasMlCapabilities(['canGetTrainedModels'])