From 6ec4b3ef31b8af2abbfe6192df8ba615e84c0786 Mon Sep 17 00:00:00 2001 From: nhtruong <644650+nhtruong@users.noreply.github.com> Date: Thu, 9 Jan 2025 22:36:54 +0000 Subject: [PATCH] Updated opensearch-js to reflect the latest OpenSearch API spec (2025-01-09) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- api/OpenSearchApi.d.ts | 51 +++++++++++++++++++++-- api/_core/search.d.ts | 1 + api/_types/_common.d.ts | 2 + api/_types/ml._common.d.ts | 78 ++++++++++++++++++++++++++++++++++- api/index.d.ts | 24 ++++++++++- api/ml/_api.js | 30 ++++++++++++++ api/ml/chunkModel.d.ts | 37 +++++++++++++++++ api/ml/chunkModel.js | 53 ++++++++++++++++++++++++ api/ml/createModelMeta.d.ts | 46 +++++++++++++++++++++ api/ml/createModelMeta.js | 47 +++++++++++++++++++++ api/ml/getModel.d.ts | 30 ++++++++++++++ api/ml/getModel.js | 49 ++++++++++++++++++++++ api/ml/loadModel.d.ts | 33 +++++++++++++++ api/ml/loadModel.js | 49 ++++++++++++++++++++++ api/ml/predictModel.d.ts | 36 ++++++++++++++++ api/ml/predictModel.js | 50 ++++++++++++++++++++++ api/ml/registerModel.d.ts | 7 ++-- api/ml/registerModelMeta.d.ts | 46 +++++++++++++++++++++ api/ml/registerModelMeta.js | 47 +++++++++++++++++++++ api/ml/searchModels.js | 2 +- api/ml/undeployModel.d.ts | 9 +++- api/ml/undeployModel.js | 10 ++--- api/ml/unloadModel.d.ts | 37 +++++++++++++++++ api/ml/unloadModel.js | 49 ++++++++++++++++++++++ api/ml/updateModel.d.ts | 43 +++++++++++++++++++ api/ml/updateModel.js | 50 ++++++++++++++++++++++ api/ml/uploadChunk.d.ts | 37 +++++++++++++++++ api/ml/uploadChunk.js | 53 ++++++++++++++++++++++++ api/ml/uploadModel.d.ts | 41 ++++++++++++++++++ api/ml/uploadModel.js | 47 +++++++++++++++++++++ 30 files changed, 1078 insertions(+), 16 deletions(-) create mode 100644 api/ml/chunkModel.d.ts create mode 100644 api/ml/chunkModel.js create mode 100644 api/ml/createModelMeta.d.ts create mode 100644 api/ml/createModelMeta.js create mode 100644 api/ml/getModel.d.ts create mode 100644 api/ml/getModel.js create mode 100644 api/ml/loadModel.d.ts create mode 100644 api/ml/loadModel.js create mode 100644 api/ml/predictModel.d.ts create mode 100644 api/ml/predictModel.js create mode 100644 api/ml/registerModelMeta.d.ts create mode 100644 api/ml/registerModelMeta.js create mode 100644 api/ml/unloadModel.d.ts create mode 100644 api/ml/unloadModel.js create mode 100644 api/ml/updateModel.d.ts create mode 100644 api/ml/updateModel.js create mode 100644 api/ml/uploadChunk.d.ts create mode 100644 api/ml/uploadChunk.js create mode 100644 api/ml/uploadModel.d.ts create mode 100644 api/ml/uploadModel.js diff --git a/api/OpenSearchApi.d.ts b/api/OpenSearchApi.d.ts index a8dbf3303..13e5c6c6f 100644 --- a/api/OpenSearchApi.d.ts +++ b/api/OpenSearchApi.d.ts @@ -807,22 +807,67 @@ export default class OpenSearchAPI { registerModel (params: API.Ml_RegisterModel_Request, callback: callbackFn): TransportRequestCallback; registerModel (params: API.Ml_RegisterModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + registerModelMeta (params?: API.Ml_RegisterModelMeta_Request, options?: TransportRequestOptions): TransportRequestPromise; + registerModelMeta (callback: callbackFn): TransportRequestCallback; + registerModelMeta (params: API.Ml_RegisterModelMeta_Request, callback: callbackFn): TransportRequestCallback; + registerModelMeta (params: API.Ml_RegisterModelMeta_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + searchModels (params?: API.Ml_SearchModels_Request, options?: TransportRequestOptions): TransportRequestPromise; searchModels (callback: callbackFn): TransportRequestCallback; searchModels (params: API.Ml_SearchModels_Request, callback: callbackFn): TransportRequestCallback; searchModels (params: API.Ml_SearchModels_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + undeployModel (params?: API.Ml_UndeployModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + undeployModel (callback: callbackFn): TransportRequestCallback; + undeployModel (params: API.Ml_UndeployModel_Request, callback: callbackFn): TransportRequestCallback; + undeployModel (params: API.Ml_UndeployModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + unloadModel (params?: API.Ml_UnloadModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + unloadModel (callback: callbackFn): TransportRequestCallback; + unloadModel (params: API.Ml_UnloadModel_Request, callback: callbackFn): TransportRequestCallback; + unloadModel (params: API.Ml_UnloadModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + uploadModel (params?: API.Ml_UploadModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + uploadModel (callback: callbackFn): TransportRequestCallback; + uploadModel (params: API.Ml_UploadModel_Request, callback: callbackFn): TransportRequestCallback; + uploadModel (params: API.Ml_UploadModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + deleteModel (params: API.Ml_DeleteModel_Request, options?: TransportRequestOptions): TransportRequestPromise; deleteModel (params: API.Ml_DeleteModel_Request, callback: callbackFn): TransportRequestCallback; deleteModel (params: API.Ml_DeleteModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + getModel (params: API.Ml_GetModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + getModel (params: API.Ml_GetModel_Request, callback: callbackFn): TransportRequestCallback; + getModel (params: API.Ml_GetModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + updateModel (params: API.Ml_UpdateModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + updateModel (params: API.Ml_UpdateModel_Request, callback: callbackFn): TransportRequestCallback; + updateModel (params: API.Ml_UpdateModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + deployModel (params: API.Ml_DeployModel_Request, options?: TransportRequestOptions): TransportRequestPromise; deployModel (params: API.Ml_DeployModel_Request, callback: callbackFn): TransportRequestCallback; deployModel (params: API.Ml_DeployModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; - undeployModel (params: API.Ml_UndeployModel_Request, options?: TransportRequestOptions): TransportRequestPromise; - undeployModel (params: API.Ml_UndeployModel_Request, callback: callbackFn): TransportRequestCallback; - undeployModel (params: API.Ml_UndeployModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + loadModel (params: API.Ml_LoadModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + loadModel (params: API.Ml_LoadModel_Request, callback: callbackFn): TransportRequestCallback; + loadModel (params: API.Ml_LoadModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + predictModel (params: API.Ml_PredictModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + predictModel (params: API.Ml_PredictModel_Request, callback: callbackFn): TransportRequestCallback; + predictModel (params: API.Ml_PredictModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + chunkModel (params: API.Ml_ChunkModel_Request, options?: TransportRequestOptions): TransportRequestPromise; + chunkModel (params: API.Ml_ChunkModel_Request, callback: callbackFn): TransportRequestCallback; + chunkModel (params: API.Ml_ChunkModel_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + uploadChunk (params: API.Ml_UploadChunk_Request, options?: TransportRequestOptions): TransportRequestPromise; + uploadChunk (params: API.Ml_UploadChunk_Request, callback: callbackFn): TransportRequestCallback; + uploadChunk (params: API.Ml_UploadChunk_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; + + createModelMeta (params?: API.Ml_CreateModelMeta_Request, options?: TransportRequestOptions): TransportRequestPromise; + createModelMeta (callback: callbackFn): TransportRequestCallback; + createModelMeta (params: API.Ml_CreateModelMeta_Request, callback: callbackFn): TransportRequestCallback; + createModelMeta (params: API.Ml_CreateModelMeta_Request, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback; deleteTask (params: API.Ml_DeleteTask_Request, options?: TransportRequestOptions): TransportRequestPromise; deleteTask (params: API.Ml_DeleteTask_Request, callback: callbackFn): TransportRequestCallback; diff --git a/api/_core/search.d.ts b/api/_core/search.d.ts index a34a8b9e5..7ed23463e 100644 --- a/api/_core/search.d.ts +++ b/api/_core/search.d.ts @@ -75,6 +75,7 @@ export interface Search_Request extends Global.Params { export type Search_RequestBody = { _source?: Core_Search.SourceConfig; aggregations?: Record; + aggs?: Record; collapse?: Core_Search.FieldCollapse; docvalue_fields?: Common_QueryDsl.FieldAndFormat[]; explain?: boolean; diff --git a/api/_types/_common.d.ts b/api/_types/_common.d.ts index 76a67ebe7..ac93cb72f 100644 --- a/api/_types/_common.d.ts +++ b/api/_types/_common.d.ts @@ -377,6 +377,8 @@ export type Metadata = Record export type MinimumShouldMatch = number | string +export type ModelFormat = 'ONNX' | 'TORCH_SCRIPT' + export type MultiTermQueryRewrite = 'constant_score' | 'constant_score_boolean' | 'scoring_boolean' | string export type Name = string diff --git a/api/_types/ml._common.d.ts b/api/_types/ml._common.d.ts index 34043afef..e9393d8ff 100644 --- a/api/_types/ml._common.d.ts +++ b/api/_types/ml._common.d.ts @@ -15,6 +15,7 @@ */ import * as Common from './_common' +import * as Common_Analysis from './_common.analysis' export type Action = { action_type?: string; @@ -103,6 +104,24 @@ export type GetMessageTracesResponse = { traces?: Message[]; } +export type Guardrails = { + index_name?: Common.IndexName; + input_guardrail?: GuardrailsInputOutput; + model_id?: string; + output_guardrail?: GuardrailsInputOutput; + regex?: Record; + response_filter?: string; + response_validation_regex?: string; + source_fields?: Common.Fields; + stop_words?: Common_Analysis.StopWords; + type?: 'local_regex' | 'model'; +} + +export type GuardrailsInputOutput = { + model_id?: string; + response_validation_regex?: string; +} + export type Headers = { content_type?: string; [key: string]: any; @@ -165,6 +184,23 @@ export type Message = { trace_number?: number; } +export type Model = { + algorithm?: string; + created_time?: number; + is_hidden?: boolean; + last_registered_time?: number; + last_updated_time?: number; + model_config?: ModelConfig; + model_content_hash_value?: string; + model_content_size_in_bytes?: number; + model_format?: Common.ModelFormat; + model_group_id?: string; + model_state: 'DEPLOYED' | 'DEPLOYING' | 'DEPLOY_FAILED' | 'PARTIALLY_DEPLOYED' | 'REGISTERED' | 'REGISTERING' | 'UNDEPLOYED'; + model_version?: string; + name?: string; + total_chunks?: number; +} + export type ModelConfig = { all_config?: string; embedding_dimension?: number; @@ -223,6 +259,22 @@ export type PredictionResult = { rows?: Rows[]; } +export type PredictModelOutput = { + byte_buffer?: ByteBuffer; + data: number[]; + data_type?: 'BOOLEAN' | 'FLOAT16' | 'FLOAT32' | 'FLOAT64' | 'INT32' | 'INT64' | 'INT8' | 'STRING' | 'UINT8' | 'UNKNOWN'; + name?: string; + shape?: number[]; +} + +export type PredictModelResponse = { + inference_results?: PredictModelResult[]; +} + +export type PredictModelResult = { + output?: PredictModelOutput[]; +} + export type PredictResponse = { inference_results?: InferenceResults[]; prediction_result?: PredictionResult; @@ -242,6 +294,11 @@ export type Range = { k3?: Key; } +export type RateLimiter = { + limit: number; + unit: 'DAYS' | 'HOURS' | 'MICROSECONDS' | 'MILLISECONDS' | 'MINUTES' | 'NANOSECONDS' | 'SECONDS'; +} + export type Rows = { values?: Values[]; } @@ -360,7 +417,7 @@ export type Source = { model_config?: ModelConfig; model_content_hash_value?: string; model_content_size_in_bytes?: number; - model_format?: string; + model_format?: Common.ModelFormat; model_group_id?: string; model_id?: Common.Name; model_state?: 'DEPLOYED' | 'DEPLOYING' | 'DEPLOY_FAILED' | 'PARTIALLY_DEPLOYED' | 'REGISTERED' | 'REGISTERING' | 'UNDEPLOYED'; @@ -438,10 +495,29 @@ export type UndeployModelNodeStats = Record export type UndeployModelResponse = Record +export type UnloadModelNode = { + stats?: UnloadModelNodeStats; +} + +export type UnloadModelNodeStats = Record + +export type UnloadModelResponse = Record + export type UpdateModelGroupResponse = { status?: string; } +export type UpdateModelResponse = { + _id?: Common.Id; + _index: Common.IndexName; + _primary_term?: number; + _seq_no?: Common.SequenceNumber; + _shards?: Common.ShardStatistics; + _version?: Common.VersionNumber; + forced_refresh?: boolean; + result?: Common.Result; +} + export type Values = { column_type?: 'BOOLEAN' | 'DOUBLE' | 'INTEGER' | 'STRING'; value?: number; diff --git a/api/index.d.ts b/api/index.d.ts index c2f847534..90034d194 100644 --- a/api/index.d.ts +++ b/api/index.d.ts @@ -301,10 +301,20 @@ import { Ml_DeleteModelGroup_Request, Ml_DeleteModelGroup_Response, Ml_DeleteMod import { Ml_GetModelGroup_Request, Ml_GetModelGroup_Response, Ml_GetModelGroup_ResponseBody } from './ml/getModelGroup'; import { Ml_UpdateModelGroup_Request, Ml_UpdateModelGroup_RequestBody, Ml_UpdateModelGroup_Response, Ml_UpdateModelGroup_ResponseBody } from './ml/updateModelGroup'; import { Ml_RegisterModel_Request, Ml_RegisterModel_RequestBody, Ml_RegisterModel_Response, Ml_RegisterModel_ResponseBody } from './ml/registerModel'; +import { Ml_RegisterModelMeta_Request, Ml_RegisterModelMeta_RequestBody, Ml_RegisterModelMeta_Response, Ml_RegisterModelMeta_ResponseBody } from './ml/registerModelMeta'; import { Ml_SearchModels_Request, Ml_SearchModels_RequestBody, Ml_SearchModels_Response, Ml_SearchModels_ResponseBody } from './ml/searchModels'; +import { Ml_UndeployModel_Request, Ml_UndeployModel_RequestBody, Ml_UndeployModel_Response, Ml_UndeployModel_ResponseBody } from './ml/undeployModel'; +import { Ml_UnloadModel_Request, Ml_UnloadModel_RequestBody, Ml_UnloadModel_Response, Ml_UnloadModel_ResponseBody } from './ml/unloadModel'; +import { Ml_UploadModel_Request, Ml_UploadModel_RequestBody, Ml_UploadModel_Response, Ml_UploadModel_ResponseBody } from './ml/uploadModel'; import { Ml_DeleteModel_Request, Ml_DeleteModel_Response, Ml_DeleteModel_ResponseBody } from './ml/deleteModel'; +import { Ml_GetModel_Request, Ml_GetModel_Response, Ml_GetModel_ResponseBody } from './ml/getModel'; +import { Ml_UpdateModel_Request, Ml_UpdateModel_RequestBody, Ml_UpdateModel_Response, Ml_UpdateModel_ResponseBody } from './ml/updateModel'; import { Ml_DeployModel_Request, Ml_DeployModel_Response, Ml_DeployModel_ResponseBody } from './ml/deployModel'; -import { Ml_UndeployModel_Request, Ml_UndeployModel_Response, Ml_UndeployModel_ResponseBody } from './ml/undeployModel'; +import { Ml_LoadModel_Request, Ml_LoadModel_Response, Ml_LoadModel_ResponseBody } from './ml/loadModel'; +import { Ml_PredictModel_Request, Ml_PredictModel_RequestBody, Ml_PredictModel_Response, Ml_PredictModel_ResponseBody } from './ml/predictModel'; +import { Ml_ChunkModel_Request, Ml_ChunkModel_RequestBody, Ml_ChunkModel_Response, Ml_ChunkModel_ResponseBody } from './ml/chunkModel'; +import { Ml_UploadChunk_Request, Ml_UploadChunk_RequestBody, Ml_UploadChunk_Response, Ml_UploadChunk_ResponseBody } from './ml/uploadChunk'; +import { Ml_CreateModelMeta_Request, Ml_CreateModelMeta_RequestBody, Ml_CreateModelMeta_Response, Ml_CreateModelMeta_ResponseBody } from './ml/createModelMeta'; import { Ml_DeleteTask_Request, Ml_DeleteTask_Response, Ml_DeleteTask_ResponseBody } from './ml/deleteTask'; import { Ml_GetTask_Request, Ml_GetTask_Response, Ml_GetTask_ResponseBody } from './ml/getTask'; import { Notifications_ListChannels_Request, Notifications_ListChannels_Response, Notifications_ListChannels_ResponseBody } from './notifications/listChannels'; @@ -682,10 +692,20 @@ export { Ml_GetModelGroup_Request, Ml_GetModelGroup_Response, Ml_GetModelGroup_ResponseBody, Ml_UpdateModelGroup_Request, Ml_UpdateModelGroup_RequestBody, Ml_UpdateModelGroup_Response, Ml_UpdateModelGroup_ResponseBody, Ml_RegisterModel_Request, Ml_RegisterModel_RequestBody, Ml_RegisterModel_Response, Ml_RegisterModel_ResponseBody, + Ml_RegisterModelMeta_Request, Ml_RegisterModelMeta_RequestBody, Ml_RegisterModelMeta_Response, Ml_RegisterModelMeta_ResponseBody, Ml_SearchModels_Request, Ml_SearchModels_RequestBody, Ml_SearchModels_Response, Ml_SearchModels_ResponseBody, + Ml_UndeployModel_Request, Ml_UndeployModel_RequestBody, Ml_UndeployModel_Response, Ml_UndeployModel_ResponseBody, + Ml_UnloadModel_Request, Ml_UnloadModel_RequestBody, Ml_UnloadModel_Response, Ml_UnloadModel_ResponseBody, + Ml_UploadModel_Request, Ml_UploadModel_RequestBody, Ml_UploadModel_Response, Ml_UploadModel_ResponseBody, Ml_DeleteModel_Request, Ml_DeleteModel_Response, Ml_DeleteModel_ResponseBody, + Ml_GetModel_Request, Ml_GetModel_Response, Ml_GetModel_ResponseBody, + Ml_UpdateModel_Request, Ml_UpdateModel_RequestBody, Ml_UpdateModel_Response, Ml_UpdateModel_ResponseBody, Ml_DeployModel_Request, Ml_DeployModel_Response, Ml_DeployModel_ResponseBody, - Ml_UndeployModel_Request, Ml_UndeployModel_Response, Ml_UndeployModel_ResponseBody, + Ml_LoadModel_Request, Ml_LoadModel_Response, Ml_LoadModel_ResponseBody, + Ml_PredictModel_Request, Ml_PredictModel_RequestBody, Ml_PredictModel_Response, Ml_PredictModel_ResponseBody, + Ml_ChunkModel_Request, Ml_ChunkModel_RequestBody, Ml_ChunkModel_Response, Ml_ChunkModel_ResponseBody, + Ml_UploadChunk_Request, Ml_UploadChunk_RequestBody, Ml_UploadChunk_Response, Ml_UploadChunk_ResponseBody, + Ml_CreateModelMeta_Request, Ml_CreateModelMeta_RequestBody, Ml_CreateModelMeta_Response, Ml_CreateModelMeta_ResponseBody, Ml_DeleteTask_Request, Ml_DeleteTask_Response, Ml_DeleteTask_ResponseBody, Ml_GetTask_Request, Ml_GetTask_Response, Ml_GetTask_ResponseBody, Notifications_ListChannels_Request, Notifications_ListChannels_Response, Notifications_ListChannels_ResponseBody, diff --git a/api/ml/_api.js b/api/ml/_api.js index a89b456a0..e08f8e75c 100644 --- a/api/ml/_api.js +++ b/api/ml/_api.js @@ -19,9 +19,11 @@ /** @namespace API-Ml */ function MlApi(bindObj) { + this.chunkModel = require('./chunkModel').bind(bindObj); this.createConnector = require('./createConnector').bind(bindObj); this.createMemory = require('./createMemory').bind(bindObj); this.createMessage = require('./createMessage').bind(bindObj); + this.createModelMeta = require('./createModelMeta').bind(bindObj); this.deleteAgent = require('./deleteAgent').bind(bindObj); this.deleteConnector = require('./deleteConnector').bind(bindObj); this.deleteMemory = require('./deleteMemory').bind(bindObj); @@ -33,12 +35,16 @@ function MlApi(bindObj) { this.getMemory = require('./getMemory').bind(bindObj); this.getMessage = require('./getMessage').bind(bindObj); this.getMessageTraces = require('./getMessageTraces').bind(bindObj); + this.getModel = require('./getModel').bind(bindObj); this.getModelGroup = require('./getModelGroup').bind(bindObj); this.getTask = require('./getTask').bind(bindObj); + this.loadModel = require('./loadModel').bind(bindObj); this.predict = require('./predict').bind(bindObj); + this.predictModel = require('./predictModel').bind(bindObj); this.registerAgents = require('./registerAgents').bind(bindObj); this.registerModel = require('./registerModel').bind(bindObj); this.registerModelGroup = require('./registerModelGroup').bind(bindObj); + this.registerModelMeta = require('./registerModelMeta').bind(bindObj); this.searchConnectors = require('./searchConnectors').bind(bindObj); this.searchMemory = require('./searchMemory').bind(bindObj); this.searchMessage = require('./searchMessage').bind(bindObj); @@ -47,17 +53,25 @@ function MlApi(bindObj) { this.train = require('./train').bind(bindObj); this.trainPredict = require('./trainPredict').bind(bindObj); this.undeployModel = require('./undeployModel').bind(bindObj); + this.unloadModel = require('./unloadModel').bind(bindObj); this.updateConnector = require('./updateConnector').bind(bindObj); this.updateMemory = require('./updateMemory').bind(bindObj); this.updateMessage = require('./updateMessage').bind(bindObj); + this.updateModel = require('./updateModel').bind(bindObj); this.updateModelGroup = require('./updateModelGroup').bind(bindObj); + this.uploadChunk = require('./uploadChunk').bind(bindObj); + this.uploadModel = require('./uploadModel').bind(bindObj); + // Deprecated: Use chunkModel instead. + this.chunk_model = require('./chunkModel').bind(bindObj); // Deprecated: Use createConnector instead. this.create_connector = require('./createConnector').bind(bindObj); // Deprecated: Use createMemory instead. this.create_memory = require('./createMemory').bind(bindObj); // Deprecated: Use createMessage instead. this.create_message = require('./createMessage').bind(bindObj); + // Deprecated: Use createModelMeta instead. + this.create_model_meta = require('./createModelMeta').bind(bindObj); // Deprecated: Use deleteAgent instead. this.delete_agent = require('./deleteAgent').bind(bindObj); // Deprecated: Use deleteConnector instead. @@ -80,16 +94,24 @@ function MlApi(bindObj) { this.get_message = require('./getMessage').bind(bindObj); // Deprecated: Use getMessageTraces instead. this.get_message_traces = require('./getMessageTraces').bind(bindObj); + // Deprecated: Use getModel instead. + this.get_model = require('./getModel').bind(bindObj); // Deprecated: Use getModelGroup instead. this.get_model_group = require('./getModelGroup').bind(bindObj); // Deprecated: Use getTask instead. this.get_task = require('./getTask').bind(bindObj); + // Deprecated: Use loadModel instead. + this.load_model = require('./loadModel').bind(bindObj); + // Deprecated: Use predictModel instead. + this.predict_model = require('./predictModel').bind(bindObj); // Deprecated: Use registerAgents instead. this.register_agents = require('./registerAgents').bind(bindObj); // Deprecated: Use registerModel instead. this.register_model = require('./registerModel').bind(bindObj); // Deprecated: Use registerModelGroup instead. this.register_model_group = require('./registerModelGroup').bind(bindObj); + // Deprecated: Use registerModelMeta instead. + this.register_model_meta = require('./registerModelMeta').bind(bindObj); // Deprecated: Use searchConnectors instead. this.search_connectors = require('./searchConnectors').bind(bindObj); // Deprecated: Use searchMemory instead. @@ -104,14 +126,22 @@ function MlApi(bindObj) { this.train_predict = require('./trainPredict').bind(bindObj); // Deprecated: Use undeployModel instead. this.undeploy_model = require('./undeployModel').bind(bindObj); + // Deprecated: Use unloadModel instead. + this.unload_model = require('./unloadModel').bind(bindObj); // Deprecated: Use updateConnector instead. this.update_connector = require('./updateConnector').bind(bindObj); // Deprecated: Use updateMemory instead. this.update_memory = require('./updateMemory').bind(bindObj); // Deprecated: Use updateMessage instead. this.update_message = require('./updateMessage').bind(bindObj); + // Deprecated: Use updateModel instead. + this.update_model = require('./updateModel').bind(bindObj); // Deprecated: Use updateModelGroup instead. this.update_model_group = require('./updateModelGroup').bind(bindObj); + // Deprecated: Use uploadChunk instead. + this.upload_chunk = require('./uploadChunk').bind(bindObj); + // Deprecated: Use uploadModel instead. + this.upload_model = require('./uploadModel').bind(bindObj); } module.exports = MlApi; diff --git a/api/ml/chunkModel.d.ts b/api/ml/chunkModel.d.ts new file mode 100644 index 000000000..a6280d7f5 --- /dev/null +++ b/api/ml/chunkModel.d.ts @@ -0,0 +1,37 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' + +export interface Ml_ChunkModel_Request extends Global.Params { + body?: Ml_ChunkModel_RequestBody; + chunk_number: number; + model_id: string; +} + +export type Ml_ChunkModel_RequestBody = { + chunk: string; +} + +export interface Ml_ChunkModel_Response extends ApiResponse { + body: Ml_ChunkModel_ResponseBody; +} + +export type Ml_ChunkModel_ResponseBody = { + status: string; +} + diff --git a/api/ml/chunkModel.js b/api/ml/chunkModel.js new file mode 100644 index 000000000..cb265e630 --- /dev/null +++ b/api/ml/chunkModel.js @@ -0,0 +1,53 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Uploads model chunk. + *
See Also: {@link undefined - ml.chunk_model} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {number} params.chunk_number + * @param {string} params.model_id + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function chunkModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.chunk_number == null) return handleMissingParam('chunk_number', this, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, chunk_number, model_id, ...querystring } = params; + chunk_number = parsePathParam(chunk_number); + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id + '/chunk/' + chunk_number; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = chunkModelFunc; diff --git a/api/ml/createModelMeta.d.ts b/api/ml/createModelMeta.d.ts new file mode 100644 index 000000000..2316e8521 --- /dev/null +++ b/api/ml/createModelMeta.d.ts @@ -0,0 +1,46 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_CreateModelMeta_Request extends Global.Params { + body?: Ml_CreateModelMeta_RequestBody; +} + +export type Ml_CreateModelMeta_RequestBody = { + description?: string; + model_config: Ml_Common.ModelConfig; + model_content_hash_value: string; + model_format: Common.ModelFormat; + model_group_id?: Common.Id; + name: string; + total_chunks: number; + url?: string; + version: Common.VersionString; +} + +export interface Ml_CreateModelMeta_Response extends ApiResponse { + body: Ml_CreateModelMeta_ResponseBody; +} + +export type Ml_CreateModelMeta_ResponseBody = { + model_id: string; + status: string; +} + diff --git a/api/ml/createModelMeta.js b/api/ml/createModelMeta.js new file mode 100644 index 000000000..495ade95d --- /dev/null +++ b/api/ml/createModelMeta.js @@ -0,0 +1,47 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments } = require('../utils'); + +/** + * Registers model metadata. + *
See Also: {@link undefined - ml.create_model_meta} + * + * @memberOf API-Ml + * + * @param {object} [params] + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function createModelMetaFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + + let { body, ...querystring } = params; + + const path = '/_plugins/_ml/models/meta'; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = createModelMetaFunc; diff --git a/api/ml/getModel.d.ts b/api/ml/getModel.d.ts new file mode 100644 index 000000000..9b6484264 --- /dev/null +++ b/api/ml/getModel.d.ts @@ -0,0 +1,30 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_GetModel_Request extends Global.Params { + model_id: string; +} + +export interface Ml_GetModel_Response extends ApiResponse { + body: Ml_GetModel_ResponseBody; +} + +export type Ml_GetModel_ResponseBody = Ml_Common.Model + diff --git a/api/ml/getModel.js b/api/ml/getModel.js new file mode 100644 index 000000000..10738dd96 --- /dev/null +++ b/api/ml/getModel.js @@ -0,0 +1,49 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Retrieves a model. + *
See Also: {@link undefined - ml.get_model} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {string} params.model_id + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function getModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, model_id, ...querystring } = params; + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id; + const method = 'GET'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = getModelFunc; diff --git a/api/ml/loadModel.d.ts b/api/ml/loadModel.d.ts new file mode 100644 index 000000000..4174f94ae --- /dev/null +++ b/api/ml/loadModel.d.ts @@ -0,0 +1,33 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' + +export interface Ml_LoadModel_Request extends Global.Params { + model_id: string; +} + +export interface Ml_LoadModel_Response extends ApiResponse { + body: Ml_LoadModel_ResponseBody; +} + +export type Ml_LoadModel_ResponseBody = { + status: string; + task_id: string; + task_type: 'BATCH_INGEST' | 'BATCH_PREDICTION' | 'DEPLOY_MODEL' | 'EXECUTION' | 'PREDICTION' | 'REGISTER_MODEL' | 'TRAINING' | 'TRAINING_AND_PREDICTION'; +} + diff --git a/api/ml/loadModel.js b/api/ml/loadModel.js new file mode 100644 index 000000000..2117c5250 --- /dev/null +++ b/api/ml/loadModel.js @@ -0,0 +1,49 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Deploys a model. + *
See Also: {@link undefined - ml.load_model} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {string} params.model_id + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function loadModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, model_id, ...querystring } = params; + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id + '/_load'; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = loadModelFunc; diff --git a/api/ml/predictModel.d.ts b/api/ml/predictModel.d.ts new file mode 100644 index 000000000..0920b7a63 --- /dev/null +++ b/api/ml/predictModel.d.ts @@ -0,0 +1,36 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_PredictModel_Request extends Global.Params { + body?: Ml_PredictModel_RequestBody; + model_id: string; +} + +export type Ml_PredictModel_RequestBody = { + query_text?: string; + text_docs: string[]; +} + +export interface Ml_PredictModel_Response extends ApiResponse { + body: Ml_PredictModel_ResponseBody; +} + +export type Ml_PredictModel_ResponseBody = Ml_Common.PredictModelResponse + diff --git a/api/ml/predictModel.js b/api/ml/predictModel.js new file mode 100644 index 000000000..47166f1b9 --- /dev/null +++ b/api/ml/predictModel.js @@ -0,0 +1,50 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Predicts a model. + *
See Also: {@link undefined - ml.predict_model} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {string} params.model_id + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function predictModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, model_id, ...querystring } = params; + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id + '/_predict'; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = predictModelFunc; diff --git a/api/ml/registerModel.d.ts b/api/ml/registerModel.d.ts index 63e52507a..976a06183 100644 --- a/api/ml/registerModel.d.ts +++ b/api/ml/registerModel.d.ts @@ -15,6 +15,7 @@ */ import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' import * as Global from '../_types/_global' export interface Ml_RegisterModel_Request extends Global.Params { @@ -23,10 +24,10 @@ export interface Ml_RegisterModel_Request extends Global.Params { export type Ml_RegisterModel_RequestBody = { description?: string; - model_format: 'ONNX' | 'TORCH_SCRIPT'; - model_group_id?: string; + model_format?: Common.ModelFormat; + model_group_id?: Common.Id; name: string; - version: string; + version: Common.VersionString; } export interface Ml_RegisterModel_Response extends ApiResponse { diff --git a/api/ml/registerModelMeta.d.ts b/api/ml/registerModelMeta.d.ts new file mode 100644 index 000000000..6873bfc5d --- /dev/null +++ b/api/ml/registerModelMeta.d.ts @@ -0,0 +1,46 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_RegisterModelMeta_Request extends Global.Params { + body?: Ml_RegisterModelMeta_RequestBody; +} + +export type Ml_RegisterModelMeta_RequestBody = { + description?: string; + model_config: Ml_Common.ModelConfig; + model_content_hash_value: string; + model_format: Common.ModelFormat; + model_group_id?: Common.Id; + name: string; + total_chunks: number; + url?: string; + version: Common.VersionString; +} + +export interface Ml_RegisterModelMeta_Response extends ApiResponse { + body: Ml_RegisterModelMeta_ResponseBody; +} + +export type Ml_RegisterModelMeta_ResponseBody = { + model_id: string; + status: string; +} + diff --git a/api/ml/registerModelMeta.js b/api/ml/registerModelMeta.js new file mode 100644 index 000000000..b597bd4da --- /dev/null +++ b/api/ml/registerModelMeta.js @@ -0,0 +1,47 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments } = require('../utils'); + +/** + * Registers model metadata. + *
See Also: {@link undefined - ml.register_model_meta} + * + * @memberOf API-Ml + * + * @param {object} [params] + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function registerModelMetaFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + + let { body, ...querystring } = params; + + const path = '/_plugins/_ml/models/_register_meta'; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = registerModelMetaFunc; diff --git a/api/ml/searchModels.js b/api/ml/searchModels.js index c3db8deac..a449ddc83 100644 --- a/api/ml/searchModels.js +++ b/api/ml/searchModels.js @@ -38,7 +38,7 @@ function searchModelsFunc(params, options, callback) { let { body, ...querystring } = params; const path = '/_plugins/_ml/models/_search'; - const method = 'GET'; + const method = body ? 'POST' : 'GET'; body = body || ''; return this.transport.request({ method, path, querystring, body }, options, callback); diff --git a/api/ml/undeployModel.d.ts b/api/ml/undeployModel.d.ts index 596508cd8..8a7d40b5d 100644 --- a/api/ml/undeployModel.d.ts +++ b/api/ml/undeployModel.d.ts @@ -15,11 +15,18 @@ */ import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' import * as Global from '../_types/_global' import * as Ml_Common from '../_types/ml._common' export interface Ml_UndeployModel_Request extends Global.Params { - model_id: string; + body?: Ml_UndeployModel_RequestBody; + model_id?: string; +} + +export type Ml_UndeployModel_RequestBody = { + model_ids: Common.Id[]; + node_ids?: Common.Id[]; } export interface Ml_UndeployModel_Response extends ApiResponse { diff --git a/api/ml/undeployModel.js b/api/ml/undeployModel.js index eae870a3e..dffd129c3 100644 --- a/api/ml/undeployModel.js +++ b/api/ml/undeployModel.js @@ -16,7 +16,7 @@ 'use strict'; -const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); +const { normalizeArguments, parsePathParam } = require('../utils'); /** * Undeploys a model. @@ -24,8 +24,9 @@ const { normalizeArguments, parsePathParam, handleMissingParam } = require('../u * * @memberOf API-Ml * - * @param {object} params - * @param {string} params.model_id + * @param {object} [params] + * @param {string} [params.model_id] + * @param {object} [params.body] * * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} * @param {function} [callback] - Callback that handles errors and response @@ -34,12 +35,11 @@ const { normalizeArguments, parsePathParam, handleMissingParam } = require('../u */ function undeployModelFunc(params, options, callback) { [params, options, callback] = normalizeArguments(params, options, callback); - if (params.model_id == null) return handleMissingParam('model_id', this, callback); let { body, model_id, ...querystring } = params; model_id = parsePathParam(model_id); - const path = '/_plugins/_ml/models/' + model_id + '/_undeploy'; + const path = ['/_plugins/_ml/models', model_id, '_undeploy'].filter(c => c != null).join('/'); const method = 'POST'; body = body || ''; diff --git a/api/ml/unloadModel.d.ts b/api/ml/unloadModel.d.ts new file mode 100644 index 000000000..56a039bdb --- /dev/null +++ b/api/ml/unloadModel.d.ts @@ -0,0 +1,37 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_UnloadModel_Request extends Global.Params { + body?: Ml_UnloadModel_RequestBody; + model_id?: string; +} + +export type Ml_UnloadModel_RequestBody = { + model_ids: Common.Id[]; + node_ids?: Common.Id[]; +} + +export interface Ml_UnloadModel_Response extends ApiResponse { + body: Ml_UnloadModel_ResponseBody; +} + +export type Ml_UnloadModel_ResponseBody = Ml_Common.UnloadModelResponse + diff --git a/api/ml/unloadModel.js b/api/ml/unloadModel.js new file mode 100644 index 000000000..4c6bb0752 --- /dev/null +++ b/api/ml/unloadModel.js @@ -0,0 +1,49 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam } = require('../utils'); + +/** + * Unloads a model. + *
See Also: {@link undefined - ml.unload_model} + * + * @memberOf API-Ml + * + * @param {object} [params] + * @param {string} [params.model_id] + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function unloadModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + + let { body, model_id, ...querystring } = params; + model_id = parsePathParam(model_id); + + const path = ['/_plugins/_ml/models', model_id, '_unload'].filter(c => c != null).join('/'); + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = unloadModelFunc; diff --git a/api/ml/updateModel.d.ts b/api/ml/updateModel.d.ts new file mode 100644 index 000000000..3e62f1ffa --- /dev/null +++ b/api/ml/updateModel.d.ts @@ -0,0 +1,43 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' +import * as Ml_Common from '../_types/ml._common' + +export interface Ml_UpdateModel_Request extends Global.Params { + body?: Ml_UpdateModel_RequestBody; + model_id: string; +} + +export type Ml_UpdateModel_RequestBody = { + connector?: Record; + connector_id?: string; + description?: string; + guardrails?: Ml_Common.Guardrails; + interface?: Record; + is_enabled?: boolean; + model_config?: Ml_Common.ModelConfig; + name?: string; + rate_limiter?: Ml_Common.RateLimiter; +} + +export interface Ml_UpdateModel_Response extends ApiResponse { + body: Ml_UpdateModel_ResponseBody; +} + +export type Ml_UpdateModel_ResponseBody = Ml_Common.UpdateModelResponse + diff --git a/api/ml/updateModel.js b/api/ml/updateModel.js new file mode 100644 index 000000000..1f4172569 --- /dev/null +++ b/api/ml/updateModel.js @@ -0,0 +1,50 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Updates a model. + *
See Also: {@link undefined - ml.update_model} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {string} params.model_id + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function updateModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, model_id, ...querystring } = params; + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id; + const method = 'PUT'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = updateModelFunc; diff --git a/api/ml/uploadChunk.d.ts b/api/ml/uploadChunk.d.ts new file mode 100644 index 000000000..ad9fa8653 --- /dev/null +++ b/api/ml/uploadChunk.d.ts @@ -0,0 +1,37 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Global from '../_types/_global' + +export interface Ml_UploadChunk_Request extends Global.Params { + body?: Ml_UploadChunk_RequestBody; + chunk_number: number; + model_id: string; +} + +export type Ml_UploadChunk_RequestBody = { + chunk: string; +} + +export interface Ml_UploadChunk_Response extends ApiResponse { + body: Ml_UploadChunk_ResponseBody; +} + +export type Ml_UploadChunk_ResponseBody = { + status: string; +} + diff --git a/api/ml/uploadChunk.js b/api/ml/uploadChunk.js new file mode 100644 index 000000000..54a93a43a --- /dev/null +++ b/api/ml/uploadChunk.js @@ -0,0 +1,53 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments, parsePathParam, handleMissingParam } = require('../utils'); + +/** + * Uploads model chunk. + *
See Also: {@link undefined - ml.upload_chunk} + * + * @memberOf API-Ml + * + * @param {object} params + * @param {number} params.chunk_number + * @param {string} params.model_id + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function uploadChunkFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + if (params.chunk_number == null) return handleMissingParam('chunk_number', this, callback); + if (params.model_id == null) return handleMissingParam('model_id', this, callback); + + let { body, chunk_number, model_id, ...querystring } = params; + chunk_number = parsePathParam(chunk_number); + model_id = parsePathParam(model_id); + + const path = '/_plugins/_ml/models/' + model_id + '/upload_chunk/' + chunk_number; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = uploadChunkFunc; diff --git a/api/ml/uploadModel.d.ts b/api/ml/uploadModel.d.ts new file mode 100644 index 000000000..f7a1e74e6 --- /dev/null +++ b/api/ml/uploadModel.d.ts @@ -0,0 +1,41 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +import { ApiResponse } from '../../lib/Transport' +import * as Common from '../_types/_common' +import * as Global from '../_types/_global' + +export interface Ml_UploadModel_Request extends Global.Params { + body?: Ml_UploadModel_RequestBody; +} + +export type Ml_UploadModel_RequestBody = { + description?: string; + model_format?: Common.ModelFormat; + model_group_id?: Common.Id; + name: string; + version: Common.VersionString; +} + +export interface Ml_UploadModel_Response extends ApiResponse { + body: Ml_UploadModel_ResponseBody; +} + +export type Ml_UploadModel_ResponseBody = { + status: string; + task_id: string; +} + diff --git a/api/ml/uploadModel.js b/api/ml/uploadModel.js new file mode 100644 index 000000000..b554b5536 --- /dev/null +++ b/api/ml/uploadModel.js @@ -0,0 +1,47 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + * + */ + +/* + * This file was generated from the OpenSearch API Spec. Do NOT edit it + * manually. If you want to make changes, either update the spec or + * modify the API generator. + */ + +'use strict'; + +const { normalizeArguments } = require('../utils'); + +/** + * Registers a model. + *
See Also: {@link undefined - ml.upload_model} + * + * @memberOf API-Ml + * + * @param {object} [params] + * @param {object} [params.body] + * + * @param {TransportRequestOptions} [options] - Options for {@link Transport#request} + * @param {function} [callback] - Callback that handles errors and response + * + * @returns {{abort: function(), then: function(), catch: function()}|Promise|*} + */ +function uploadModelFunc(params, options, callback) { + [params, options, callback] = normalizeArguments(params, options, callback); + + let { body, ...querystring } = params; + + const path = '/_plugins/_ml/models/_upload'; + const method = 'POST'; + body = body || ''; + + return this.transport.request({ method, path, querystring, body }, options, callback); +} + +module.exports = uploadModelFunc;