oracle-ads 2.12.11__py3-none-any.whl → 2.13.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ads/aqua/__init__.py +7 -1
- ads/aqua/app.py +41 -27
- ads/aqua/client/client.py +48 -11
- ads/aqua/common/entities.py +28 -1
- ads/aqua/common/enums.py +32 -21
- ads/aqua/common/errors.py +3 -4
- ads/aqua/common/utils.py +10 -15
- ads/aqua/config/container_config.py +203 -0
- ads/aqua/config/evaluation/evaluation_service_config.py +5 -181
- ads/aqua/constants.py +1 -1
- ads/aqua/evaluation/constants.py +7 -7
- ads/aqua/evaluation/errors.py +3 -4
- ads/aqua/evaluation/evaluation.py +4 -4
- ads/aqua/extension/base_handler.py +4 -0
- ads/aqua/extension/model_handler.py +41 -27
- ads/aqua/extension/models/ws_models.py +5 -6
- ads/aqua/finetuning/constants.py +3 -3
- ads/aqua/finetuning/finetuning.py +2 -3
- ads/aqua/model/constants.py +7 -7
- ads/aqua/model/entities.py +2 -3
- ads/aqua/model/enums.py +4 -5
- ads/aqua/model/model.py +46 -29
- ads/aqua/modeldeployment/deployment.py +6 -14
- ads/aqua/modeldeployment/entities.py +5 -3
- ads/aqua/server/__init__.py +4 -0
- ads/aqua/server/__main__.py +24 -0
- ads/aqua/server/app.py +47 -0
- ads/aqua/server/aqua_spec.yml +1291 -0
- ads/aqua/ui.py +5 -199
- ads/common/auth.py +50 -28
- ads/common/extended_enum.py +52 -44
- ads/common/utils.py +91 -11
- ads/config.py +3 -0
- ads/llm/__init__.py +12 -8
- ads/llm/langchain/plugins/embeddings/__init__.py +4 -0
- ads/llm/langchain/plugins/embeddings/oci_data_science_model_deployment_endpoint.py +184 -0
- ads/llm/langchain/plugins/llms/oci_data_science_model_deployment_endpoint.py +32 -23
- ads/model/artifact_downloader.py +6 -4
- ads/model/common/utils.py +15 -3
- ads/model/datascience_model.py +422 -71
- ads/model/generic_model.py +3 -3
- ads/model/model_metadata.py +70 -24
- ads/model/model_version_set.py +5 -3
- ads/model/service/oci_datascience_model.py +487 -17
- ads/opctl/anomaly_detection.py +11 -0
- ads/opctl/backend/marketplace/helm_helper.py +13 -14
- ads/opctl/cli.py +4 -5
- ads/opctl/cmds.py +28 -32
- ads/opctl/config/merger.py +8 -11
- ads/opctl/config/resolver.py +25 -30
- ads/opctl/forecast.py +11 -0
- ads/opctl/operator/cli.py +9 -9
- ads/opctl/operator/common/backend_factory.py +56 -60
- ads/opctl/operator/common/const.py +5 -5
- ads/opctl/operator/common/utils.py +16 -0
- ads/opctl/operator/lowcode/anomaly/const.py +8 -9
- ads/opctl/operator/lowcode/common/data.py +5 -2
- ads/opctl/operator/lowcode/common/transformations.py +2 -12
- ads/opctl/operator/lowcode/feature_store_marketplace/operator_utils.py +43 -48
- ads/opctl/operator/lowcode/forecast/__main__.py +5 -5
- ads/opctl/operator/lowcode/forecast/const.py +6 -6
- ads/opctl/operator/lowcode/forecast/model/arima.py +6 -3
- ads/opctl/operator/lowcode/forecast/model/automlx.py +61 -31
- ads/opctl/operator/lowcode/forecast/model/base_model.py +66 -40
- ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py +79 -13
- ads/opctl/operator/lowcode/forecast/model/neuralprophet.py +5 -2
- ads/opctl/operator/lowcode/forecast/model/prophet.py +28 -15
- ads/opctl/operator/lowcode/forecast/model_evaluator.py +13 -15
- ads/opctl/operator/lowcode/forecast/schema.yaml +1 -1
- ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py +7 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/score.py +19 -11
- ads/opctl/operator/lowcode/pii/constant.py +6 -7
- ads/opctl/operator/lowcode/recommender/constant.py +12 -7
- ads/opctl/operator/runtime/marketplace_runtime.py +4 -10
- ads/opctl/operator/runtime/runtime.py +4 -6
- ads/pipeline/ads_pipeline_run.py +13 -25
- ads/pipeline/visualizer/graph_renderer.py +3 -4
- {oracle_ads-2.12.11.dist-info → oracle_ads-2.13.1.dist-info}/METADATA +18 -15
- {oracle_ads-2.12.11.dist-info → oracle_ads-2.13.1.dist-info}/RECORD +82 -74
- {oracle_ads-2.12.11.dist-info → oracle_ads-2.13.1.dist-info}/WHEEL +1 -1
- ads/aqua/config/evaluation/evaluation_service_model_config.py +0 -8
- {oracle_ads-2.12.11.dist-info → oracle_ads-2.13.1.dist-info}/entry_points.txt +0 -0
- {oracle_ads-2.12.11.dist-info → oracle_ads-2.13.1.dist-info/licenses}/LICENSE.txt +0 -0
@@ -0,0 +1,1291 @@
|
|
1
|
+
openapi: '3.0.3'
|
2
|
+
info:
|
3
|
+
title: AI Quick Actions
|
4
|
+
version: '1.0'
|
5
|
+
servers:
|
6
|
+
- url: "http://localhost:8080/aqua"
|
7
|
+
- url: http://{host}:{port}/aqua
|
8
|
+
paths:
|
9
|
+
/model:
|
10
|
+
get:
|
11
|
+
summary: "List Models"
|
12
|
+
description: "Returns array of AquaModel object. To fetch finetuned model set the compartment_id in the query param"
|
13
|
+
operationId: "listModels"
|
14
|
+
parameters:
|
15
|
+
- name: compartment_id
|
16
|
+
in: query
|
17
|
+
description: "compartment id where model exists. Set this for registered model or fine tuned model"
|
18
|
+
required: false
|
19
|
+
schema:
|
20
|
+
type: string
|
21
|
+
- name: model_type
|
22
|
+
in: query
|
23
|
+
description: "Type of the model"
|
24
|
+
required: false
|
25
|
+
schema:
|
26
|
+
type: string
|
27
|
+
enum:
|
28
|
+
- BASE
|
29
|
+
- FT
|
30
|
+
example: "FT" # Only applicable if compartment_id is provided
|
31
|
+
responses:
|
32
|
+
'200':
|
33
|
+
description: OK
|
34
|
+
content:
|
35
|
+
application/json:
|
36
|
+
schema:
|
37
|
+
$ref: '#/components/schemas/AquaModelList'
|
38
|
+
'404':
|
39
|
+
description: "Model not found"
|
40
|
+
|
41
|
+
post:
|
42
|
+
summary: "Register Model"
|
43
|
+
description: "Register model into data science service."
|
44
|
+
operationId: "registerModel"
|
45
|
+
requestBody:
|
46
|
+
description: "User object that needs to be added"
|
47
|
+
required: true
|
48
|
+
content:
|
49
|
+
application/json:
|
50
|
+
schema:
|
51
|
+
$ref: '#/components/schemas/ImportModelDetails'
|
52
|
+
examples:
|
53
|
+
verifiedModelOrCachedmodel:
|
54
|
+
summary: "Verfied or Cached Model"
|
55
|
+
description: "The inference container and finetuning container is automatically set"
|
56
|
+
value:
|
57
|
+
model: "meta-llama/Llama-3.2-1B-Instruct"
|
58
|
+
os_path: "oci://<bucketname>@<namespace>/models"
|
59
|
+
download_from_hf: true
|
60
|
+
cleanup_model_cache: true
|
61
|
+
ignore_patterns: ["original/*"]
|
62
|
+
registerFromObjectStorageLocation:
|
63
|
+
summary: "Register from object storage"
|
64
|
+
description: "If the model is already available on the object storage, set the os_path to the model artifact path. Set the `download_from_hf` to false"
|
65
|
+
value:
|
66
|
+
model: "meta-llama/Llama-3.2-1B-Instruct"
|
67
|
+
os_path: "oci://<bucketname>@<namespace>/models/meta-llama/Llama-3.2-1B-Instruct"
|
68
|
+
download_from_hf: false
|
69
|
+
cleanup_model_cache: true
|
70
|
+
ignore_patterns: ["original/*"]
|
71
|
+
unverifiedModel:
|
72
|
+
summary: "Unverfied models"
|
73
|
+
description: "In case of unverified model, explicity provide the inference container and the finetuning container"
|
74
|
+
value:
|
75
|
+
model: "meta-llama/Llama-3.3-70B-Instruct"
|
76
|
+
os_path: "oci://<bucketname>@<namespace>/models"
|
77
|
+
download_from_hf: true
|
78
|
+
cleanup_model_cache: true
|
79
|
+
ignore_patterns: ["original/*"]
|
80
|
+
inference_container: "dsmc://odsc-vllm-serving:0.6.4.post1.1"
|
81
|
+
finetuning_container: "dsmc://odsc-llm-fine-tuning:2.2.62.70"
|
82
|
+
responses:
|
83
|
+
'200':
|
84
|
+
description: OK
|
85
|
+
content:
|
86
|
+
application/json:
|
87
|
+
schema:
|
88
|
+
$ref: '#/components/schemas/AquaModel'
|
89
|
+
'404':
|
90
|
+
description: "Model not found"
|
91
|
+
/model/{model_id}:
|
92
|
+
get:
|
93
|
+
summary: "Retrieve a model"
|
94
|
+
description: "Returns a AquaModel if model_id is base model. If it is fine tuned model it returns AquaFineTuneModel. To fetch finetuned model set the compartment_id in the query param"
|
95
|
+
operationId: "getModel"
|
96
|
+
parameters:
|
97
|
+
- name: model_id
|
98
|
+
in: path
|
99
|
+
description: "ID of the model to retrieve"
|
100
|
+
required: true
|
101
|
+
schema:
|
102
|
+
type: string
|
103
|
+
responses:
|
104
|
+
'200':
|
105
|
+
description: "Model object"
|
106
|
+
content:
|
107
|
+
application/json:
|
108
|
+
schema:
|
109
|
+
oneOf:
|
110
|
+
- $ref: '#/components/schemas/AquaModel'
|
111
|
+
- $ref: "#/components/schemas/AquaFineTuneModel"
|
112
|
+
'404':
|
113
|
+
description: "Model not found"
|
114
|
+
/finetuning:
|
115
|
+
post:
|
116
|
+
summary: "Create a fine-tuning job"
|
117
|
+
operationId: createFineTuningJob
|
118
|
+
requestBody:
|
119
|
+
description: "Input data for creating a fine-tuning job."
|
120
|
+
required: true
|
121
|
+
content:
|
122
|
+
application/json:
|
123
|
+
schema:
|
124
|
+
$ref: "#/components/schemas/CreateFineTuningDetails"
|
125
|
+
example:
|
126
|
+
"ft_source_id": "ocid1.datasciencemodel.oc1..<UNIQUEID>"
|
127
|
+
"ft_name": "My FineTuning Job"
|
128
|
+
"dataset_path": "oci://bucket@namespace/path/to/my-data.jsonl"
|
129
|
+
"report_path": "oci://bucket@namespace/path/to/"
|
130
|
+
"ft_parameters":
|
131
|
+
"epochs": 10
|
132
|
+
"learning_rate": 0.001
|
133
|
+
"shape_name": "VM.GPU.A10.2"
|
134
|
+
"replica": 1
|
135
|
+
"validation_set_size": 0.2
|
136
|
+
"ft_description": "API Testing."
|
137
|
+
"compartment_id": "ocid1.compartment.oc1..<UNIQUEID>"
|
138
|
+
"experiment_name": "API Testing"
|
139
|
+
"experiment_description": "Testing API"
|
140
|
+
"log_group_id": "ocid1.loggroup.oc1..<UNIQUEID>"
|
141
|
+
"log_id": "ocid1.log.oc1..<UNIQUEID>"
|
142
|
+
responses:
|
143
|
+
"200":
|
144
|
+
description: "Fine-tuning job created successfully."
|
145
|
+
content:
|
146
|
+
application/json:
|
147
|
+
schema:
|
148
|
+
$ref: "#/components/schemas/AquaFineTuneModel"
|
149
|
+
"400":
|
150
|
+
description: "Invalid input data."
|
151
|
+
content:
|
152
|
+
application/json:
|
153
|
+
schema:
|
154
|
+
type: object
|
155
|
+
/finetuning/config/{model_id}:
|
156
|
+
get:
|
157
|
+
summary: "Get fine-tuning configuration for a base model"
|
158
|
+
description: "Fetches the shapes and default replica and batch size for different supported shapes."
|
159
|
+
operationId: getFinetuningConfig
|
160
|
+
parameters:
|
161
|
+
- name: model_id
|
162
|
+
in: path
|
163
|
+
description: "The base model id for which to retrieve the fine-tuning configuration."
|
164
|
+
required: true
|
165
|
+
schema:
|
166
|
+
type: string
|
167
|
+
responses:
|
168
|
+
"200":
|
169
|
+
description: "Fine-tuning configuration retrieved successfully."
|
170
|
+
content:
|
171
|
+
application/json:
|
172
|
+
schema:
|
173
|
+
type: object
|
174
|
+
additionalProperties: true
|
175
|
+
"400":
|
176
|
+
description: "Invalid request. Model id is required or the request is invalid."
|
177
|
+
content:
|
178
|
+
application/json:
|
179
|
+
schema:
|
180
|
+
type: object
|
181
|
+
/finetuning/{model_id}/params:
|
182
|
+
get:
|
183
|
+
summary: "Get default fine-tuning parameters for a model"
|
184
|
+
description: "Fetches the fine tuning parameter defaults set for fine tuning"
|
185
|
+
operationId: getFinetuningDefaultParams
|
186
|
+
parameters:
|
187
|
+
- name: model_id
|
188
|
+
in: path
|
189
|
+
description: "The base model id for which to get the default fine-tuning parameters."
|
190
|
+
required: true
|
191
|
+
schema:
|
192
|
+
type: string
|
193
|
+
responses:
|
194
|
+
"200":
|
195
|
+
description: "Default fine-tuning parameters retrieved successfully."
|
196
|
+
content:
|
197
|
+
application/json:
|
198
|
+
schema:
|
199
|
+
$ref: "#/components/schemas/AquaFineTuneValidation"
|
200
|
+
"400":
|
201
|
+
description: "Invalid request or missing model id."
|
202
|
+
content:
|
203
|
+
application/json:
|
204
|
+
schema:
|
205
|
+
type: object
|
206
|
+
post:
|
207
|
+
summary: "Validate fine-tuning parameters for a model"
|
208
|
+
operationId: validateFineTuningParams
|
209
|
+
parameters:
|
210
|
+
- name: model_id
|
211
|
+
in: path
|
212
|
+
description: "The model id for which to validate fine-tuning parameters."
|
213
|
+
required: true
|
214
|
+
schema:
|
215
|
+
type: string
|
216
|
+
requestBody:
|
217
|
+
description: "JSON object containing the 'params' to be validated."
|
218
|
+
required: true
|
219
|
+
content:
|
220
|
+
application/json:
|
221
|
+
schema:
|
222
|
+
type: object
|
223
|
+
properties:
|
224
|
+
params:
|
225
|
+
type: object
|
226
|
+
description: "Fine-tuning parameters to validate."
|
227
|
+
responses:
|
228
|
+
"200":
|
229
|
+
description: "Fine-tuning parameters validated successfully."
|
230
|
+
content:
|
231
|
+
application/json:
|
232
|
+
schema:
|
233
|
+
$ref: "#/components/schemas/AquaFineTuneValidation"
|
234
|
+
"400":
|
235
|
+
description: "Invalid input data."
|
236
|
+
content:
|
237
|
+
application/json:
|
238
|
+
schema:
|
239
|
+
type: object
|
240
|
+
/deployments:
|
241
|
+
get:
|
242
|
+
summary: "Lists all the AI Quick Actions deployment in the compartment"
|
243
|
+
description: "Lists all the deployments."
|
244
|
+
operationId: listDeployment
|
245
|
+
parameters:
|
246
|
+
- name: compartment_id
|
247
|
+
in: query
|
248
|
+
description: "If not provided, default compartment set at the API server will be used."
|
249
|
+
required: false
|
250
|
+
schema:
|
251
|
+
type: string
|
252
|
+
example: "ocid1.compartment.oc1..<UNIQUEID>"
|
253
|
+
- name: project_id
|
254
|
+
in: query
|
255
|
+
description: "If not provided, default project_id set at the API server will be used."
|
256
|
+
required: false
|
257
|
+
schema:
|
258
|
+
type: string
|
259
|
+
example: "ocid1.datascienceproject.oc1..<UNIQUEID>"
|
260
|
+
responses:
|
261
|
+
"200":
|
262
|
+
description: "Deployment details retrieved successfully."
|
263
|
+
content:
|
264
|
+
application/json:
|
265
|
+
schema:
|
266
|
+
$ref: "#/components/schemas/AquaDeploymentList"
|
267
|
+
"400":
|
268
|
+
description: "Invalid deployment id provided."
|
269
|
+
content:
|
270
|
+
application/json:
|
271
|
+
schema:
|
272
|
+
type: object
|
273
|
+
post:
|
274
|
+
summary: "Create a new model deployment"
|
275
|
+
description: "Creates a new Aqua model deployment with the provided configuration."
|
276
|
+
operationId: createDeployment
|
277
|
+
requestBody:
|
278
|
+
required: true
|
279
|
+
description: "Deployment configuration parameters."
|
280
|
+
content:
|
281
|
+
application/json:
|
282
|
+
schema:
|
283
|
+
$ref: "#/components/schemas/AquaCreateDeployment"
|
284
|
+
responses:
|
285
|
+
"200":
|
286
|
+
description: "Deployment created successfully."
|
287
|
+
content:
|
288
|
+
application/json:
|
289
|
+
schema:
|
290
|
+
$ref: "#/components/schemas/AquaDeployment"
|
291
|
+
"400":
|
292
|
+
description: "Invalid input data."
|
293
|
+
content:
|
294
|
+
application/json:
|
295
|
+
schema:
|
296
|
+
type: object
|
297
|
+
/deployments/{deployment_id}:
|
298
|
+
get:
|
299
|
+
summary: "Retrieve a model deployment"
|
300
|
+
description: "Retrieves the details of a specific Aqua model deployment by its deployment_id."
|
301
|
+
operationId: getDeployment
|
302
|
+
parameters:
|
303
|
+
- name: deployment_id
|
304
|
+
in: path
|
305
|
+
description: "The unique identifier of the deployment."
|
306
|
+
required: true
|
307
|
+
schema:
|
308
|
+
type: string
|
309
|
+
example: "ocid1.datasciencemodeldeployment.oc1..<UNIQUEID>"
|
310
|
+
responses:
|
311
|
+
"200":
|
312
|
+
description: "Deployment details retrieved successfully."
|
313
|
+
content:
|
314
|
+
application/json:
|
315
|
+
schema:
|
316
|
+
$ref: "#/components/schemas/AquaDeploymentDetail"
|
317
|
+
"400":
|
318
|
+
description: "Invalid deployment id provided."
|
319
|
+
content:
|
320
|
+
application/json:
|
321
|
+
schema:
|
322
|
+
type: object
|
323
|
+
/deployment/delete/{deployment_id}:
|
324
|
+
delete:
|
325
|
+
summary: "Delete a model deployment"
|
326
|
+
description: "Deletes the Aqua model deployment specified by deployment_id."
|
327
|
+
operationId: deleteDeployment
|
328
|
+
parameters:
|
329
|
+
- name: deployment_id
|
330
|
+
in: path
|
331
|
+
description: "The unique identifier of the deployment to be deleted."
|
332
|
+
required: true
|
333
|
+
schema:
|
334
|
+
type: string
|
335
|
+
example: "deployment-ocid-001"
|
336
|
+
responses:
|
337
|
+
"200":
|
338
|
+
description: "Deployment deleted successfully."
|
339
|
+
content:
|
340
|
+
application/json:
|
341
|
+
schema:
|
342
|
+
type: object
|
343
|
+
properties:
|
344
|
+
message:
|
345
|
+
type: string
|
346
|
+
example: "Deployment deleted successfully."
|
347
|
+
"400":
|
348
|
+
description: "Invalid deployment id provided."
|
349
|
+
content:
|
350
|
+
application/json:
|
351
|
+
schema:
|
352
|
+
type: object
|
353
|
+
/evaluation/config:
|
354
|
+
get:
|
355
|
+
summary: "Retrieve evaluation configuration"
|
356
|
+
description: "Returns the evaluation configuration for a given evaluation id. If the evaluation id is missing, a 400 error is returned."
|
357
|
+
operationId: getEvaluationConfig
|
358
|
+
responses:
|
359
|
+
"200":
|
360
|
+
description: "Evaluation configuration retrieved successfully."
|
361
|
+
content:
|
362
|
+
application/json:
|
363
|
+
schema:
|
364
|
+
type: object
|
365
|
+
additionalProperties: true
|
366
|
+
"400":
|
367
|
+
description: "Invalid evaluation id provided."
|
368
|
+
content:
|
369
|
+
application/json:
|
370
|
+
schema:
|
371
|
+
type: object
|
372
|
+
/evaluation/{eval_id}:
|
373
|
+
get:
|
374
|
+
summary: "Get Evaluation Run details"
|
375
|
+
operationId: getEvaluation
|
376
|
+
parameters:
|
377
|
+
- name: eval_id
|
378
|
+
in: path
|
379
|
+
description: "ID of the evaluation model to retrieve"
|
380
|
+
required: true
|
381
|
+
schema:
|
382
|
+
type: string
|
383
|
+
responses:
|
384
|
+
'200':
|
385
|
+
description: "Model object"
|
386
|
+
content:
|
387
|
+
application/json:
|
388
|
+
schema:
|
389
|
+
$ref: '#/components/schemas/AquaEvaluationSummary'
|
390
|
+
'404':
|
391
|
+
description: "Model not found"
|
392
|
+
|
393
|
+
/evaluation:
|
394
|
+
get:
|
395
|
+
summary: "List Evaluation"
|
396
|
+
description: "Returns array of AquaEvaluationSummary object."
|
397
|
+
operationId: "listEvaluation"
|
398
|
+
parameters:
|
399
|
+
- name: compartment_id
|
400
|
+
in: query
|
401
|
+
description: "compartment id where evaluation run exists. If not set, will use the default set at the API server"
|
402
|
+
required: false
|
403
|
+
schema:
|
404
|
+
type: string
|
405
|
+
responses:
|
406
|
+
'200':
|
407
|
+
description: OK
|
408
|
+
content:
|
409
|
+
application/json:
|
410
|
+
schema:
|
411
|
+
$ref: '#/components/schemas/AquaEvaluationSummary'
|
412
|
+
'404':
|
413
|
+
description: "Evaluation Run not found"
|
414
|
+
post:
|
415
|
+
summary: "Create evaluation job"
|
416
|
+
description: "Creates a new evaluation job using the provided evaluation details."
|
417
|
+
operationId: createEvaluationJob
|
418
|
+
requestBody:
|
419
|
+
description: "Payload for creating a new evaluation job."
|
420
|
+
required: true
|
421
|
+
content:
|
422
|
+
application/json:
|
423
|
+
schema:
|
424
|
+
$ref: "#/components/schemas/CreateEvaluationDetails"
|
425
|
+
responses:
|
426
|
+
"200":
|
427
|
+
description: "Evaluation job created successfully."
|
428
|
+
content:
|
429
|
+
application/json:
|
430
|
+
schema:
|
431
|
+
$ref: "#/components/schemas/AquaEvaluationSummary"
|
432
|
+
"400":
|
433
|
+
description: "Invalid input data."
|
434
|
+
content:
|
435
|
+
application/json:
|
436
|
+
schema:
|
437
|
+
type: object
|
438
|
+
components:
|
439
|
+
schemas:
|
440
|
+
FineTuningShapeInfo:
|
441
|
+
type: object
|
442
|
+
properties:
|
443
|
+
instance_shape:
|
444
|
+
type: string
|
445
|
+
description: "Shape of the instance"
|
446
|
+
replica:
|
447
|
+
type: integer
|
448
|
+
description: "Replica count"
|
449
|
+
example:
|
450
|
+
instance_shape: "VM.Standard2.1"
|
451
|
+
replica: 1
|
452
|
+
|
453
|
+
AquaFineTuneValidation:
|
454
|
+
type: object
|
455
|
+
properties:
|
456
|
+
type:
|
457
|
+
type: string
|
458
|
+
default: "Automatic split"
|
459
|
+
description: "Type of validation used"
|
460
|
+
value:
|
461
|
+
type: string
|
462
|
+
description: "Validation value"
|
463
|
+
example:
|
464
|
+
type: "Automatic split"
|
465
|
+
value: "80:20"
|
466
|
+
|
467
|
+
ModelFormat:
|
468
|
+
type: string
|
469
|
+
description: "Model format enumeration (external type placeholder)"
|
470
|
+
example: "SAFETENSORS"
|
471
|
+
|
472
|
+
ModelValidationResult:
|
473
|
+
type: object
|
474
|
+
properties:
|
475
|
+
model_file:
|
476
|
+
type: string
|
477
|
+
description: "Path or identifier of the model file"
|
478
|
+
model_formats:
|
479
|
+
type: array
|
480
|
+
items:
|
481
|
+
$ref: '#/components/schemas/ModelFormat'
|
482
|
+
description: "List of supported model formats"
|
483
|
+
telemetry_model_name:
|
484
|
+
type: string
|
485
|
+
description: "Telemetry name of the model"
|
486
|
+
tags:
|
487
|
+
type: object
|
488
|
+
description: "Arbitrary tags"
|
489
|
+
additionalProperties: true
|
490
|
+
example:
|
491
|
+
model_file: "model.pkl"
|
492
|
+
model_formats: ["ONNX"]
|
493
|
+
telemetry_model_name: "MyModelTelemetry"
|
494
|
+
tags:
|
495
|
+
environment: "production"
|
496
|
+
|
497
|
+
AquaFineTuningMetric:
|
498
|
+
type: object
|
499
|
+
properties:
|
500
|
+
name:
|
501
|
+
type: string
|
502
|
+
description: "Metric name"
|
503
|
+
category:
|
504
|
+
type: string
|
505
|
+
description: "Metric category"
|
506
|
+
scores:
|
507
|
+
type: array
|
508
|
+
items:
|
509
|
+
type: number
|
510
|
+
description: "List of metric scores"
|
511
|
+
example:
|
512
|
+
name: "accuracy"
|
513
|
+
category: "performance"
|
514
|
+
scores: [0.95, 0.96]
|
515
|
+
|
516
|
+
AquaModelLicense:
|
517
|
+
type: object
|
518
|
+
properties:
|
519
|
+
id:
|
520
|
+
type: string
|
521
|
+
description: "License identifier"
|
522
|
+
license:
|
523
|
+
type: string
|
524
|
+
description: "License text or reference"
|
525
|
+
example:
|
526
|
+
id: "lic-123"
|
527
|
+
license: "Apache-2.0"
|
528
|
+
|
529
|
+
AquaModelSummary:
|
530
|
+
type: object
|
531
|
+
properties:
|
532
|
+
compartment_id:
|
533
|
+
type: string
|
534
|
+
icon:
|
535
|
+
type: string
|
536
|
+
id:
|
537
|
+
type: string
|
538
|
+
is_fine_tuned_model:
|
539
|
+
type: boolean
|
540
|
+
license:
|
541
|
+
type: string
|
542
|
+
name:
|
543
|
+
type: string
|
544
|
+
organization:
|
545
|
+
type: string
|
546
|
+
project_id:
|
547
|
+
type: string
|
548
|
+
tags:
|
549
|
+
type: object
|
550
|
+
additionalProperties: true
|
551
|
+
task:
|
552
|
+
type: string
|
553
|
+
time_created:
|
554
|
+
type: string
|
555
|
+
console_link:
|
556
|
+
type: string
|
557
|
+
search_text:
|
558
|
+
type: string
|
559
|
+
ready_to_deploy:
|
560
|
+
type: boolean
|
561
|
+
default: true
|
562
|
+
ready_to_finetune:
|
563
|
+
type: boolean
|
564
|
+
default: false
|
565
|
+
ready_to_import:
|
566
|
+
type: boolean
|
567
|
+
default: false
|
568
|
+
nvidia_gpu_supported:
|
569
|
+
type: boolean
|
570
|
+
default: false
|
571
|
+
arm_cpu_supported:
|
572
|
+
type: boolean
|
573
|
+
default: false
|
574
|
+
model_file:
|
575
|
+
type: string
|
576
|
+
model_formats:
|
577
|
+
type: array
|
578
|
+
items:
|
579
|
+
$ref: '#/components/schemas/ModelFormat'
|
580
|
+
example:
|
581
|
+
compartment_id: "comp-123"
|
582
|
+
id: "model-456"
|
583
|
+
is_fine_tuned_model: false
|
584
|
+
name: "Example Model"
|
585
|
+
ready_to_deploy: true
|
586
|
+
model_formats: ["ONNX"]
|
587
|
+
|
588
|
+
AquaModel:
|
589
|
+
allOf:
|
590
|
+
- $ref: '#/components/schemas/AquaModelSummary'
|
591
|
+
- type: object
|
592
|
+
properties:
|
593
|
+
model_card:
|
594
|
+
type: string
|
595
|
+
inference_container:
|
596
|
+
type: string
|
597
|
+
inference_container_uri:
|
598
|
+
type: string
|
599
|
+
finetuning_container:
|
600
|
+
type: string
|
601
|
+
evaluation_container:
|
602
|
+
type: string
|
603
|
+
artifact_location:
|
604
|
+
type: string
|
605
|
+
example:
|
606
|
+
model_card: "http://example.com/model-card"
|
607
|
+
inference_container: "inference-container:latest"
|
608
|
+
inference_container_uri: "oci://inference_container_uri"
|
609
|
+
finetuning_container: "finetuning-container:latest"
|
610
|
+
evaluation_container: "evaluation-container:latest"
|
611
|
+
artifact_location: "/path/to/artifact"
|
612
|
+
AquaModelList:
|
613
|
+
type: object
|
614
|
+
properties:
|
615
|
+
data:
|
616
|
+
type: array
|
617
|
+
items:
|
618
|
+
$ref: "#/components/schemas/AquaModel"
|
619
|
+
HFModelContainerInfo:
|
620
|
+
type: object
|
621
|
+
properties:
|
622
|
+
inference_container:
|
623
|
+
type: string
|
624
|
+
finetuning_container:
|
625
|
+
type: string
|
626
|
+
example:
|
627
|
+
inference_container: "inference-container:latest"
|
628
|
+
finetuning_container: "finetuning-container:latest"
|
629
|
+
|
630
|
+
HFModelSummary:
|
631
|
+
type: object
|
632
|
+
properties:
|
633
|
+
model_info:
|
634
|
+
type: object
|
635
|
+
description: "Hugging Face ModelInfo object (external type placeholder)"
|
636
|
+
example:
|
637
|
+
modelId: "hf-model-001"
|
638
|
+
aqua_model_info:
|
639
|
+
$ref: '#/components/schemas/AquaModelSummary'
|
640
|
+
example:
|
641
|
+
model_info:
|
642
|
+
modelId: "hf-model-001"
|
643
|
+
aqua_model_info:
|
644
|
+
id: "model-456"
|
645
|
+
name: "Example Model"
|
646
|
+
|
647
|
+
AquaResourceIdentifier:
|
648
|
+
type: object
|
649
|
+
description: "A resource identifier containing id, name, and url."
|
650
|
+
properties:
|
651
|
+
id:
|
652
|
+
type: string
|
653
|
+
name:
|
654
|
+
type: string
|
655
|
+
url:
|
656
|
+
type: string
|
657
|
+
example:
|
658
|
+
id: "res-789"
|
659
|
+
name: "Resource Name"
|
660
|
+
url: "http://example.com/resource"
|
661
|
+
|
662
|
+
AquaEvalFTCommon:
|
663
|
+
type: object
|
664
|
+
properties:
|
665
|
+
lifecycle_state:
|
666
|
+
type: string
|
667
|
+
lifecycle_details:
|
668
|
+
type: string
|
669
|
+
job:
|
670
|
+
$ref: '#/components/schemas/AquaResourceIdentifier'
|
671
|
+
source:
|
672
|
+
$ref: '#/components/schemas/AquaResourceIdentifier'
|
673
|
+
experiment:
|
674
|
+
$ref: '#/components/schemas/AquaResourceIdentifier'
|
675
|
+
log_group:
|
676
|
+
$ref: '#/components/schemas/AquaResourceIdentifier'
|
677
|
+
log:
|
678
|
+
$ref: '#/components/schemas/AquaResourceIdentifier'
|
679
|
+
example:
|
680
|
+
lifecycle_state: "SUCCEEDED"
|
681
|
+
lifecycle_details: "Completed successfully"
|
682
|
+
job:
|
683
|
+
id: "job-001"
|
684
|
+
name: "Job One"
|
685
|
+
url: "http://example.com/job/001"
|
686
|
+
source:
|
687
|
+
id: "src-002"
|
688
|
+
name: "Source Two"
|
689
|
+
url: "http://example.com/src/002"
|
690
|
+
experiment:
|
691
|
+
id: "exp-003"
|
692
|
+
name: "Experiment Three"
|
693
|
+
url: "http://example.com/exp/003"
|
694
|
+
log_group:
|
695
|
+
id: "lg-004"
|
696
|
+
name: "Log Group Four"
|
697
|
+
url: "http://example.com/lg/004"
|
698
|
+
log:
|
699
|
+
id: "log-005"
|
700
|
+
name: "Log Five"
|
701
|
+
url: "http://example.com/log/005"
|
702
|
+
|
703
|
+
AquaFineTuneModel:
|
704
|
+
allOf:
|
705
|
+
- $ref: '#/components/schemas/AquaModel'
|
706
|
+
- $ref: '#/components/schemas/AquaEvalFTCommon'
|
707
|
+
- type: object
|
708
|
+
properties:
|
709
|
+
dataset:
|
710
|
+
type: string
|
711
|
+
validation:
|
712
|
+
$ref: '#/components/schemas/AquaFineTuneValidation'
|
713
|
+
shape_info:
|
714
|
+
$ref: '#/components/schemas/FineTuningShapeInfo'
|
715
|
+
metrics:
|
716
|
+
type: array
|
717
|
+
items:
|
718
|
+
$ref: '#/components/schemas/AquaFineTuningMetric'
|
719
|
+
example:
|
720
|
+
dataset: "training_data.csv"
|
721
|
+
validation:
|
722
|
+
type: "Automatic split"
|
723
|
+
value: "20%"
|
724
|
+
shape_info:
|
725
|
+
instance_shape: "VM.Standard2.1"
|
726
|
+
replica: 2
|
727
|
+
metrics:
|
728
|
+
- name: "accuracy"
|
729
|
+
category: "performance"
|
730
|
+
scores: [0.95]
|
731
|
+
AquaFineTuneModelList:
|
732
|
+
type: object
|
733
|
+
properties:
|
734
|
+
data:
|
735
|
+
type: array
|
736
|
+
items:
|
737
|
+
$ref: "#/components/schemas/AquaFineTuneModel"
|
738
|
+
|
739
|
+
ImportModelDetails:
|
740
|
+
type: object
|
741
|
+
properties:
|
742
|
+
model:
|
743
|
+
type: string
|
744
|
+
description: "Name of the model"
|
745
|
+
os_path:
|
746
|
+
type: string
|
747
|
+
description: "Path to the model in the objet storage. This is of the format oci://namesapace@bucket_name/path/to/model. "
|
748
|
+
download_from_hf:
|
749
|
+
type: boolean
|
750
|
+
default: true
|
751
|
+
description: "Will download the model from the huggingface and uploaded to the provided object storage path"
|
752
|
+
local_dir:
|
753
|
+
type: string
|
754
|
+
description: "Local directory where the model will be downloaded to from huggingface"
|
755
|
+
cleanup_model_cache:
|
756
|
+
type: boolean
|
757
|
+
default: false
|
758
|
+
description: "Cleanup local path"
|
759
|
+
inference_container:
|
760
|
+
type: string
|
761
|
+
description: "The inference container to use for model deployment"
|
762
|
+
finetuning_container:
|
763
|
+
type: string
|
764
|
+
description: "The Fine tuning container to use for model deployment"
|
765
|
+
compartment_id:
|
766
|
+
type: string
|
767
|
+
project_id:
|
768
|
+
type: string
|
769
|
+
model_file:
|
770
|
+
type: string
|
771
|
+
description: "Required if the model is of type GGUF"
|
772
|
+
inference_container_uri:
|
773
|
+
type: string
|
774
|
+
allow_patterns:
|
775
|
+
description: "Artifact file patterns that should be included while downloading from HuggingFace"
|
776
|
+
type: array
|
777
|
+
items:
|
778
|
+
type: string
|
779
|
+
ignore_patterns:
|
780
|
+
description: "Artifact file patterns that should be ignored while downloading from HuggingFace"
|
781
|
+
type: array
|
782
|
+
items:
|
783
|
+
type: string
|
784
|
+
freeform_tags:
|
785
|
+
description: "Freeform tags to be added to the model created"
|
786
|
+
type: object
|
787
|
+
additionalProperties: true
|
788
|
+
defined_tags:
|
789
|
+
type: object
|
790
|
+
additionalProperties: true
|
791
|
+
ignore_model_artifact_check:
|
792
|
+
description: "Flag to ignore checking config.json or safetensor file presence in the huggingface repo"
|
793
|
+
type: boolean
|
794
|
+
default: false
|
795
|
+
required:
|
796
|
+
- model
|
797
|
+
- os_path
|
798
|
+
|
799
|
+
AquaFineTuningParams:
|
800
|
+
type: object
|
801
|
+
description: "Class for maintaining Aqua fine-tuning model parameters"
|
802
|
+
properties:
|
803
|
+
epochs:
|
804
|
+
type: integer
|
805
|
+
nullable: true
|
806
|
+
example: 10
|
807
|
+
learning_rate:
|
808
|
+
type: number
|
809
|
+
format: float
|
810
|
+
nullable: true
|
811
|
+
example: 0.001
|
812
|
+
sample_packing:
|
813
|
+
oneOf:
|
814
|
+
- type: boolean
|
815
|
+
- type: string
|
816
|
+
enum: ["auto"]
|
817
|
+
default: "auto"
|
818
|
+
example: "auto"
|
819
|
+
batch_size:
|
820
|
+
type: integer
|
821
|
+
nullable: true
|
822
|
+
description: "Internally used as micro_batch_size"
|
823
|
+
example: 32
|
824
|
+
sequence_len:
|
825
|
+
type: integer
|
826
|
+
nullable: true
|
827
|
+
example: 128
|
828
|
+
pad_to_sequence_len:
|
829
|
+
type: boolean
|
830
|
+
nullable: true
|
831
|
+
example: true
|
832
|
+
lora_r:
|
833
|
+
type: integer
|
834
|
+
nullable: true
|
835
|
+
example: 4
|
836
|
+
lora_alpha:
|
837
|
+
type: integer
|
838
|
+
nullable: true
|
839
|
+
example: 16
|
840
|
+
lora_dropout:
|
841
|
+
type: number
|
842
|
+
format: float
|
843
|
+
nullable: true
|
844
|
+
example: 0.1
|
845
|
+
lora_target_linear:
|
846
|
+
type: boolean
|
847
|
+
nullable: true
|
848
|
+
example: false
|
849
|
+
lora_target_modules:
|
850
|
+
type: array
|
851
|
+
items:
|
852
|
+
type: string
|
853
|
+
nullable: true
|
854
|
+
example: ["module1", "module2"]
|
855
|
+
early_stopping_patience:
|
856
|
+
type: integer
|
857
|
+
nullable: true
|
858
|
+
example: 3
|
859
|
+
early_stopping_threshold:
|
860
|
+
type: number
|
861
|
+
format: float
|
862
|
+
nullable: true
|
863
|
+
example: 0.01
|
864
|
+
additionalProperties: true
|
865
|
+
|
866
|
+
AquaFineTuningSummary:
|
867
|
+
type: object
|
868
|
+
description: "Represents a summary of Aqua FineTuning job."
|
869
|
+
properties:
|
870
|
+
id:
|
871
|
+
type: string
|
872
|
+
example: "ft-job-1234"
|
873
|
+
name:
|
874
|
+
type: string
|
875
|
+
example: "Fine Tuning Job Name"
|
876
|
+
console_url:
|
877
|
+
type: string
|
878
|
+
example: "https://console.example.com/jobs/ft-job-1234"
|
879
|
+
lifecycle_state:
|
880
|
+
type: string
|
881
|
+
example: "SUCCEEDED"
|
882
|
+
lifecycle_details:
|
883
|
+
type: string
|
884
|
+
example: "Completed successfully"
|
885
|
+
time_created:
|
886
|
+
type: string
|
887
|
+
example: "2025-01-01T12:00:00Z"
|
888
|
+
tags:
|
889
|
+
type: object
|
890
|
+
additionalProperties: true
|
891
|
+
example: { "env": "prod" }
|
892
|
+
experiment:
|
893
|
+
$ref: "#/components/schemas/AquaResourceIdentifier"
|
894
|
+
source:
|
895
|
+
$ref: "#/components/schemas/AquaResourceIdentifier"
|
896
|
+
job:
|
897
|
+
$ref: "#/components/schemas/AquaResourceIdentifier"
|
898
|
+
parameters:
|
899
|
+
$ref: "#/components/schemas/AquaFineTuningParams"
|
900
|
+
CreateFineTuningDetails:
|
901
|
+
type: object
|
902
|
+
description: "Class to create aqua model fine-tuning instance."
|
903
|
+
properties:
|
904
|
+
ft_source_id:
|
905
|
+
type: string
|
906
|
+
example: "ocid.datasciencemodel.......<UNIQUEID>"
|
907
|
+
ft_name:
|
908
|
+
type: string
|
909
|
+
example: "My FineTuning Job"
|
910
|
+
dataset_path:
|
911
|
+
type: string
|
912
|
+
example: "oci://bucket@namespace/path/to/dataset.jsonl"
|
913
|
+
report_path:
|
914
|
+
type: string
|
915
|
+
example: "oci://bucket@namespace/path/to/report/"
|
916
|
+
ft_parameters:
|
917
|
+
type: object
|
918
|
+
description: "Parameters for fine-tuning job"
|
919
|
+
example:
|
920
|
+
epochs: 10
|
921
|
+
learning_rate: 0.001
|
922
|
+
shape_name:
|
923
|
+
type: string
|
924
|
+
example: "VM.GPU.A10.2"
|
925
|
+
replica:
|
926
|
+
type: integer
|
927
|
+
example: 2
|
928
|
+
validation_set_size:
|
929
|
+
type: number
|
930
|
+
format: float
|
931
|
+
example: 0.2
|
932
|
+
ft_description:
|
933
|
+
type: string
|
934
|
+
nullable: true
|
935
|
+
example: "A description for the fine-tuning job."
|
936
|
+
compartment_id:
|
937
|
+
type: string
|
938
|
+
nullable: true
|
939
|
+
example: "ocid.compartment.......<UNIQUEID>"
|
940
|
+
project_id:
|
941
|
+
type: string
|
942
|
+
nullable: true
|
943
|
+
example: "ocid.datascienceproject.......<UNIQUEID>"
|
944
|
+
experiment_id:
|
945
|
+
type: string
|
946
|
+
nullable: true
|
947
|
+
example: "experiment-9012"
|
948
|
+
experiment_name:
|
949
|
+
type: string
|
950
|
+
nullable: true
|
951
|
+
example: "Experiment Name"
|
952
|
+
experiment_description:
|
953
|
+
type: string
|
954
|
+
nullable: true
|
955
|
+
example: "Description of the experiment"
|
956
|
+
block_storage_size:
|
957
|
+
type: integer
|
958
|
+
nullable: true
|
959
|
+
example: 256
|
960
|
+
subnet_id:
|
961
|
+
type: string
|
962
|
+
nullable: true
|
963
|
+
example: "subnet-3456"
|
964
|
+
log_group_id:
|
965
|
+
type: string
|
966
|
+
nullable: true
|
967
|
+
example: "loggroup-7890"
|
968
|
+
log_id:
|
969
|
+
type: string
|
970
|
+
nullable: true
|
971
|
+
example: "log-1234"
|
972
|
+
watch_logs:
|
973
|
+
type: boolean
|
974
|
+
nullable: true
|
975
|
+
default: false
|
976
|
+
example: false
|
977
|
+
force_overwrite:
|
978
|
+
type: boolean
|
979
|
+
nullable: true
|
980
|
+
default: false
|
981
|
+
example: false
|
982
|
+
freeform_tags:
|
983
|
+
type: object
|
984
|
+
additionalProperties: true
|
985
|
+
nullable: true
|
986
|
+
example: { "key": "value" }
|
987
|
+
defined_tags:
|
988
|
+
type: object
|
989
|
+
additionalProperties: true
|
990
|
+
nullable: true
|
991
|
+
example: { "namespace": { "key": "value" } }
|
992
|
+
required:
|
993
|
+
- ft_source_id
|
994
|
+
- ft_name
|
995
|
+
- dataset_path
|
996
|
+
- report_path
|
997
|
+
- ft_parameters
|
998
|
+
- shape_name
|
999
|
+
- replica
|
1000
|
+
- validation_set_size
|
1001
|
+
|
1002
|
+
ModelParams:
|
1003
|
+
type: object
|
1004
|
+
description: "Parameters for model deployment."
|
1005
|
+
properties:
|
1006
|
+
max_tokens:
|
1007
|
+
type: integer
|
1008
|
+
nullable: true
|
1009
|
+
example: 256
|
1010
|
+
temperature:
|
1011
|
+
type: number
|
1012
|
+
format: float
|
1013
|
+
nullable: true
|
1014
|
+
example: 0.7
|
1015
|
+
top_k:
|
1016
|
+
type: number
|
1017
|
+
format: float
|
1018
|
+
nullable: true
|
1019
|
+
example: 50
|
1020
|
+
top_p:
|
1021
|
+
type: number
|
1022
|
+
format: float
|
1023
|
+
nullable: true
|
1024
|
+
example: 0.9
|
1025
|
+
model:
|
1026
|
+
type: string
|
1027
|
+
nullable: true
|
1028
|
+
example: "gpt-3.5-turbo"
|
1029
|
+
additionalProperties: false
|
1030
|
+
|
1031
|
+
ShapeInfo:
|
1032
|
+
type: object
|
1033
|
+
description: "Information about the shape configuration for the deployment."
|
1034
|
+
properties:
|
1035
|
+
instance_shape:
|
1036
|
+
type: string
|
1037
|
+
nullable: true
|
1038
|
+
example: "VM.Standard2.1"
|
1039
|
+
instance_count:
|
1040
|
+
type: integer
|
1041
|
+
nullable: true
|
1042
|
+
example: 2
|
1043
|
+
ocpus:
|
1044
|
+
type: number
|
1045
|
+
format: float
|
1046
|
+
nullable: true
|
1047
|
+
example: 1.0
|
1048
|
+
memory_in_gbs:
|
1049
|
+
type: number
|
1050
|
+
format: float
|
1051
|
+
nullable: true
|
1052
|
+
example: 15.0
|
1053
|
+
additionalProperties: false
|
1054
|
+
|
1055
|
+
AquaDeployment:
|
1056
|
+
type: object
|
1057
|
+
description: "Represents an Aqua Model Deployment."
|
1058
|
+
properties:
|
1059
|
+
id:
|
1060
|
+
type: string
|
1061
|
+
example: "deployment-ocid-001"
|
1062
|
+
display_name:
|
1063
|
+
type: string
|
1064
|
+
example: "My Model Deployment"
|
1065
|
+
aqua_service_model:
|
1066
|
+
type: boolean
|
1067
|
+
example: true
|
1068
|
+
model_id:
|
1069
|
+
type: string
|
1070
|
+
example: "model-ocid-1234"
|
1071
|
+
aqua_model_name:
|
1072
|
+
type: string
|
1073
|
+
example: "Aqua Model Name"
|
1074
|
+
state:
|
1075
|
+
type: string
|
1076
|
+
example: "ACTIVE"
|
1077
|
+
description:
|
1078
|
+
type: string
|
1079
|
+
nullable: true
|
1080
|
+
example: "Deployment description"
|
1081
|
+
created_on:
|
1082
|
+
type: string
|
1083
|
+
format: date-time
|
1084
|
+
example: "2025-01-01T12:00:00Z"
|
1085
|
+
created_by:
|
1086
|
+
type: string
|
1087
|
+
example: "user@example.com"
|
1088
|
+
endpoint:
|
1089
|
+
type: string
|
1090
|
+
example: "https://endpoint.example.com"
|
1091
|
+
private_endpoint_id:
|
1092
|
+
type: string
|
1093
|
+
nullable: true
|
1094
|
+
example: "private-endpoint-ocid-001"
|
1095
|
+
console_link:
|
1096
|
+
type: string
|
1097
|
+
example: "https://console.example.com/model-deployments/deployment-ocid-001"
|
1098
|
+
lifecycle_details:
|
1099
|
+
type: string
|
1100
|
+
nullable: true
|
1101
|
+
example: "All systems go"
|
1102
|
+
shape_info:
|
1103
|
+
$ref: "#/components/schemas/ShapeInfo"
|
1104
|
+
tags:
|
1105
|
+
type: object
|
1106
|
+
additionalProperties: true
|
1107
|
+
example: { "env": "prod", "project": "example" }
|
1108
|
+
environment_variables:
|
1109
|
+
type: object
|
1110
|
+
additionalProperties: true
|
1111
|
+
example: { "VAR1": "value1", "VAR2": "value2" }
|
1112
|
+
cmd:
|
1113
|
+
type: array
|
1114
|
+
items:
|
1115
|
+
type: string
|
1116
|
+
example: ["python", "serve.py"]
|
1117
|
+
required:
|
1118
|
+
- id
|
1119
|
+
- display_name
|
1120
|
+
- aqua_service_model
|
1121
|
+
- model_id
|
1122
|
+
- state
|
1123
|
+
- created_on
|
1124
|
+
- created_by
|
1125
|
+
- endpoint
|
1126
|
+
|
1127
|
+
AquaDeploymentList:
|
1128
|
+
type: object
|
1129
|
+
properties:
|
1130
|
+
data:
|
1131
|
+
type: array
|
1132
|
+
items:
|
1133
|
+
$ref: "#/components/schemas/AquaDeployment"
|
1134
|
+
|
1135
|
+
AquaCreateDeployment:
|
1136
|
+
type: object
|
1137
|
+
properties:
|
1138
|
+
compartment_id:
|
1139
|
+
type: string
|
1140
|
+
example: "ocid1.compartment.oc1..<UNIQUEID>"
|
1141
|
+
project_id:
|
1142
|
+
type: string
|
1143
|
+
example: "ocid1.datascienceproject.oc1..<UNIQUEID>"
|
1144
|
+
log_group_id:
|
1145
|
+
type: string
|
1146
|
+
example: "ocid1.loggroup.oc1..<UNIQUEID>"
|
1147
|
+
access_log_id:
|
1148
|
+
type: string
|
1149
|
+
example: "ocid1.log.oc1..<UNIQUEID>"
|
1150
|
+
predict_log_id:
|
1151
|
+
type: string
|
1152
|
+
example: "ocid1.log.oc1..<UNIQUEID>"
|
1153
|
+
description:
|
1154
|
+
type: string
|
1155
|
+
example: "llama model deployment"
|
1156
|
+
instance_count:
|
1157
|
+
type: integer
|
1158
|
+
example: 1
|
1159
|
+
bandwidth_mbps:
|
1160
|
+
type: integer
|
1161
|
+
example: 10
|
1162
|
+
env_var:
|
1163
|
+
type: object
|
1164
|
+
example: {"key": "value"}
|
1165
|
+
container_family:
|
1166
|
+
type: string
|
1167
|
+
example: "odsc-vllm-serving"
|
1168
|
+
ocpus:
|
1169
|
+
type: number
|
1170
|
+
description: "applicable when CPU shape is chose. Not applicable for GPU shape"
|
1171
|
+
example: 40
|
1172
|
+
memory_in_gbs:
|
1173
|
+
type: number
|
1174
|
+
description: "applicable when CPU shape is chose. Not applicable for GPU shape"
|
1175
|
+
example: 256
|
1176
|
+
model_file:
|
1177
|
+
type: string
|
1178
|
+
example: "my_model.gguf"
|
1179
|
+
description: "Applicable when there are multiple gguf files."
|
1180
|
+
private_endpoint_id:
|
1181
|
+
type: string
|
1182
|
+
example: "ocid1.datasciencemodeldeploymentprivatendpoint.oc1..<UNIQUEID>"
|
1183
|
+
cmd_var:
|
1184
|
+
type: string
|
1185
|
+
example: "ocid1.compartment.oc1..<UNIQUEID>"
|
1186
|
+
|
1187
|
+
AquaDeploymentDetail:
|
1188
|
+
allOf:
|
1189
|
+
- $ref: "#/components/schemas/AquaDeployment"
|
1190
|
+
- type: object
|
1191
|
+
description: "Represents details of an Aqua deployment with logging information."
|
1192
|
+
properties:
|
1193
|
+
log_group:
|
1194
|
+
$ref: "#/components/schemas/AquaResourceIdentifier"
|
1195
|
+
log:
|
1196
|
+
$ref: "#/components/schemas/AquaResourceIdentifier"
|
1197
|
+
AquaEvaluationMetric:
|
1198
|
+
type: object
|
1199
|
+
description: "Represents a single evaluation metric for a model."
|
1200
|
+
properties:
|
1201
|
+
name:
|
1202
|
+
type: string
|
1203
|
+
description: "Name of the evaluation metric."
|
1204
|
+
example: "accuracy"
|
1205
|
+
value:
|
1206
|
+
type: number
|
1207
|
+
format: float
|
1208
|
+
description: "Numeric value of the evaluation metric."
|
1209
|
+
example: 0.95
|
1210
|
+
threshold:
|
1211
|
+
type: number
|
1212
|
+
format: float
|
1213
|
+
description: "Threshold value for evaluation comparison."
|
1214
|
+
example: 0.90
|
1215
|
+
required:
|
1216
|
+
- name
|
1217
|
+
- value
|
1218
|
+
|
1219
|
+
AquaEvaluationSummary:
|
1220
|
+
type: object
|
1221
|
+
description: "Represents a summary of model evaluation results."
|
1222
|
+
properties:
|
1223
|
+
id:
|
1224
|
+
type: string
|
1225
|
+
description: "Unique identifier of the evaluation job."
|
1226
|
+
example: "eval-ocid-001"
|
1227
|
+
model_id:
|
1228
|
+
type: string
|
1229
|
+
description: "Identifier of the evaluated model."
|
1230
|
+
example: "model-ocid-1234"
|
1231
|
+
evaluator:
|
1232
|
+
type: string
|
1233
|
+
description: "Name or identifier of the evaluator."
|
1234
|
+
example: "AutoEvaluator"
|
1235
|
+
evaluation_metrics:
|
1236
|
+
type: array
|
1237
|
+
description: "List of evaluation metrics."
|
1238
|
+
items:
|
1239
|
+
$ref: "#/components/schemas/AquaEvaluationMetric"
|
1240
|
+
status:
|
1241
|
+
type: string
|
1242
|
+
description: "Evaluation status (e.g. SUCCEEDED, FAILED)."
|
1243
|
+
example: "SUCCEEDED"
|
1244
|
+
created_on:
|
1245
|
+
type: string
|
1246
|
+
format: date-time
|
1247
|
+
description: "Timestamp when the evaluation was created."
|
1248
|
+
example: "2025-01-15T10:30:00Z"
|
1249
|
+
comments:
|
1250
|
+
type: string
|
1251
|
+
description: "Optional comments regarding the evaluation."
|
1252
|
+
example: "Evaluation completed successfully."
|
1253
|
+
required:
|
1254
|
+
- id
|
1255
|
+
- model_id
|
1256
|
+
- evaluator
|
1257
|
+
- evaluation_metrics
|
1258
|
+
- status
|
1259
|
+
- created_on
|
1260
|
+
|
1261
|
+
CreateEvaluationDetails:
|
1262
|
+
type: object
|
1263
|
+
description: "Payload for creating a new model evaluation job."
|
1264
|
+
properties:
|
1265
|
+
model_id:
|
1266
|
+
type: string
|
1267
|
+
description: "Identifier of the model to be evaluated."
|
1268
|
+
example: "model-ocid-1234"
|
1269
|
+
dataset_path:
|
1270
|
+
type: string
|
1271
|
+
description: "Path to the dataset used for evaluation. This can be a local or object storage path."
|
1272
|
+
example: "oci://bucket/path/to/evaluation_data.csv"
|
1273
|
+
evaluator:
|
1274
|
+
type: string
|
1275
|
+
description: "Evaluator name or identifier."
|
1276
|
+
example: "AutoEvaluator"
|
1277
|
+
evaluation_params:
|
1278
|
+
type: object
|
1279
|
+
description: "Additional evaluation parameters."
|
1280
|
+
additionalProperties: true
|
1281
|
+
example:
|
1282
|
+
batch_size: 32
|
1283
|
+
metric: "accuracy"
|
1284
|
+
comments:
|
1285
|
+
type: string
|
1286
|
+
description: "Optional comments or description for the evaluation job."
|
1287
|
+
example: "Evaluating model performance on test dataset."
|
1288
|
+
required:
|
1289
|
+
- model_id
|
1290
|
+
- dataset_path
|
1291
|
+
- evaluator
|