pulumi-oci 1.19.0a1705698401__py3-none-any.whl → 1.20.0__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.
- pulumi_oci/__init__.py +35 -0
- pulumi_oci/generativeai/__init__.py +18 -0
- pulumi_oci/generativeai/_inputs.py +534 -0
- pulumi_oci/generativeai/dedicated_ai_cluster.py +808 -0
- pulumi_oci/generativeai/endpoint.py +717 -0
- pulumi_oci/generativeai/get_dedicated_ai_cluster.py +288 -0
- pulumi_oci/generativeai/get_dedicated_ai_clusters.py +183 -0
- pulumi_oci/generativeai/get_endpoint.py +275 -0
- pulumi_oci/generativeai/get_endpoints.py +183 -0
- pulumi_oci/generativeai/get_model.py +353 -0
- pulumi_oci/generativeai/get_models.py +220 -0
- pulumi_oci/generativeai/model.py +858 -0
- pulumi_oci/generativeai/outputs.py +1721 -0
- pulumi_oci/marketplace/get_publication.py +14 -1
- pulumi_oci/marketplace/outputs.py +11 -0
- pulumi_oci/marketplace/publication.py +28 -0
- pulumi_oci/stackmonitoring/__init__.py +3 -0
- pulumi_oci/stackmonitoring/_inputs.py +143 -0
- pulumi_oci/stackmonitoring/get_process_set.py +236 -0
- pulumi_oci/stackmonitoring/get_process_sets.py +156 -0
- pulumi_oci/stackmonitoring/outputs.py +422 -0
- pulumi_oci/stackmonitoring/process_set.py +548 -0
- {pulumi_oci-1.19.0a1705698401.dist-info → pulumi_oci-1.20.0.dist-info}/METADATA +1 -1
- {pulumi_oci-1.19.0a1705698401.dist-info → pulumi_oci-1.20.0.dist-info}/RECORD +26 -11
- {pulumi_oci-1.19.0a1705698401.dist-info → pulumi_oci-1.20.0.dist-info}/WHEEL +0 -0
- {pulumi_oci-1.19.0a1705698401.dist-info → pulumi_oci-1.20.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1721 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
|
13
|
+
__all__ = [
|
14
|
+
'DedicatedAiClusterCapacity',
|
15
|
+
'EndpointContentModerationConfig',
|
16
|
+
'ModelFineTuneDetails',
|
17
|
+
'ModelFineTuneDetailsTrainingConfig',
|
18
|
+
'ModelFineTuneDetailsTrainingDataset',
|
19
|
+
'ModelModelMetric',
|
20
|
+
'GetDedicatedAiClusterCapacityResult',
|
21
|
+
'GetDedicatedAiClustersDedicatedAiClusterCollectionResult',
|
22
|
+
'GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult',
|
23
|
+
'GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult',
|
24
|
+
'GetDedicatedAiClustersFilterResult',
|
25
|
+
'GetEndpointContentModerationConfigResult',
|
26
|
+
'GetEndpointsEndpointCollectionResult',
|
27
|
+
'GetEndpointsEndpointCollectionItemResult',
|
28
|
+
'GetEndpointsEndpointCollectionItemContentModerationConfigResult',
|
29
|
+
'GetEndpointsFilterResult',
|
30
|
+
'GetModelFineTuneDetailResult',
|
31
|
+
'GetModelFineTuneDetailTrainingConfigResult',
|
32
|
+
'GetModelFineTuneDetailTrainingDatasetResult',
|
33
|
+
'GetModelModelMetricResult',
|
34
|
+
'GetModelsFilterResult',
|
35
|
+
'GetModelsModelCollectionResult',
|
36
|
+
'GetModelsModelCollectionItemResult',
|
37
|
+
'GetModelsModelCollectionItemFineTuneDetailResult',
|
38
|
+
'GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult',
|
39
|
+
'GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult',
|
40
|
+
'GetModelsModelCollectionItemModelMetricResult',
|
41
|
+
]
|
42
|
+
|
43
|
+
@pulumi.output_type
|
44
|
+
class DedicatedAiClusterCapacity(dict):
|
45
|
+
@staticmethod
|
46
|
+
def __key_warning(key: str):
|
47
|
+
suggest = None
|
48
|
+
if key == "capacityType":
|
49
|
+
suggest = "capacity_type"
|
50
|
+
elif key == "totalEndpointCapacity":
|
51
|
+
suggest = "total_endpoint_capacity"
|
52
|
+
elif key == "usedEndpointCapacity":
|
53
|
+
suggest = "used_endpoint_capacity"
|
54
|
+
|
55
|
+
if suggest:
|
56
|
+
pulumi.log.warn(f"Key '{key}' not found in DedicatedAiClusterCapacity. Access the value via the '{suggest}' property getter instead.")
|
57
|
+
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
59
|
+
DedicatedAiClusterCapacity.__key_warning(key)
|
60
|
+
return super().__getitem__(key)
|
61
|
+
|
62
|
+
def get(self, key: str, default = None) -> Any:
|
63
|
+
DedicatedAiClusterCapacity.__key_warning(key)
|
64
|
+
return super().get(key, default)
|
65
|
+
|
66
|
+
def __init__(__self__, *,
|
67
|
+
capacity_type: Optional[str] = None,
|
68
|
+
total_endpoint_capacity: Optional[int] = None,
|
69
|
+
used_endpoint_capacity: Optional[int] = None):
|
70
|
+
"""
|
71
|
+
:param str capacity_type: The type of the dedicated AI cluster capacity.
|
72
|
+
:param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
|
73
|
+
:param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
|
74
|
+
"""
|
75
|
+
if capacity_type is not None:
|
76
|
+
pulumi.set(__self__, "capacity_type", capacity_type)
|
77
|
+
if total_endpoint_capacity is not None:
|
78
|
+
pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
|
79
|
+
if used_endpoint_capacity is not None:
|
80
|
+
pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter(name="capacityType")
|
84
|
+
def capacity_type(self) -> Optional[str]:
|
85
|
+
"""
|
86
|
+
The type of the dedicated AI cluster capacity.
|
87
|
+
"""
|
88
|
+
return pulumi.get(self, "capacity_type")
|
89
|
+
|
90
|
+
@property
|
91
|
+
@pulumi.getter(name="totalEndpointCapacity")
|
92
|
+
def total_endpoint_capacity(self) -> Optional[int]:
|
93
|
+
"""
|
94
|
+
The total number of endpoints that can be hosted on this dedicated AI cluster.
|
95
|
+
"""
|
96
|
+
return pulumi.get(self, "total_endpoint_capacity")
|
97
|
+
|
98
|
+
@property
|
99
|
+
@pulumi.getter(name="usedEndpointCapacity")
|
100
|
+
def used_endpoint_capacity(self) -> Optional[int]:
|
101
|
+
"""
|
102
|
+
The number of endpoints hosted on this dedicated AI cluster.
|
103
|
+
"""
|
104
|
+
return pulumi.get(self, "used_endpoint_capacity")
|
105
|
+
|
106
|
+
|
107
|
+
@pulumi.output_type
|
108
|
+
class EndpointContentModerationConfig(dict):
|
109
|
+
@staticmethod
|
110
|
+
def __key_warning(key: str):
|
111
|
+
suggest = None
|
112
|
+
if key == "isEnabled":
|
113
|
+
suggest = "is_enabled"
|
114
|
+
|
115
|
+
if suggest:
|
116
|
+
pulumi.log.warn(f"Key '{key}' not found in EndpointContentModerationConfig. Access the value via the '{suggest}' property getter instead.")
|
117
|
+
|
118
|
+
def __getitem__(self, key: str) -> Any:
|
119
|
+
EndpointContentModerationConfig.__key_warning(key)
|
120
|
+
return super().__getitem__(key)
|
121
|
+
|
122
|
+
def get(self, key: str, default = None) -> Any:
|
123
|
+
EndpointContentModerationConfig.__key_warning(key)
|
124
|
+
return super().get(key, default)
|
125
|
+
|
126
|
+
def __init__(__self__, *,
|
127
|
+
is_enabled: bool):
|
128
|
+
"""
|
129
|
+
:param bool is_enabled: (Updatable) Whether to enable the content moderation feature.
|
130
|
+
"""
|
131
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter(name="isEnabled")
|
135
|
+
def is_enabled(self) -> bool:
|
136
|
+
"""
|
137
|
+
(Updatable) Whether to enable the content moderation feature.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "is_enabled")
|
140
|
+
|
141
|
+
|
142
|
+
@pulumi.output_type
|
143
|
+
class ModelFineTuneDetails(dict):
|
144
|
+
@staticmethod
|
145
|
+
def __key_warning(key: str):
|
146
|
+
suggest = None
|
147
|
+
if key == "dedicatedAiClusterId":
|
148
|
+
suggest = "dedicated_ai_cluster_id"
|
149
|
+
elif key == "trainingDataset":
|
150
|
+
suggest = "training_dataset"
|
151
|
+
elif key == "trainingConfig":
|
152
|
+
suggest = "training_config"
|
153
|
+
|
154
|
+
if suggest:
|
155
|
+
pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetails. Access the value via the '{suggest}' property getter instead.")
|
156
|
+
|
157
|
+
def __getitem__(self, key: str) -> Any:
|
158
|
+
ModelFineTuneDetails.__key_warning(key)
|
159
|
+
return super().__getitem__(key)
|
160
|
+
|
161
|
+
def get(self, key: str, default = None) -> Any:
|
162
|
+
ModelFineTuneDetails.__key_warning(key)
|
163
|
+
return super().get(key, default)
|
164
|
+
|
165
|
+
def __init__(__self__, *,
|
166
|
+
dedicated_ai_cluster_id: str,
|
167
|
+
training_dataset: 'outputs.ModelFineTuneDetailsTrainingDataset',
|
168
|
+
training_config: Optional['outputs.ModelFineTuneDetailsTrainingConfig'] = None):
|
169
|
+
"""
|
170
|
+
:param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
|
171
|
+
:param 'ModelFineTuneDetailsTrainingDatasetArgs' training_dataset: The dataset used to fine-tune the model.
|
172
|
+
|
173
|
+
Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
|
174
|
+
:param 'ModelFineTuneDetailsTrainingConfigArgs' training_config: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
175
|
+
"""
|
176
|
+
pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
|
177
|
+
pulumi.set(__self__, "training_dataset", training_dataset)
|
178
|
+
if training_config is not None:
|
179
|
+
pulumi.set(__self__, "training_config", training_config)
|
180
|
+
|
181
|
+
@property
|
182
|
+
@pulumi.getter(name="dedicatedAiClusterId")
|
183
|
+
def dedicated_ai_cluster_id(self) -> str:
|
184
|
+
"""
|
185
|
+
The OCID of the dedicated AI cluster this fine-tuning runs on.
|
186
|
+
"""
|
187
|
+
return pulumi.get(self, "dedicated_ai_cluster_id")
|
188
|
+
|
189
|
+
@property
|
190
|
+
@pulumi.getter(name="trainingDataset")
|
191
|
+
def training_dataset(self) -> 'outputs.ModelFineTuneDetailsTrainingDataset':
|
192
|
+
"""
|
193
|
+
The dataset used to fine-tune the model.
|
194
|
+
|
195
|
+
Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
|
196
|
+
"""
|
197
|
+
return pulumi.get(self, "training_dataset")
|
198
|
+
|
199
|
+
@property
|
200
|
+
@pulumi.getter(name="trainingConfig")
|
201
|
+
def training_config(self) -> Optional['outputs.ModelFineTuneDetailsTrainingConfig']:
|
202
|
+
"""
|
203
|
+
The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
204
|
+
"""
|
205
|
+
return pulumi.get(self, "training_config")
|
206
|
+
|
207
|
+
|
208
|
+
@pulumi.output_type
|
209
|
+
class ModelFineTuneDetailsTrainingConfig(dict):
|
210
|
+
@staticmethod
|
211
|
+
def __key_warning(key: str):
|
212
|
+
suggest = None
|
213
|
+
if key == "trainingConfigType":
|
214
|
+
suggest = "training_config_type"
|
215
|
+
elif key == "earlyStoppingPatience":
|
216
|
+
suggest = "early_stopping_patience"
|
217
|
+
elif key == "earlyStoppingThreshold":
|
218
|
+
suggest = "early_stopping_threshold"
|
219
|
+
elif key == "learningRate":
|
220
|
+
suggest = "learning_rate"
|
221
|
+
elif key == "logModelMetricsIntervalInSteps":
|
222
|
+
suggest = "log_model_metrics_interval_in_steps"
|
223
|
+
elif key == "numOfLastLayers":
|
224
|
+
suggest = "num_of_last_layers"
|
225
|
+
elif key == "totalTrainingEpochs":
|
226
|
+
suggest = "total_training_epochs"
|
227
|
+
elif key == "trainingBatchSize":
|
228
|
+
suggest = "training_batch_size"
|
229
|
+
|
230
|
+
if suggest:
|
231
|
+
pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetailsTrainingConfig. Access the value via the '{suggest}' property getter instead.")
|
232
|
+
|
233
|
+
def __getitem__(self, key: str) -> Any:
|
234
|
+
ModelFineTuneDetailsTrainingConfig.__key_warning(key)
|
235
|
+
return super().__getitem__(key)
|
236
|
+
|
237
|
+
def get(self, key: str, default = None) -> Any:
|
238
|
+
ModelFineTuneDetailsTrainingConfig.__key_warning(key)
|
239
|
+
return super().get(key, default)
|
240
|
+
|
241
|
+
def __init__(__self__, *,
|
242
|
+
training_config_type: str,
|
243
|
+
early_stopping_patience: Optional[int] = None,
|
244
|
+
early_stopping_threshold: Optional[float] = None,
|
245
|
+
learning_rate: Optional[float] = None,
|
246
|
+
log_model_metrics_interval_in_steps: Optional[int] = None,
|
247
|
+
num_of_last_layers: Optional[int] = None,
|
248
|
+
total_training_epochs: Optional[int] = None,
|
249
|
+
training_batch_size: Optional[int] = None):
|
250
|
+
"""
|
251
|
+
:param str training_config_type: The fine-tuning method for training a custom model.
|
252
|
+
:param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
253
|
+
:param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
|
254
|
+
:param float learning_rate: The initial learning rate to be used during training
|
255
|
+
:param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
|
256
|
+
|
257
|
+
Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
|
258
|
+
:param int num_of_last_layers: The number of last layers to be fine-tuned.
|
259
|
+
:param int total_training_epochs: The maximum number of training epochs to run for.
|
260
|
+
:param int training_batch_size: The batch size used during training.
|
261
|
+
"""
|
262
|
+
pulumi.set(__self__, "training_config_type", training_config_type)
|
263
|
+
if early_stopping_patience is not None:
|
264
|
+
pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
|
265
|
+
if early_stopping_threshold is not None:
|
266
|
+
pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
|
267
|
+
if learning_rate is not None:
|
268
|
+
pulumi.set(__self__, "learning_rate", learning_rate)
|
269
|
+
if log_model_metrics_interval_in_steps is not None:
|
270
|
+
pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
|
271
|
+
if num_of_last_layers is not None:
|
272
|
+
pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
|
273
|
+
if total_training_epochs is not None:
|
274
|
+
pulumi.set(__self__, "total_training_epochs", total_training_epochs)
|
275
|
+
if training_batch_size is not None:
|
276
|
+
pulumi.set(__self__, "training_batch_size", training_batch_size)
|
277
|
+
|
278
|
+
@property
|
279
|
+
@pulumi.getter(name="trainingConfigType")
|
280
|
+
def training_config_type(self) -> str:
|
281
|
+
"""
|
282
|
+
The fine-tuning method for training a custom model.
|
283
|
+
"""
|
284
|
+
return pulumi.get(self, "training_config_type")
|
285
|
+
|
286
|
+
@property
|
287
|
+
@pulumi.getter(name="earlyStoppingPatience")
|
288
|
+
def early_stopping_patience(self) -> Optional[int]:
|
289
|
+
"""
|
290
|
+
Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
291
|
+
"""
|
292
|
+
return pulumi.get(self, "early_stopping_patience")
|
293
|
+
|
294
|
+
@property
|
295
|
+
@pulumi.getter(name="earlyStoppingThreshold")
|
296
|
+
def early_stopping_threshold(self) -> Optional[float]:
|
297
|
+
"""
|
298
|
+
How much the loss must improve to prevent early stopping.
|
299
|
+
"""
|
300
|
+
return pulumi.get(self, "early_stopping_threshold")
|
301
|
+
|
302
|
+
@property
|
303
|
+
@pulumi.getter(name="learningRate")
|
304
|
+
def learning_rate(self) -> Optional[float]:
|
305
|
+
"""
|
306
|
+
The initial learning rate to be used during training
|
307
|
+
"""
|
308
|
+
return pulumi.get(self, "learning_rate")
|
309
|
+
|
310
|
+
@property
|
311
|
+
@pulumi.getter(name="logModelMetricsIntervalInSteps")
|
312
|
+
def log_model_metrics_interval_in_steps(self) -> Optional[int]:
|
313
|
+
"""
|
314
|
+
Determines how frequently to log model metrics.
|
315
|
+
|
316
|
+
Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
|
317
|
+
"""
|
318
|
+
return pulumi.get(self, "log_model_metrics_interval_in_steps")
|
319
|
+
|
320
|
+
@property
|
321
|
+
@pulumi.getter(name="numOfLastLayers")
|
322
|
+
def num_of_last_layers(self) -> Optional[int]:
|
323
|
+
"""
|
324
|
+
The number of last layers to be fine-tuned.
|
325
|
+
"""
|
326
|
+
return pulumi.get(self, "num_of_last_layers")
|
327
|
+
|
328
|
+
@property
|
329
|
+
@pulumi.getter(name="totalTrainingEpochs")
|
330
|
+
def total_training_epochs(self) -> Optional[int]:
|
331
|
+
"""
|
332
|
+
The maximum number of training epochs to run for.
|
333
|
+
"""
|
334
|
+
return pulumi.get(self, "total_training_epochs")
|
335
|
+
|
336
|
+
@property
|
337
|
+
@pulumi.getter(name="trainingBatchSize")
|
338
|
+
def training_batch_size(self) -> Optional[int]:
|
339
|
+
"""
|
340
|
+
The batch size used during training.
|
341
|
+
"""
|
342
|
+
return pulumi.get(self, "training_batch_size")
|
343
|
+
|
344
|
+
|
345
|
+
@pulumi.output_type
|
346
|
+
class ModelFineTuneDetailsTrainingDataset(dict):
|
347
|
+
@staticmethod
|
348
|
+
def __key_warning(key: str):
|
349
|
+
suggest = None
|
350
|
+
if key == "datasetType":
|
351
|
+
suggest = "dataset_type"
|
352
|
+
|
353
|
+
if suggest:
|
354
|
+
pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetailsTrainingDataset. Access the value via the '{suggest}' property getter instead.")
|
355
|
+
|
356
|
+
def __getitem__(self, key: str) -> Any:
|
357
|
+
ModelFineTuneDetailsTrainingDataset.__key_warning(key)
|
358
|
+
return super().__getitem__(key)
|
359
|
+
|
360
|
+
def get(self, key: str, default = None) -> Any:
|
361
|
+
ModelFineTuneDetailsTrainingDataset.__key_warning(key)
|
362
|
+
return super().get(key, default)
|
363
|
+
|
364
|
+
def __init__(__self__, *,
|
365
|
+
bucket: str,
|
366
|
+
dataset_type: str,
|
367
|
+
namespace: str,
|
368
|
+
object: str):
|
369
|
+
"""
|
370
|
+
:param str bucket: The Object Storage bucket name.
|
371
|
+
:param str dataset_type: The type of the data asset.
|
372
|
+
:param str namespace: The Object Storage namespace.
|
373
|
+
:param str object: The Object Storage object name.
|
374
|
+
"""
|
375
|
+
pulumi.set(__self__, "bucket", bucket)
|
376
|
+
pulumi.set(__self__, "dataset_type", dataset_type)
|
377
|
+
pulumi.set(__self__, "namespace", namespace)
|
378
|
+
pulumi.set(__self__, "object", object)
|
379
|
+
|
380
|
+
@property
|
381
|
+
@pulumi.getter
|
382
|
+
def bucket(self) -> str:
|
383
|
+
"""
|
384
|
+
The Object Storage bucket name.
|
385
|
+
"""
|
386
|
+
return pulumi.get(self, "bucket")
|
387
|
+
|
388
|
+
@property
|
389
|
+
@pulumi.getter(name="datasetType")
|
390
|
+
def dataset_type(self) -> str:
|
391
|
+
"""
|
392
|
+
The type of the data asset.
|
393
|
+
"""
|
394
|
+
return pulumi.get(self, "dataset_type")
|
395
|
+
|
396
|
+
@property
|
397
|
+
@pulumi.getter
|
398
|
+
def namespace(self) -> str:
|
399
|
+
"""
|
400
|
+
The Object Storage namespace.
|
401
|
+
"""
|
402
|
+
return pulumi.get(self, "namespace")
|
403
|
+
|
404
|
+
@property
|
405
|
+
@pulumi.getter
|
406
|
+
def object(self) -> str:
|
407
|
+
"""
|
408
|
+
The Object Storage object name.
|
409
|
+
"""
|
410
|
+
return pulumi.get(self, "object")
|
411
|
+
|
412
|
+
|
413
|
+
@pulumi.output_type
|
414
|
+
class ModelModelMetric(dict):
|
415
|
+
@staticmethod
|
416
|
+
def __key_warning(key: str):
|
417
|
+
suggest = None
|
418
|
+
if key == "finalAccuracy":
|
419
|
+
suggest = "final_accuracy"
|
420
|
+
elif key == "finalLoss":
|
421
|
+
suggest = "final_loss"
|
422
|
+
elif key == "modelMetricsType":
|
423
|
+
suggest = "model_metrics_type"
|
424
|
+
|
425
|
+
if suggest:
|
426
|
+
pulumi.log.warn(f"Key '{key}' not found in ModelModelMetric. Access the value via the '{suggest}' property getter instead.")
|
427
|
+
|
428
|
+
def __getitem__(self, key: str) -> Any:
|
429
|
+
ModelModelMetric.__key_warning(key)
|
430
|
+
return super().__getitem__(key)
|
431
|
+
|
432
|
+
def get(self, key: str, default = None) -> Any:
|
433
|
+
ModelModelMetric.__key_warning(key)
|
434
|
+
return super().get(key, default)
|
435
|
+
|
436
|
+
def __init__(__self__, *,
|
437
|
+
final_accuracy: Optional[float] = None,
|
438
|
+
final_loss: Optional[float] = None,
|
439
|
+
model_metrics_type: Optional[str] = None):
|
440
|
+
"""
|
441
|
+
:param float final_accuracy: Fine-tuned model accuracy.
|
442
|
+
:param float final_loss: Fine-tuned model loss.
|
443
|
+
:param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
|
444
|
+
"""
|
445
|
+
if final_accuracy is not None:
|
446
|
+
pulumi.set(__self__, "final_accuracy", final_accuracy)
|
447
|
+
if final_loss is not None:
|
448
|
+
pulumi.set(__self__, "final_loss", final_loss)
|
449
|
+
if model_metrics_type is not None:
|
450
|
+
pulumi.set(__self__, "model_metrics_type", model_metrics_type)
|
451
|
+
|
452
|
+
@property
|
453
|
+
@pulumi.getter(name="finalAccuracy")
|
454
|
+
def final_accuracy(self) -> Optional[float]:
|
455
|
+
"""
|
456
|
+
Fine-tuned model accuracy.
|
457
|
+
"""
|
458
|
+
return pulumi.get(self, "final_accuracy")
|
459
|
+
|
460
|
+
@property
|
461
|
+
@pulumi.getter(name="finalLoss")
|
462
|
+
def final_loss(self) -> Optional[float]:
|
463
|
+
"""
|
464
|
+
Fine-tuned model loss.
|
465
|
+
"""
|
466
|
+
return pulumi.get(self, "final_loss")
|
467
|
+
|
468
|
+
@property
|
469
|
+
@pulumi.getter(name="modelMetricsType")
|
470
|
+
def model_metrics_type(self) -> Optional[str]:
|
471
|
+
"""
|
472
|
+
The type of the model metrics. Each type of model can expect a different set of model metrics.
|
473
|
+
"""
|
474
|
+
return pulumi.get(self, "model_metrics_type")
|
475
|
+
|
476
|
+
|
477
|
+
@pulumi.output_type
|
478
|
+
class GetDedicatedAiClusterCapacityResult(dict):
|
479
|
+
def __init__(__self__, *,
|
480
|
+
capacity_type: str,
|
481
|
+
total_endpoint_capacity: int,
|
482
|
+
used_endpoint_capacity: int):
|
483
|
+
"""
|
484
|
+
:param str capacity_type: The type of the dedicated AI cluster capacity.
|
485
|
+
:param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
|
486
|
+
:param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
|
487
|
+
"""
|
488
|
+
pulumi.set(__self__, "capacity_type", capacity_type)
|
489
|
+
pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
|
490
|
+
pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
|
491
|
+
|
492
|
+
@property
|
493
|
+
@pulumi.getter(name="capacityType")
|
494
|
+
def capacity_type(self) -> str:
|
495
|
+
"""
|
496
|
+
The type of the dedicated AI cluster capacity.
|
497
|
+
"""
|
498
|
+
return pulumi.get(self, "capacity_type")
|
499
|
+
|
500
|
+
@property
|
501
|
+
@pulumi.getter(name="totalEndpointCapacity")
|
502
|
+
def total_endpoint_capacity(self) -> int:
|
503
|
+
"""
|
504
|
+
The total number of endpoints that can be hosted on this dedicated AI cluster.
|
505
|
+
"""
|
506
|
+
return pulumi.get(self, "total_endpoint_capacity")
|
507
|
+
|
508
|
+
@property
|
509
|
+
@pulumi.getter(name="usedEndpointCapacity")
|
510
|
+
def used_endpoint_capacity(self) -> int:
|
511
|
+
"""
|
512
|
+
The number of endpoints hosted on this dedicated AI cluster.
|
513
|
+
"""
|
514
|
+
return pulumi.get(self, "used_endpoint_capacity")
|
515
|
+
|
516
|
+
|
517
|
+
@pulumi.output_type
|
518
|
+
class GetDedicatedAiClustersDedicatedAiClusterCollectionResult(dict):
|
519
|
+
def __init__(__self__, *,
|
520
|
+
items: Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult']):
|
521
|
+
pulumi.set(__self__, "items", items)
|
522
|
+
|
523
|
+
@property
|
524
|
+
@pulumi.getter
|
525
|
+
def items(self) -> Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult']:
|
526
|
+
return pulumi.get(self, "items")
|
527
|
+
|
528
|
+
|
529
|
+
@pulumi.output_type
|
530
|
+
class GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult(dict):
|
531
|
+
def __init__(__self__, *,
|
532
|
+
capacities: Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult'],
|
533
|
+
compartment_id: str,
|
534
|
+
defined_tags: Mapping[str, Any],
|
535
|
+
description: str,
|
536
|
+
display_name: str,
|
537
|
+
freeform_tags: Mapping[str, Any],
|
538
|
+
id: str,
|
539
|
+
lifecycle_details: str,
|
540
|
+
state: str,
|
541
|
+
system_tags: Mapping[str, Any],
|
542
|
+
time_created: str,
|
543
|
+
time_updated: str,
|
544
|
+
type: str,
|
545
|
+
unit_count: int,
|
546
|
+
unit_shape: str):
|
547
|
+
"""
|
548
|
+
:param Sequence['GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityArgs'] capacities: The total capacity for a dedicated AI cluster.
|
549
|
+
:param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
550
|
+
:param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
551
|
+
:param str description: An optional description of the dedicated AI cluster.
|
552
|
+
:param str display_name: A filter to return only resources that match the given display name exactly.
|
553
|
+
:param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
554
|
+
:param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated AI cluster.
|
555
|
+
:param str lifecycle_details: A message describing the current state with detail that can provide actionable information.
|
556
|
+
:param str state: A filter to return only the dedicated AI clusters that their lifecycle state matches the given lifecycle state.
|
557
|
+
:param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
558
|
+
:param str time_created: The date and time the dedicated AI cluster was created, in the format defined by RFC 3339
|
559
|
+
:param str time_updated: The date and time the dedicated AI cluster was updated, in the format defined by RFC 3339
|
560
|
+
:param str type: The dedicated AI cluster type indicating whether this is a fine-tuning/training processor or hosting/inference processor.
|
561
|
+
:param int unit_count: The number of dedicated units in this AI cluster.
|
562
|
+
:param str unit_shape: The shape of dedicated unit in this AI cluster. The underlying hardware configuration is hidden from customers.
|
563
|
+
"""
|
564
|
+
pulumi.set(__self__, "capacities", capacities)
|
565
|
+
pulumi.set(__self__, "compartment_id", compartment_id)
|
566
|
+
pulumi.set(__self__, "defined_tags", defined_tags)
|
567
|
+
pulumi.set(__self__, "description", description)
|
568
|
+
pulumi.set(__self__, "display_name", display_name)
|
569
|
+
pulumi.set(__self__, "freeform_tags", freeform_tags)
|
570
|
+
pulumi.set(__self__, "id", id)
|
571
|
+
pulumi.set(__self__, "lifecycle_details", lifecycle_details)
|
572
|
+
pulumi.set(__self__, "state", state)
|
573
|
+
pulumi.set(__self__, "system_tags", system_tags)
|
574
|
+
pulumi.set(__self__, "time_created", time_created)
|
575
|
+
pulumi.set(__self__, "time_updated", time_updated)
|
576
|
+
pulumi.set(__self__, "type", type)
|
577
|
+
pulumi.set(__self__, "unit_count", unit_count)
|
578
|
+
pulumi.set(__self__, "unit_shape", unit_shape)
|
579
|
+
|
580
|
+
@property
|
581
|
+
@pulumi.getter
|
582
|
+
def capacities(self) -> Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult']:
|
583
|
+
"""
|
584
|
+
The total capacity for a dedicated AI cluster.
|
585
|
+
"""
|
586
|
+
return pulumi.get(self, "capacities")
|
587
|
+
|
588
|
+
@property
|
589
|
+
@pulumi.getter(name="compartmentId")
|
590
|
+
def compartment_id(self) -> str:
|
591
|
+
"""
|
592
|
+
The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
593
|
+
"""
|
594
|
+
return pulumi.get(self, "compartment_id")
|
595
|
+
|
596
|
+
@property
|
597
|
+
@pulumi.getter(name="definedTags")
|
598
|
+
def defined_tags(self) -> Mapping[str, Any]:
|
599
|
+
"""
|
600
|
+
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
601
|
+
"""
|
602
|
+
return pulumi.get(self, "defined_tags")
|
603
|
+
|
604
|
+
@property
|
605
|
+
@pulumi.getter
|
606
|
+
def description(self) -> str:
|
607
|
+
"""
|
608
|
+
An optional description of the dedicated AI cluster.
|
609
|
+
"""
|
610
|
+
return pulumi.get(self, "description")
|
611
|
+
|
612
|
+
@property
|
613
|
+
@pulumi.getter(name="displayName")
|
614
|
+
def display_name(self) -> str:
|
615
|
+
"""
|
616
|
+
A filter to return only resources that match the given display name exactly.
|
617
|
+
"""
|
618
|
+
return pulumi.get(self, "display_name")
|
619
|
+
|
620
|
+
@property
|
621
|
+
@pulumi.getter(name="freeformTags")
|
622
|
+
def freeform_tags(self) -> Mapping[str, Any]:
|
623
|
+
"""
|
624
|
+
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
625
|
+
"""
|
626
|
+
return pulumi.get(self, "freeform_tags")
|
627
|
+
|
628
|
+
@property
|
629
|
+
@pulumi.getter
|
630
|
+
def id(self) -> str:
|
631
|
+
"""
|
632
|
+
The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated AI cluster.
|
633
|
+
"""
|
634
|
+
return pulumi.get(self, "id")
|
635
|
+
|
636
|
+
@property
|
637
|
+
@pulumi.getter(name="lifecycleDetails")
|
638
|
+
def lifecycle_details(self) -> str:
|
639
|
+
"""
|
640
|
+
A message describing the current state with detail that can provide actionable information.
|
641
|
+
"""
|
642
|
+
return pulumi.get(self, "lifecycle_details")
|
643
|
+
|
644
|
+
@property
|
645
|
+
@pulumi.getter
|
646
|
+
def state(self) -> str:
|
647
|
+
"""
|
648
|
+
A filter to return only the dedicated AI clusters that their lifecycle state matches the given lifecycle state.
|
649
|
+
"""
|
650
|
+
return pulumi.get(self, "state")
|
651
|
+
|
652
|
+
@property
|
653
|
+
@pulumi.getter(name="systemTags")
|
654
|
+
def system_tags(self) -> Mapping[str, Any]:
|
655
|
+
"""
|
656
|
+
System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
657
|
+
"""
|
658
|
+
return pulumi.get(self, "system_tags")
|
659
|
+
|
660
|
+
@property
|
661
|
+
@pulumi.getter(name="timeCreated")
|
662
|
+
def time_created(self) -> str:
|
663
|
+
"""
|
664
|
+
The date and time the dedicated AI cluster was created, in the format defined by RFC 3339
|
665
|
+
"""
|
666
|
+
return pulumi.get(self, "time_created")
|
667
|
+
|
668
|
+
@property
|
669
|
+
@pulumi.getter(name="timeUpdated")
|
670
|
+
def time_updated(self) -> str:
|
671
|
+
"""
|
672
|
+
The date and time the dedicated AI cluster was updated, in the format defined by RFC 3339
|
673
|
+
"""
|
674
|
+
return pulumi.get(self, "time_updated")
|
675
|
+
|
676
|
+
@property
|
677
|
+
@pulumi.getter
|
678
|
+
def type(self) -> str:
|
679
|
+
"""
|
680
|
+
The dedicated AI cluster type indicating whether this is a fine-tuning/training processor or hosting/inference processor.
|
681
|
+
"""
|
682
|
+
return pulumi.get(self, "type")
|
683
|
+
|
684
|
+
@property
|
685
|
+
@pulumi.getter(name="unitCount")
|
686
|
+
def unit_count(self) -> int:
|
687
|
+
"""
|
688
|
+
The number of dedicated units in this AI cluster.
|
689
|
+
"""
|
690
|
+
return pulumi.get(self, "unit_count")
|
691
|
+
|
692
|
+
@property
|
693
|
+
@pulumi.getter(name="unitShape")
|
694
|
+
def unit_shape(self) -> str:
|
695
|
+
"""
|
696
|
+
The shape of dedicated unit in this AI cluster. The underlying hardware configuration is hidden from customers.
|
697
|
+
"""
|
698
|
+
return pulumi.get(self, "unit_shape")
|
699
|
+
|
700
|
+
|
701
|
+
@pulumi.output_type
|
702
|
+
class GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult(dict):
|
703
|
+
def __init__(__self__, *,
|
704
|
+
capacity_type: str,
|
705
|
+
total_endpoint_capacity: int,
|
706
|
+
used_endpoint_capacity: int):
|
707
|
+
"""
|
708
|
+
:param str capacity_type: The type of the dedicated AI cluster capacity.
|
709
|
+
:param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
|
710
|
+
:param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
|
711
|
+
"""
|
712
|
+
pulumi.set(__self__, "capacity_type", capacity_type)
|
713
|
+
pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
|
714
|
+
pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
|
715
|
+
|
716
|
+
@property
|
717
|
+
@pulumi.getter(name="capacityType")
|
718
|
+
def capacity_type(self) -> str:
|
719
|
+
"""
|
720
|
+
The type of the dedicated AI cluster capacity.
|
721
|
+
"""
|
722
|
+
return pulumi.get(self, "capacity_type")
|
723
|
+
|
724
|
+
@property
|
725
|
+
@pulumi.getter(name="totalEndpointCapacity")
|
726
|
+
def total_endpoint_capacity(self) -> int:
|
727
|
+
"""
|
728
|
+
The total number of endpoints that can be hosted on this dedicated AI cluster.
|
729
|
+
"""
|
730
|
+
return pulumi.get(self, "total_endpoint_capacity")
|
731
|
+
|
732
|
+
@property
|
733
|
+
@pulumi.getter(name="usedEndpointCapacity")
|
734
|
+
def used_endpoint_capacity(self) -> int:
|
735
|
+
"""
|
736
|
+
The number of endpoints hosted on this dedicated AI cluster.
|
737
|
+
"""
|
738
|
+
return pulumi.get(self, "used_endpoint_capacity")
|
739
|
+
|
740
|
+
|
741
|
+
@pulumi.output_type
|
742
|
+
class GetDedicatedAiClustersFilterResult(dict):
|
743
|
+
def __init__(__self__, *,
|
744
|
+
name: str,
|
745
|
+
values: Sequence[str],
|
746
|
+
regex: Optional[bool] = None):
|
747
|
+
pulumi.set(__self__, "name", name)
|
748
|
+
pulumi.set(__self__, "values", values)
|
749
|
+
if regex is not None:
|
750
|
+
pulumi.set(__self__, "regex", regex)
|
751
|
+
|
752
|
+
@property
|
753
|
+
@pulumi.getter
|
754
|
+
def name(self) -> str:
|
755
|
+
return pulumi.get(self, "name")
|
756
|
+
|
757
|
+
@property
|
758
|
+
@pulumi.getter
|
759
|
+
def values(self) -> Sequence[str]:
|
760
|
+
return pulumi.get(self, "values")
|
761
|
+
|
762
|
+
@property
|
763
|
+
@pulumi.getter
|
764
|
+
def regex(self) -> Optional[bool]:
|
765
|
+
return pulumi.get(self, "regex")
|
766
|
+
|
767
|
+
|
768
|
+
@pulumi.output_type
|
769
|
+
class GetEndpointContentModerationConfigResult(dict):
|
770
|
+
def __init__(__self__, *,
|
771
|
+
is_enabled: bool):
|
772
|
+
"""
|
773
|
+
:param bool is_enabled: Whether to enable the content moderation feature.
|
774
|
+
"""
|
775
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
776
|
+
|
777
|
+
@property
|
778
|
+
@pulumi.getter(name="isEnabled")
|
779
|
+
def is_enabled(self) -> bool:
|
780
|
+
"""
|
781
|
+
Whether to enable the content moderation feature.
|
782
|
+
"""
|
783
|
+
return pulumi.get(self, "is_enabled")
|
784
|
+
|
785
|
+
|
786
|
+
@pulumi.output_type
|
787
|
+
class GetEndpointsEndpointCollectionResult(dict):
|
788
|
+
def __init__(__self__, *,
|
789
|
+
items: Sequence['outputs.GetEndpointsEndpointCollectionItemResult']):
|
790
|
+
pulumi.set(__self__, "items", items)
|
791
|
+
|
792
|
+
@property
|
793
|
+
@pulumi.getter
|
794
|
+
def items(self) -> Sequence['outputs.GetEndpointsEndpointCollectionItemResult']:
|
795
|
+
return pulumi.get(self, "items")
|
796
|
+
|
797
|
+
|
798
|
+
@pulumi.output_type
|
799
|
+
class GetEndpointsEndpointCollectionItemResult(dict):
|
800
|
+
def __init__(__self__, *,
|
801
|
+
compartment_id: str,
|
802
|
+
content_moderation_configs: Sequence['outputs.GetEndpointsEndpointCollectionItemContentModerationConfigResult'],
|
803
|
+
dedicated_ai_cluster_id: str,
|
804
|
+
defined_tags: Mapping[str, Any],
|
805
|
+
description: str,
|
806
|
+
display_name: str,
|
807
|
+
freeform_tags: Mapping[str, Any],
|
808
|
+
id: str,
|
809
|
+
lifecycle_details: str,
|
810
|
+
model_id: str,
|
811
|
+
state: str,
|
812
|
+
system_tags: Mapping[str, Any],
|
813
|
+
time_created: str,
|
814
|
+
time_updated: str):
|
815
|
+
"""
|
816
|
+
:param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
817
|
+
:param Sequence['GetEndpointsEndpointCollectionItemContentModerationConfigArgs'] content_moderation_configs: The configuration details, whether to add the content moderation feature to the model. Content moderation removes toxic and biased content from responses. It's recommended to use content moderation.
|
818
|
+
:param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster on which the model will be deployed to.
|
819
|
+
:param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
820
|
+
:param str description: An optional description of the endpoint.
|
821
|
+
:param str display_name: A filter to return only resources that match the given display name exactly.
|
822
|
+
:param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
823
|
+
:param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the endpoint.
|
824
|
+
:param str lifecycle_details: A message describing the current state of the endpoint in more detail that can provide actionable information.
|
825
|
+
:param str model_id: The OCID of the model that's used to create this endpoint.
|
826
|
+
:param str state: A filter to return only resources that their lifecycle state matches the given lifecycle state.
|
827
|
+
:param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
828
|
+
:param str time_created: The date and time that the endpoint was created in the format of an RFC3339 datetime string.
|
829
|
+
:param str time_updated: The date and time that the endpoint was updated in the format of an RFC3339 datetime string.
|
830
|
+
"""
|
831
|
+
pulumi.set(__self__, "compartment_id", compartment_id)
|
832
|
+
pulumi.set(__self__, "content_moderation_configs", content_moderation_configs)
|
833
|
+
pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
|
834
|
+
pulumi.set(__self__, "defined_tags", defined_tags)
|
835
|
+
pulumi.set(__self__, "description", description)
|
836
|
+
pulumi.set(__self__, "display_name", display_name)
|
837
|
+
pulumi.set(__self__, "freeform_tags", freeform_tags)
|
838
|
+
pulumi.set(__self__, "id", id)
|
839
|
+
pulumi.set(__self__, "lifecycle_details", lifecycle_details)
|
840
|
+
pulumi.set(__self__, "model_id", model_id)
|
841
|
+
pulumi.set(__self__, "state", state)
|
842
|
+
pulumi.set(__self__, "system_tags", system_tags)
|
843
|
+
pulumi.set(__self__, "time_created", time_created)
|
844
|
+
pulumi.set(__self__, "time_updated", time_updated)
|
845
|
+
|
846
|
+
@property
|
847
|
+
@pulumi.getter(name="compartmentId")
|
848
|
+
def compartment_id(self) -> str:
|
849
|
+
"""
|
850
|
+
The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
851
|
+
"""
|
852
|
+
return pulumi.get(self, "compartment_id")
|
853
|
+
|
854
|
+
@property
|
855
|
+
@pulumi.getter(name="contentModerationConfigs")
|
856
|
+
def content_moderation_configs(self) -> Sequence['outputs.GetEndpointsEndpointCollectionItemContentModerationConfigResult']:
|
857
|
+
"""
|
858
|
+
The configuration details, whether to add the content moderation feature to the model. Content moderation removes toxic and biased content from responses. It's recommended to use content moderation.
|
859
|
+
"""
|
860
|
+
return pulumi.get(self, "content_moderation_configs")
|
861
|
+
|
862
|
+
@property
|
863
|
+
@pulumi.getter(name="dedicatedAiClusterId")
|
864
|
+
def dedicated_ai_cluster_id(self) -> str:
|
865
|
+
"""
|
866
|
+
The OCID of the dedicated AI cluster on which the model will be deployed to.
|
867
|
+
"""
|
868
|
+
return pulumi.get(self, "dedicated_ai_cluster_id")
|
869
|
+
|
870
|
+
@property
|
871
|
+
@pulumi.getter(name="definedTags")
|
872
|
+
def defined_tags(self) -> Mapping[str, Any]:
|
873
|
+
"""
|
874
|
+
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
875
|
+
"""
|
876
|
+
return pulumi.get(self, "defined_tags")
|
877
|
+
|
878
|
+
@property
|
879
|
+
@pulumi.getter
|
880
|
+
def description(self) -> str:
|
881
|
+
"""
|
882
|
+
An optional description of the endpoint.
|
883
|
+
"""
|
884
|
+
return pulumi.get(self, "description")
|
885
|
+
|
886
|
+
@property
|
887
|
+
@pulumi.getter(name="displayName")
|
888
|
+
def display_name(self) -> str:
|
889
|
+
"""
|
890
|
+
A filter to return only resources that match the given display name exactly.
|
891
|
+
"""
|
892
|
+
return pulumi.get(self, "display_name")
|
893
|
+
|
894
|
+
@property
|
895
|
+
@pulumi.getter(name="freeformTags")
|
896
|
+
def freeform_tags(self) -> Mapping[str, Any]:
|
897
|
+
"""
|
898
|
+
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
899
|
+
"""
|
900
|
+
return pulumi.get(self, "freeform_tags")
|
901
|
+
|
902
|
+
@property
|
903
|
+
@pulumi.getter
|
904
|
+
def id(self) -> str:
|
905
|
+
"""
|
906
|
+
The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the endpoint.
|
907
|
+
"""
|
908
|
+
return pulumi.get(self, "id")
|
909
|
+
|
910
|
+
@property
|
911
|
+
@pulumi.getter(name="lifecycleDetails")
|
912
|
+
def lifecycle_details(self) -> str:
|
913
|
+
"""
|
914
|
+
A message describing the current state of the endpoint in more detail that can provide actionable information.
|
915
|
+
"""
|
916
|
+
return pulumi.get(self, "lifecycle_details")
|
917
|
+
|
918
|
+
@property
|
919
|
+
@pulumi.getter(name="modelId")
|
920
|
+
def model_id(self) -> str:
|
921
|
+
"""
|
922
|
+
The OCID of the model that's used to create this endpoint.
|
923
|
+
"""
|
924
|
+
return pulumi.get(self, "model_id")
|
925
|
+
|
926
|
+
@property
|
927
|
+
@pulumi.getter
|
928
|
+
def state(self) -> str:
|
929
|
+
"""
|
930
|
+
A filter to return only resources that their lifecycle state matches the given lifecycle state.
|
931
|
+
"""
|
932
|
+
return pulumi.get(self, "state")
|
933
|
+
|
934
|
+
@property
|
935
|
+
@pulumi.getter(name="systemTags")
|
936
|
+
def system_tags(self) -> Mapping[str, Any]:
|
937
|
+
"""
|
938
|
+
System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
939
|
+
"""
|
940
|
+
return pulumi.get(self, "system_tags")
|
941
|
+
|
942
|
+
@property
|
943
|
+
@pulumi.getter(name="timeCreated")
|
944
|
+
def time_created(self) -> str:
|
945
|
+
"""
|
946
|
+
The date and time that the endpoint was created in the format of an RFC3339 datetime string.
|
947
|
+
"""
|
948
|
+
return pulumi.get(self, "time_created")
|
949
|
+
|
950
|
+
@property
|
951
|
+
@pulumi.getter(name="timeUpdated")
|
952
|
+
def time_updated(self) -> str:
|
953
|
+
"""
|
954
|
+
The date and time that the endpoint was updated in the format of an RFC3339 datetime string.
|
955
|
+
"""
|
956
|
+
return pulumi.get(self, "time_updated")
|
957
|
+
|
958
|
+
|
959
|
+
@pulumi.output_type
|
960
|
+
class GetEndpointsEndpointCollectionItemContentModerationConfigResult(dict):
|
961
|
+
def __init__(__self__, *,
|
962
|
+
is_enabled: bool):
|
963
|
+
"""
|
964
|
+
:param bool is_enabled: Whether to enable the content moderation feature.
|
965
|
+
"""
|
966
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
967
|
+
|
968
|
+
@property
|
969
|
+
@pulumi.getter(name="isEnabled")
|
970
|
+
def is_enabled(self) -> bool:
|
971
|
+
"""
|
972
|
+
Whether to enable the content moderation feature.
|
973
|
+
"""
|
974
|
+
return pulumi.get(self, "is_enabled")
|
975
|
+
|
976
|
+
|
977
|
+
@pulumi.output_type
|
978
|
+
class GetEndpointsFilterResult(dict):
|
979
|
+
def __init__(__self__, *,
|
980
|
+
name: str,
|
981
|
+
values: Sequence[str],
|
982
|
+
regex: Optional[bool] = None):
|
983
|
+
pulumi.set(__self__, "name", name)
|
984
|
+
pulumi.set(__self__, "values", values)
|
985
|
+
if regex is not None:
|
986
|
+
pulumi.set(__self__, "regex", regex)
|
987
|
+
|
988
|
+
@property
|
989
|
+
@pulumi.getter
|
990
|
+
def name(self) -> str:
|
991
|
+
return pulumi.get(self, "name")
|
992
|
+
|
993
|
+
@property
|
994
|
+
@pulumi.getter
|
995
|
+
def values(self) -> Sequence[str]:
|
996
|
+
return pulumi.get(self, "values")
|
997
|
+
|
998
|
+
@property
|
999
|
+
@pulumi.getter
|
1000
|
+
def regex(self) -> Optional[bool]:
|
1001
|
+
return pulumi.get(self, "regex")
|
1002
|
+
|
1003
|
+
|
1004
|
+
@pulumi.output_type
|
1005
|
+
class GetModelFineTuneDetailResult(dict):
|
1006
|
+
def __init__(__self__, *,
|
1007
|
+
dedicated_ai_cluster_id: str,
|
1008
|
+
training_configs: Sequence['outputs.GetModelFineTuneDetailTrainingConfigResult'],
|
1009
|
+
training_datasets: Sequence['outputs.GetModelFineTuneDetailTrainingDatasetResult']):
|
1010
|
+
"""
|
1011
|
+
:param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
|
1012
|
+
:param Sequence['GetModelFineTuneDetailTrainingConfigArgs'] training_configs: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
1013
|
+
:param Sequence['GetModelFineTuneDetailTrainingDatasetArgs'] training_datasets: The dataset used to fine-tune the model.
|
1014
|
+
"""
|
1015
|
+
pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
|
1016
|
+
pulumi.set(__self__, "training_configs", training_configs)
|
1017
|
+
pulumi.set(__self__, "training_datasets", training_datasets)
|
1018
|
+
|
1019
|
+
@property
|
1020
|
+
@pulumi.getter(name="dedicatedAiClusterId")
|
1021
|
+
def dedicated_ai_cluster_id(self) -> str:
|
1022
|
+
"""
|
1023
|
+
The OCID of the dedicated AI cluster this fine-tuning runs on.
|
1024
|
+
"""
|
1025
|
+
return pulumi.get(self, "dedicated_ai_cluster_id")
|
1026
|
+
|
1027
|
+
@property
|
1028
|
+
@pulumi.getter(name="trainingConfigs")
|
1029
|
+
def training_configs(self) -> Sequence['outputs.GetModelFineTuneDetailTrainingConfigResult']:
|
1030
|
+
"""
|
1031
|
+
The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
1032
|
+
"""
|
1033
|
+
return pulumi.get(self, "training_configs")
|
1034
|
+
|
1035
|
+
@property
|
1036
|
+
@pulumi.getter(name="trainingDatasets")
|
1037
|
+
def training_datasets(self) -> Sequence['outputs.GetModelFineTuneDetailTrainingDatasetResult']:
|
1038
|
+
"""
|
1039
|
+
The dataset used to fine-tune the model.
|
1040
|
+
"""
|
1041
|
+
return pulumi.get(self, "training_datasets")
|
1042
|
+
|
1043
|
+
|
1044
|
+
@pulumi.output_type
|
1045
|
+
class GetModelFineTuneDetailTrainingConfigResult(dict):
|
1046
|
+
def __init__(__self__, *,
|
1047
|
+
early_stopping_patience: int,
|
1048
|
+
early_stopping_threshold: float,
|
1049
|
+
learning_rate: float,
|
1050
|
+
log_model_metrics_interval_in_steps: int,
|
1051
|
+
num_of_last_layers: int,
|
1052
|
+
total_training_epochs: int,
|
1053
|
+
training_batch_size: int,
|
1054
|
+
training_config_type: str):
|
1055
|
+
"""
|
1056
|
+
:param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
1057
|
+
:param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
|
1058
|
+
:param float learning_rate: The initial learning rate to be used during training
|
1059
|
+
:param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
|
1060
|
+
:param int num_of_last_layers: The number of last layers to be fine-tuned.
|
1061
|
+
:param int total_training_epochs: The maximum number of training epochs to run for.
|
1062
|
+
:param int training_batch_size: The batch size used during training.
|
1063
|
+
:param str training_config_type: The fine-tuning method for training a custom model.
|
1064
|
+
"""
|
1065
|
+
pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
|
1066
|
+
pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
|
1067
|
+
pulumi.set(__self__, "learning_rate", learning_rate)
|
1068
|
+
pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
|
1069
|
+
pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
|
1070
|
+
pulumi.set(__self__, "total_training_epochs", total_training_epochs)
|
1071
|
+
pulumi.set(__self__, "training_batch_size", training_batch_size)
|
1072
|
+
pulumi.set(__self__, "training_config_type", training_config_type)
|
1073
|
+
|
1074
|
+
@property
|
1075
|
+
@pulumi.getter(name="earlyStoppingPatience")
|
1076
|
+
def early_stopping_patience(self) -> int:
|
1077
|
+
"""
|
1078
|
+
Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
1079
|
+
"""
|
1080
|
+
return pulumi.get(self, "early_stopping_patience")
|
1081
|
+
|
1082
|
+
@property
|
1083
|
+
@pulumi.getter(name="earlyStoppingThreshold")
|
1084
|
+
def early_stopping_threshold(self) -> float:
|
1085
|
+
"""
|
1086
|
+
How much the loss must improve to prevent early stopping.
|
1087
|
+
"""
|
1088
|
+
return pulumi.get(self, "early_stopping_threshold")
|
1089
|
+
|
1090
|
+
@property
|
1091
|
+
@pulumi.getter(name="learningRate")
|
1092
|
+
def learning_rate(self) -> float:
|
1093
|
+
"""
|
1094
|
+
The initial learning rate to be used during training
|
1095
|
+
"""
|
1096
|
+
return pulumi.get(self, "learning_rate")
|
1097
|
+
|
1098
|
+
@property
|
1099
|
+
@pulumi.getter(name="logModelMetricsIntervalInSteps")
|
1100
|
+
def log_model_metrics_interval_in_steps(self) -> int:
|
1101
|
+
"""
|
1102
|
+
Determines how frequently to log model metrics.
|
1103
|
+
"""
|
1104
|
+
return pulumi.get(self, "log_model_metrics_interval_in_steps")
|
1105
|
+
|
1106
|
+
@property
|
1107
|
+
@pulumi.getter(name="numOfLastLayers")
|
1108
|
+
def num_of_last_layers(self) -> int:
|
1109
|
+
"""
|
1110
|
+
The number of last layers to be fine-tuned.
|
1111
|
+
"""
|
1112
|
+
return pulumi.get(self, "num_of_last_layers")
|
1113
|
+
|
1114
|
+
@property
|
1115
|
+
@pulumi.getter(name="totalTrainingEpochs")
|
1116
|
+
def total_training_epochs(self) -> int:
|
1117
|
+
"""
|
1118
|
+
The maximum number of training epochs to run for.
|
1119
|
+
"""
|
1120
|
+
return pulumi.get(self, "total_training_epochs")
|
1121
|
+
|
1122
|
+
@property
|
1123
|
+
@pulumi.getter(name="trainingBatchSize")
|
1124
|
+
def training_batch_size(self) -> int:
|
1125
|
+
"""
|
1126
|
+
The batch size used during training.
|
1127
|
+
"""
|
1128
|
+
return pulumi.get(self, "training_batch_size")
|
1129
|
+
|
1130
|
+
@property
|
1131
|
+
@pulumi.getter(name="trainingConfigType")
|
1132
|
+
def training_config_type(self) -> str:
|
1133
|
+
"""
|
1134
|
+
The fine-tuning method for training a custom model.
|
1135
|
+
"""
|
1136
|
+
return pulumi.get(self, "training_config_type")
|
1137
|
+
|
1138
|
+
|
1139
|
+
@pulumi.output_type
|
1140
|
+
class GetModelFineTuneDetailTrainingDatasetResult(dict):
|
1141
|
+
def __init__(__self__, *,
|
1142
|
+
bucket: str,
|
1143
|
+
dataset_type: str,
|
1144
|
+
namespace: str,
|
1145
|
+
object: str):
|
1146
|
+
"""
|
1147
|
+
:param str bucket: The Object Storage bucket name.
|
1148
|
+
:param str dataset_type: The type of the data asset.
|
1149
|
+
:param str namespace: The Object Storage namespace.
|
1150
|
+
:param str object: The Object Storage object name.
|
1151
|
+
"""
|
1152
|
+
pulumi.set(__self__, "bucket", bucket)
|
1153
|
+
pulumi.set(__self__, "dataset_type", dataset_type)
|
1154
|
+
pulumi.set(__self__, "namespace", namespace)
|
1155
|
+
pulumi.set(__self__, "object", object)
|
1156
|
+
|
1157
|
+
@property
|
1158
|
+
@pulumi.getter
|
1159
|
+
def bucket(self) -> str:
|
1160
|
+
"""
|
1161
|
+
The Object Storage bucket name.
|
1162
|
+
"""
|
1163
|
+
return pulumi.get(self, "bucket")
|
1164
|
+
|
1165
|
+
@property
|
1166
|
+
@pulumi.getter(name="datasetType")
|
1167
|
+
def dataset_type(self) -> str:
|
1168
|
+
"""
|
1169
|
+
The type of the data asset.
|
1170
|
+
"""
|
1171
|
+
return pulumi.get(self, "dataset_type")
|
1172
|
+
|
1173
|
+
@property
|
1174
|
+
@pulumi.getter
|
1175
|
+
def namespace(self) -> str:
|
1176
|
+
"""
|
1177
|
+
The Object Storage namespace.
|
1178
|
+
"""
|
1179
|
+
return pulumi.get(self, "namespace")
|
1180
|
+
|
1181
|
+
@property
|
1182
|
+
@pulumi.getter
|
1183
|
+
def object(self) -> str:
|
1184
|
+
"""
|
1185
|
+
The Object Storage object name.
|
1186
|
+
"""
|
1187
|
+
return pulumi.get(self, "object")
|
1188
|
+
|
1189
|
+
|
1190
|
+
@pulumi.output_type
|
1191
|
+
class GetModelModelMetricResult(dict):
|
1192
|
+
def __init__(__self__, *,
|
1193
|
+
final_accuracy: float,
|
1194
|
+
final_loss: float,
|
1195
|
+
model_metrics_type: str):
|
1196
|
+
"""
|
1197
|
+
:param float final_accuracy: Fine-tuned model accuracy.
|
1198
|
+
:param float final_loss: Fine-tuned model loss.
|
1199
|
+
:param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
|
1200
|
+
"""
|
1201
|
+
pulumi.set(__self__, "final_accuracy", final_accuracy)
|
1202
|
+
pulumi.set(__self__, "final_loss", final_loss)
|
1203
|
+
pulumi.set(__self__, "model_metrics_type", model_metrics_type)
|
1204
|
+
|
1205
|
+
@property
|
1206
|
+
@pulumi.getter(name="finalAccuracy")
|
1207
|
+
def final_accuracy(self) -> float:
|
1208
|
+
"""
|
1209
|
+
Fine-tuned model accuracy.
|
1210
|
+
"""
|
1211
|
+
return pulumi.get(self, "final_accuracy")
|
1212
|
+
|
1213
|
+
@property
|
1214
|
+
@pulumi.getter(name="finalLoss")
|
1215
|
+
def final_loss(self) -> float:
|
1216
|
+
"""
|
1217
|
+
Fine-tuned model loss.
|
1218
|
+
"""
|
1219
|
+
return pulumi.get(self, "final_loss")
|
1220
|
+
|
1221
|
+
@property
|
1222
|
+
@pulumi.getter(name="modelMetricsType")
|
1223
|
+
def model_metrics_type(self) -> str:
|
1224
|
+
"""
|
1225
|
+
The type of the model metrics. Each type of model can expect a different set of model metrics.
|
1226
|
+
"""
|
1227
|
+
return pulumi.get(self, "model_metrics_type")
|
1228
|
+
|
1229
|
+
|
1230
|
+
@pulumi.output_type
|
1231
|
+
class GetModelsFilterResult(dict):
|
1232
|
+
def __init__(__self__, *,
|
1233
|
+
name: str,
|
1234
|
+
values: Sequence[str],
|
1235
|
+
regex: Optional[bool] = None):
|
1236
|
+
pulumi.set(__self__, "name", name)
|
1237
|
+
pulumi.set(__self__, "values", values)
|
1238
|
+
if regex is not None:
|
1239
|
+
pulumi.set(__self__, "regex", regex)
|
1240
|
+
|
1241
|
+
@property
|
1242
|
+
@pulumi.getter
|
1243
|
+
def name(self) -> str:
|
1244
|
+
return pulumi.get(self, "name")
|
1245
|
+
|
1246
|
+
@property
|
1247
|
+
@pulumi.getter
|
1248
|
+
def values(self) -> Sequence[str]:
|
1249
|
+
return pulumi.get(self, "values")
|
1250
|
+
|
1251
|
+
@property
|
1252
|
+
@pulumi.getter
|
1253
|
+
def regex(self) -> Optional[bool]:
|
1254
|
+
return pulumi.get(self, "regex")
|
1255
|
+
|
1256
|
+
|
1257
|
+
@pulumi.output_type
|
1258
|
+
class GetModelsModelCollectionResult(dict):
|
1259
|
+
def __init__(__self__, *,
|
1260
|
+
items: Sequence['outputs.GetModelsModelCollectionItemResult']):
|
1261
|
+
pulumi.set(__self__, "items", items)
|
1262
|
+
|
1263
|
+
@property
|
1264
|
+
@pulumi.getter
|
1265
|
+
def items(self) -> Sequence['outputs.GetModelsModelCollectionItemResult']:
|
1266
|
+
return pulumi.get(self, "items")
|
1267
|
+
|
1268
|
+
|
1269
|
+
@pulumi.output_type
|
1270
|
+
class GetModelsModelCollectionItemResult(dict):
|
1271
|
+
def __init__(__self__, *,
|
1272
|
+
base_model_id: str,
|
1273
|
+
capabilities: Sequence[str],
|
1274
|
+
compartment_id: str,
|
1275
|
+
defined_tags: Mapping[str, Any],
|
1276
|
+
description: str,
|
1277
|
+
display_name: str,
|
1278
|
+
fine_tune_details: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailResult'],
|
1279
|
+
freeform_tags: Mapping[str, Any],
|
1280
|
+
id: str,
|
1281
|
+
is_long_term_supported: bool,
|
1282
|
+
lifecycle_details: str,
|
1283
|
+
model_metrics: Sequence['outputs.GetModelsModelCollectionItemModelMetricResult'],
|
1284
|
+
state: str,
|
1285
|
+
system_tags: Mapping[str, Any],
|
1286
|
+
time_created: str,
|
1287
|
+
time_deprecated: str,
|
1288
|
+
time_updated: str,
|
1289
|
+
type: str,
|
1290
|
+
vendor: str,
|
1291
|
+
version: str):
|
1292
|
+
"""
|
1293
|
+
:param str base_model_id: The OCID of the base model that's used for fine-tuning. For pretrained models, the value is null.
|
1294
|
+
:param Sequence[str] capabilities: Describes what this model can be used for.
|
1295
|
+
:param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
1296
|
+
:param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
1297
|
+
:param str description: An optional description of the model.
|
1298
|
+
:param str display_name: A filter to return only resources that match the given display name exactly.
|
1299
|
+
:param Sequence['GetModelsModelCollectionItemFineTuneDetailArgs'] fine_tune_details: Details about fine-tuning a custom model.
|
1300
|
+
:param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
1301
|
+
:param str id: The ID of the model.
|
1302
|
+
:param bool is_long_term_supported: Whether a model is supported long-term. Only applicable to base models.
|
1303
|
+
:param str lifecycle_details: A message describing the current state of the model in more detail that can provide actionable information.
|
1304
|
+
:param Sequence['GetModelsModelCollectionItemModelMetricArgs'] model_metrics: Model metrics during the creation of a new model.
|
1305
|
+
:param str state: A filter to return only resources their lifecycleState matches the given lifecycleState.
|
1306
|
+
:param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
1307
|
+
:param str time_created: The date and time that the model was created in the format of an RFC3339 datetime string.
|
1308
|
+
:param str time_deprecated: Corresponds to the time when the custom model and its associated foundation model will be deprecated.
|
1309
|
+
:param str time_updated: The date and time that the model was updated in the format of an RFC3339 datetime string.
|
1310
|
+
:param str type: The model type indicating whether this is a pretrained/base model or a custom/fine-tuned model.
|
1311
|
+
:param str vendor: A filter to return only resources that match the entire vendor given.
|
1312
|
+
:param str version: The version of the model.
|
1313
|
+
"""
|
1314
|
+
pulumi.set(__self__, "base_model_id", base_model_id)
|
1315
|
+
pulumi.set(__self__, "capabilities", capabilities)
|
1316
|
+
pulumi.set(__self__, "compartment_id", compartment_id)
|
1317
|
+
pulumi.set(__self__, "defined_tags", defined_tags)
|
1318
|
+
pulumi.set(__self__, "description", description)
|
1319
|
+
pulumi.set(__self__, "display_name", display_name)
|
1320
|
+
pulumi.set(__self__, "fine_tune_details", fine_tune_details)
|
1321
|
+
pulumi.set(__self__, "freeform_tags", freeform_tags)
|
1322
|
+
pulumi.set(__self__, "id", id)
|
1323
|
+
pulumi.set(__self__, "is_long_term_supported", is_long_term_supported)
|
1324
|
+
pulumi.set(__self__, "lifecycle_details", lifecycle_details)
|
1325
|
+
pulumi.set(__self__, "model_metrics", model_metrics)
|
1326
|
+
pulumi.set(__self__, "state", state)
|
1327
|
+
pulumi.set(__self__, "system_tags", system_tags)
|
1328
|
+
pulumi.set(__self__, "time_created", time_created)
|
1329
|
+
pulumi.set(__self__, "time_deprecated", time_deprecated)
|
1330
|
+
pulumi.set(__self__, "time_updated", time_updated)
|
1331
|
+
pulumi.set(__self__, "type", type)
|
1332
|
+
pulumi.set(__self__, "vendor", vendor)
|
1333
|
+
pulumi.set(__self__, "version", version)
|
1334
|
+
|
1335
|
+
@property
|
1336
|
+
@pulumi.getter(name="baseModelId")
|
1337
|
+
def base_model_id(self) -> str:
|
1338
|
+
"""
|
1339
|
+
The OCID of the base model that's used for fine-tuning. For pretrained models, the value is null.
|
1340
|
+
"""
|
1341
|
+
return pulumi.get(self, "base_model_id")
|
1342
|
+
|
1343
|
+
@property
|
1344
|
+
@pulumi.getter
|
1345
|
+
def capabilities(self) -> Sequence[str]:
|
1346
|
+
"""
|
1347
|
+
Describes what this model can be used for.
|
1348
|
+
"""
|
1349
|
+
return pulumi.get(self, "capabilities")
|
1350
|
+
|
1351
|
+
@property
|
1352
|
+
@pulumi.getter(name="compartmentId")
|
1353
|
+
def compartment_id(self) -> str:
|
1354
|
+
"""
|
1355
|
+
The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
|
1356
|
+
"""
|
1357
|
+
return pulumi.get(self, "compartment_id")
|
1358
|
+
|
1359
|
+
@property
|
1360
|
+
@pulumi.getter(name="definedTags")
|
1361
|
+
def defined_tags(self) -> Mapping[str, Any]:
|
1362
|
+
"""
|
1363
|
+
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
|
1364
|
+
"""
|
1365
|
+
return pulumi.get(self, "defined_tags")
|
1366
|
+
|
1367
|
+
@property
|
1368
|
+
@pulumi.getter
|
1369
|
+
def description(self) -> str:
|
1370
|
+
"""
|
1371
|
+
An optional description of the model.
|
1372
|
+
"""
|
1373
|
+
return pulumi.get(self, "description")
|
1374
|
+
|
1375
|
+
@property
|
1376
|
+
@pulumi.getter(name="displayName")
|
1377
|
+
def display_name(self) -> str:
|
1378
|
+
"""
|
1379
|
+
A filter to return only resources that match the given display name exactly.
|
1380
|
+
"""
|
1381
|
+
return pulumi.get(self, "display_name")
|
1382
|
+
|
1383
|
+
@property
|
1384
|
+
@pulumi.getter(name="fineTuneDetails")
|
1385
|
+
def fine_tune_details(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailResult']:
|
1386
|
+
"""
|
1387
|
+
Details about fine-tuning a custom model.
|
1388
|
+
"""
|
1389
|
+
return pulumi.get(self, "fine_tune_details")
|
1390
|
+
|
1391
|
+
@property
|
1392
|
+
@pulumi.getter(name="freeformTags")
|
1393
|
+
def freeform_tags(self) -> Mapping[str, Any]:
|
1394
|
+
"""
|
1395
|
+
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
|
1396
|
+
"""
|
1397
|
+
return pulumi.get(self, "freeform_tags")
|
1398
|
+
|
1399
|
+
@property
|
1400
|
+
@pulumi.getter
|
1401
|
+
def id(self) -> str:
|
1402
|
+
"""
|
1403
|
+
The ID of the model.
|
1404
|
+
"""
|
1405
|
+
return pulumi.get(self, "id")
|
1406
|
+
|
1407
|
+
@property
|
1408
|
+
@pulumi.getter(name="isLongTermSupported")
|
1409
|
+
def is_long_term_supported(self) -> bool:
|
1410
|
+
"""
|
1411
|
+
Whether a model is supported long-term. Only applicable to base models.
|
1412
|
+
"""
|
1413
|
+
return pulumi.get(self, "is_long_term_supported")
|
1414
|
+
|
1415
|
+
@property
|
1416
|
+
@pulumi.getter(name="lifecycleDetails")
|
1417
|
+
def lifecycle_details(self) -> str:
|
1418
|
+
"""
|
1419
|
+
A message describing the current state of the model in more detail that can provide actionable information.
|
1420
|
+
"""
|
1421
|
+
return pulumi.get(self, "lifecycle_details")
|
1422
|
+
|
1423
|
+
@property
|
1424
|
+
@pulumi.getter(name="modelMetrics")
|
1425
|
+
def model_metrics(self) -> Sequence['outputs.GetModelsModelCollectionItemModelMetricResult']:
|
1426
|
+
"""
|
1427
|
+
Model metrics during the creation of a new model.
|
1428
|
+
"""
|
1429
|
+
return pulumi.get(self, "model_metrics")
|
1430
|
+
|
1431
|
+
@property
|
1432
|
+
@pulumi.getter
|
1433
|
+
def state(self) -> str:
|
1434
|
+
"""
|
1435
|
+
A filter to return only resources their lifecycleState matches the given lifecycleState.
|
1436
|
+
"""
|
1437
|
+
return pulumi.get(self, "state")
|
1438
|
+
|
1439
|
+
@property
|
1440
|
+
@pulumi.getter(name="systemTags")
|
1441
|
+
def system_tags(self) -> Mapping[str, Any]:
|
1442
|
+
"""
|
1443
|
+
System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
|
1444
|
+
"""
|
1445
|
+
return pulumi.get(self, "system_tags")
|
1446
|
+
|
1447
|
+
@property
|
1448
|
+
@pulumi.getter(name="timeCreated")
|
1449
|
+
def time_created(self) -> str:
|
1450
|
+
"""
|
1451
|
+
The date and time that the model was created in the format of an RFC3339 datetime string.
|
1452
|
+
"""
|
1453
|
+
return pulumi.get(self, "time_created")
|
1454
|
+
|
1455
|
+
@property
|
1456
|
+
@pulumi.getter(name="timeDeprecated")
|
1457
|
+
def time_deprecated(self) -> str:
|
1458
|
+
"""
|
1459
|
+
Corresponds to the time when the custom model and its associated foundation model will be deprecated.
|
1460
|
+
"""
|
1461
|
+
return pulumi.get(self, "time_deprecated")
|
1462
|
+
|
1463
|
+
@property
|
1464
|
+
@pulumi.getter(name="timeUpdated")
|
1465
|
+
def time_updated(self) -> str:
|
1466
|
+
"""
|
1467
|
+
The date and time that the model was updated in the format of an RFC3339 datetime string.
|
1468
|
+
"""
|
1469
|
+
return pulumi.get(self, "time_updated")
|
1470
|
+
|
1471
|
+
@property
|
1472
|
+
@pulumi.getter
|
1473
|
+
def type(self) -> str:
|
1474
|
+
"""
|
1475
|
+
The model type indicating whether this is a pretrained/base model or a custom/fine-tuned model.
|
1476
|
+
"""
|
1477
|
+
return pulumi.get(self, "type")
|
1478
|
+
|
1479
|
+
@property
|
1480
|
+
@pulumi.getter
|
1481
|
+
def vendor(self) -> str:
|
1482
|
+
"""
|
1483
|
+
A filter to return only resources that match the entire vendor given.
|
1484
|
+
"""
|
1485
|
+
return pulumi.get(self, "vendor")
|
1486
|
+
|
1487
|
+
@property
|
1488
|
+
@pulumi.getter
|
1489
|
+
def version(self) -> str:
|
1490
|
+
"""
|
1491
|
+
The version of the model.
|
1492
|
+
"""
|
1493
|
+
return pulumi.get(self, "version")
|
1494
|
+
|
1495
|
+
|
1496
|
+
@pulumi.output_type
|
1497
|
+
class GetModelsModelCollectionItemFineTuneDetailResult(dict):
|
1498
|
+
def __init__(__self__, *,
|
1499
|
+
dedicated_ai_cluster_id: str,
|
1500
|
+
training_configs: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult'],
|
1501
|
+
training_datasets: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult']):
|
1502
|
+
"""
|
1503
|
+
:param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
|
1504
|
+
:param Sequence['GetModelsModelCollectionItemFineTuneDetailTrainingConfigArgs'] training_configs: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
1505
|
+
:param Sequence['GetModelsModelCollectionItemFineTuneDetailTrainingDatasetArgs'] training_datasets: The dataset used to fine-tune the model.
|
1506
|
+
"""
|
1507
|
+
pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
|
1508
|
+
pulumi.set(__self__, "training_configs", training_configs)
|
1509
|
+
pulumi.set(__self__, "training_datasets", training_datasets)
|
1510
|
+
|
1511
|
+
@property
|
1512
|
+
@pulumi.getter(name="dedicatedAiClusterId")
|
1513
|
+
def dedicated_ai_cluster_id(self) -> str:
|
1514
|
+
"""
|
1515
|
+
The OCID of the dedicated AI cluster this fine-tuning runs on.
|
1516
|
+
"""
|
1517
|
+
return pulumi.get(self, "dedicated_ai_cluster_id")
|
1518
|
+
|
1519
|
+
@property
|
1520
|
+
@pulumi.getter(name="trainingConfigs")
|
1521
|
+
def training_configs(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult']:
|
1522
|
+
"""
|
1523
|
+
The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
1524
|
+
"""
|
1525
|
+
return pulumi.get(self, "training_configs")
|
1526
|
+
|
1527
|
+
@property
|
1528
|
+
@pulumi.getter(name="trainingDatasets")
|
1529
|
+
def training_datasets(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult']:
|
1530
|
+
"""
|
1531
|
+
The dataset used to fine-tune the model.
|
1532
|
+
"""
|
1533
|
+
return pulumi.get(self, "training_datasets")
|
1534
|
+
|
1535
|
+
|
1536
|
+
@pulumi.output_type
|
1537
|
+
class GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult(dict):
|
1538
|
+
def __init__(__self__, *,
|
1539
|
+
early_stopping_patience: int,
|
1540
|
+
early_stopping_threshold: float,
|
1541
|
+
learning_rate: float,
|
1542
|
+
log_model_metrics_interval_in_steps: int,
|
1543
|
+
num_of_last_layers: int,
|
1544
|
+
total_training_epochs: int,
|
1545
|
+
training_batch_size: int,
|
1546
|
+
training_config_type: str):
|
1547
|
+
"""
|
1548
|
+
:param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
1549
|
+
:param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
|
1550
|
+
:param float learning_rate: The initial learning rate to be used during training
|
1551
|
+
:param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
|
1552
|
+
:param int num_of_last_layers: The number of last layers to be fine-tuned.
|
1553
|
+
:param int total_training_epochs: The maximum number of training epochs to run for.
|
1554
|
+
:param int training_batch_size: The batch size used during training.
|
1555
|
+
:param str training_config_type: The fine-tuning method for training a custom model.
|
1556
|
+
"""
|
1557
|
+
pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
|
1558
|
+
pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
|
1559
|
+
pulumi.set(__self__, "learning_rate", learning_rate)
|
1560
|
+
pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
|
1561
|
+
pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
|
1562
|
+
pulumi.set(__self__, "total_training_epochs", total_training_epochs)
|
1563
|
+
pulumi.set(__self__, "training_batch_size", training_batch_size)
|
1564
|
+
pulumi.set(__self__, "training_config_type", training_config_type)
|
1565
|
+
|
1566
|
+
@property
|
1567
|
+
@pulumi.getter(name="earlyStoppingPatience")
|
1568
|
+
def early_stopping_patience(self) -> int:
|
1569
|
+
"""
|
1570
|
+
Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
1571
|
+
"""
|
1572
|
+
return pulumi.get(self, "early_stopping_patience")
|
1573
|
+
|
1574
|
+
@property
|
1575
|
+
@pulumi.getter(name="earlyStoppingThreshold")
|
1576
|
+
def early_stopping_threshold(self) -> float:
|
1577
|
+
"""
|
1578
|
+
How much the loss must improve to prevent early stopping.
|
1579
|
+
"""
|
1580
|
+
return pulumi.get(self, "early_stopping_threshold")
|
1581
|
+
|
1582
|
+
@property
|
1583
|
+
@pulumi.getter(name="learningRate")
|
1584
|
+
def learning_rate(self) -> float:
|
1585
|
+
"""
|
1586
|
+
The initial learning rate to be used during training
|
1587
|
+
"""
|
1588
|
+
return pulumi.get(self, "learning_rate")
|
1589
|
+
|
1590
|
+
@property
|
1591
|
+
@pulumi.getter(name="logModelMetricsIntervalInSteps")
|
1592
|
+
def log_model_metrics_interval_in_steps(self) -> int:
|
1593
|
+
"""
|
1594
|
+
Determines how frequently to log model metrics.
|
1595
|
+
"""
|
1596
|
+
return pulumi.get(self, "log_model_metrics_interval_in_steps")
|
1597
|
+
|
1598
|
+
@property
|
1599
|
+
@pulumi.getter(name="numOfLastLayers")
|
1600
|
+
def num_of_last_layers(self) -> int:
|
1601
|
+
"""
|
1602
|
+
The number of last layers to be fine-tuned.
|
1603
|
+
"""
|
1604
|
+
return pulumi.get(self, "num_of_last_layers")
|
1605
|
+
|
1606
|
+
@property
|
1607
|
+
@pulumi.getter(name="totalTrainingEpochs")
|
1608
|
+
def total_training_epochs(self) -> int:
|
1609
|
+
"""
|
1610
|
+
The maximum number of training epochs to run for.
|
1611
|
+
"""
|
1612
|
+
return pulumi.get(self, "total_training_epochs")
|
1613
|
+
|
1614
|
+
@property
|
1615
|
+
@pulumi.getter(name="trainingBatchSize")
|
1616
|
+
def training_batch_size(self) -> int:
|
1617
|
+
"""
|
1618
|
+
The batch size used during training.
|
1619
|
+
"""
|
1620
|
+
return pulumi.get(self, "training_batch_size")
|
1621
|
+
|
1622
|
+
@property
|
1623
|
+
@pulumi.getter(name="trainingConfigType")
|
1624
|
+
def training_config_type(self) -> str:
|
1625
|
+
"""
|
1626
|
+
The fine-tuning method for training a custom model.
|
1627
|
+
"""
|
1628
|
+
return pulumi.get(self, "training_config_type")
|
1629
|
+
|
1630
|
+
|
1631
|
+
@pulumi.output_type
|
1632
|
+
class GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult(dict):
|
1633
|
+
def __init__(__self__, *,
|
1634
|
+
bucket: str,
|
1635
|
+
dataset_type: str,
|
1636
|
+
namespace: str,
|
1637
|
+
object: str):
|
1638
|
+
"""
|
1639
|
+
:param str bucket: The Object Storage bucket name.
|
1640
|
+
:param str dataset_type: The type of the data asset.
|
1641
|
+
:param str namespace: The Object Storage namespace.
|
1642
|
+
:param str object: The Object Storage object name.
|
1643
|
+
"""
|
1644
|
+
pulumi.set(__self__, "bucket", bucket)
|
1645
|
+
pulumi.set(__self__, "dataset_type", dataset_type)
|
1646
|
+
pulumi.set(__self__, "namespace", namespace)
|
1647
|
+
pulumi.set(__self__, "object", object)
|
1648
|
+
|
1649
|
+
@property
|
1650
|
+
@pulumi.getter
|
1651
|
+
def bucket(self) -> str:
|
1652
|
+
"""
|
1653
|
+
The Object Storage bucket name.
|
1654
|
+
"""
|
1655
|
+
return pulumi.get(self, "bucket")
|
1656
|
+
|
1657
|
+
@property
|
1658
|
+
@pulumi.getter(name="datasetType")
|
1659
|
+
def dataset_type(self) -> str:
|
1660
|
+
"""
|
1661
|
+
The type of the data asset.
|
1662
|
+
"""
|
1663
|
+
return pulumi.get(self, "dataset_type")
|
1664
|
+
|
1665
|
+
@property
|
1666
|
+
@pulumi.getter
|
1667
|
+
def namespace(self) -> str:
|
1668
|
+
"""
|
1669
|
+
The Object Storage namespace.
|
1670
|
+
"""
|
1671
|
+
return pulumi.get(self, "namespace")
|
1672
|
+
|
1673
|
+
@property
|
1674
|
+
@pulumi.getter
|
1675
|
+
def object(self) -> str:
|
1676
|
+
"""
|
1677
|
+
The Object Storage object name.
|
1678
|
+
"""
|
1679
|
+
return pulumi.get(self, "object")
|
1680
|
+
|
1681
|
+
|
1682
|
+
@pulumi.output_type
|
1683
|
+
class GetModelsModelCollectionItemModelMetricResult(dict):
|
1684
|
+
def __init__(__self__, *,
|
1685
|
+
final_accuracy: float,
|
1686
|
+
final_loss: float,
|
1687
|
+
model_metrics_type: str):
|
1688
|
+
"""
|
1689
|
+
:param float final_accuracy: Fine-tuned model accuracy.
|
1690
|
+
:param float final_loss: Fine-tuned model loss.
|
1691
|
+
:param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
|
1692
|
+
"""
|
1693
|
+
pulumi.set(__self__, "final_accuracy", final_accuracy)
|
1694
|
+
pulumi.set(__self__, "final_loss", final_loss)
|
1695
|
+
pulumi.set(__self__, "model_metrics_type", model_metrics_type)
|
1696
|
+
|
1697
|
+
@property
|
1698
|
+
@pulumi.getter(name="finalAccuracy")
|
1699
|
+
def final_accuracy(self) -> float:
|
1700
|
+
"""
|
1701
|
+
Fine-tuned model accuracy.
|
1702
|
+
"""
|
1703
|
+
return pulumi.get(self, "final_accuracy")
|
1704
|
+
|
1705
|
+
@property
|
1706
|
+
@pulumi.getter(name="finalLoss")
|
1707
|
+
def final_loss(self) -> float:
|
1708
|
+
"""
|
1709
|
+
Fine-tuned model loss.
|
1710
|
+
"""
|
1711
|
+
return pulumi.get(self, "final_loss")
|
1712
|
+
|
1713
|
+
@property
|
1714
|
+
@pulumi.getter(name="modelMetricsType")
|
1715
|
+
def model_metrics_type(self) -> str:
|
1716
|
+
"""
|
1717
|
+
The type of the model metrics. Each type of model can expect a different set of model metrics.
|
1718
|
+
"""
|
1719
|
+
return pulumi.get(self, "model_metrics_type")
|
1720
|
+
|
1721
|
+
|