oracle-ads 2.13.18__py3-none-any.whl → 2.13.19__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/common/entities.py +107 -19
- ads/aqua/common/utils.py +108 -59
- ads/aqua/modeldeployment/deployment.py +12 -2
- ads/aqua/modeldeployment/model_group_config.py +3 -3
- {oracle_ads-2.13.18.dist-info → oracle_ads-2.13.19.dist-info}/METADATA +1 -1
- {oracle_ads-2.13.18.dist-info → oracle_ads-2.13.19.dist-info}/RECORD +9 -9
- {oracle_ads-2.13.18.dist-info → oracle_ads-2.13.19.dist-info}/WHEEL +0 -0
- {oracle_ads-2.13.18.dist-info → oracle_ads-2.13.19.dist-info}/entry_points.txt +0 -0
- {oracle_ads-2.13.18.dist-info → oracle_ads-2.13.19.dist-info}/licenses/LICENSE.txt +0 -0
ads/aqua/common/entities.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
4
4
|
|
5
5
|
import re
|
6
|
-
from typing import Any, Dict, List, Optional
|
6
|
+
from typing import Any, Dict, List, Optional, Union
|
7
7
|
|
8
8
|
from oci.data_science.models import Model
|
9
9
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
@@ -245,55 +245,71 @@ class AquaMultiModelRef(Serializable):
|
|
245
245
|
"""
|
246
246
|
Lightweight model descriptor used for multi-model deployment.
|
247
247
|
|
248
|
-
This class
|
249
|
-
|
248
|
+
This class holds essential details required to fetch model metadata and deploy
|
249
|
+
individual models as part of a multi-model deployment group.
|
250
250
|
|
251
251
|
Attributes
|
252
252
|
----------
|
253
253
|
model_id : str
|
254
|
-
The unique identifier of the model.
|
254
|
+
The unique identifier (OCID) of the base model.
|
255
255
|
model_name : Optional[str]
|
256
|
-
|
256
|
+
Optional name for the model.
|
257
257
|
gpu_count : Optional[int]
|
258
|
-
Number of GPUs required for deployment.
|
258
|
+
Number of GPUs required to allocate for this model during deployment.
|
259
259
|
model_task : Optional[str]
|
260
|
-
The task
|
260
|
+
The machine learning task this model performs (e.g., text-generation, summarization).
|
261
|
+
Supported values are listed in `MultiModelSupportedTaskType`.
|
261
262
|
env_var : Optional[Dict[str, Any]]
|
262
|
-
Optional environment variables to
|
263
|
+
Optional dictionary of environment variables to inject into the runtime environment
|
264
|
+
of the model container.
|
265
|
+
params : Optional[Dict[str, Any]]
|
266
|
+
Optional dictionary of container-specific inference parameters to override.
|
267
|
+
These are typically framework-level flags required by the runtime backend.
|
268
|
+
For example, in vLLM containers, valid params may include:
|
269
|
+
`--tensor-parallel-size`, `--enforce-eager`, `--max-model-len`, etc.
|
263
270
|
artifact_location : Optional[str]
|
264
|
-
|
271
|
+
Relative path or URI of the model artifact inside the multi-model group folder.
|
265
272
|
fine_tune_weights : Optional[List[LoraModuleSpec]]
|
266
|
-
|
273
|
+
List of fine-tuned weight artifacts (e.g., LoRA modules) associated with this model.
|
267
274
|
"""
|
268
275
|
|
269
276
|
model_id: str = Field(..., description="The model OCID to deploy.")
|
270
|
-
model_name: Optional[str] = Field(None, description="The name of model.")
|
277
|
+
model_name: Optional[str] = Field(None, description="The name of the model.")
|
271
278
|
gpu_count: Optional[int] = Field(
|
272
|
-
None, description="The
|
279
|
+
None, description="The number of GPUs allocated for the model."
|
273
280
|
)
|
274
281
|
model_task: Optional[str] = Field(
|
275
282
|
None,
|
276
|
-
description="The task
|
283
|
+
description="The task this model performs. See `MultiModelSupportedTaskType` for supported values.",
|
277
284
|
)
|
278
285
|
env_var: Optional[dict] = Field(
|
279
|
-
default_factory=dict,
|
286
|
+
default_factory=dict,
|
287
|
+
description="Environment variables to override during container startup.",
|
288
|
+
)
|
289
|
+
params: Optional[dict] = Field(
|
290
|
+
default_factory=dict,
|
291
|
+
description=(
|
292
|
+
"Framework-specific startup parameters required by the container runtime. "
|
293
|
+
"For example, vLLM models may use flags like `--tensor-parallel-size`, `--enforce-eager`, etc."
|
294
|
+
),
|
280
295
|
)
|
281
296
|
artifact_location: Optional[str] = Field(
|
282
|
-
None,
|
297
|
+
None,
|
298
|
+
description="Path to the model artifact relative to the multi-model base folder.",
|
283
299
|
)
|
284
300
|
fine_tune_weights: Optional[List[LoraModuleSpec]] = Field(
|
285
301
|
None,
|
286
|
-
description="
|
302
|
+
description="List of fine-tuned weight modules (e.g., LoRA) associated with this base model.",
|
287
303
|
)
|
288
304
|
|
289
305
|
def all_model_ids(self) -> List[str]:
|
290
306
|
"""
|
291
|
-
Returns all
|
307
|
+
Returns all model OCIDs associated with this reference, including fine-tuned weights.
|
292
308
|
|
293
309
|
Returns
|
294
310
|
-------
|
295
311
|
List[str]
|
296
|
-
A list
|
312
|
+
A list containing the base model OCID and any fine-tuned module OCIDs.
|
297
313
|
"""
|
298
314
|
ids = {self.model_id}
|
299
315
|
if self.fine_tune_weights:
|
@@ -302,8 +318,80 @@ class AquaMultiModelRef(Serializable):
|
|
302
318
|
)
|
303
319
|
return list(ids)
|
304
320
|
|
321
|
+
@model_validator(mode="before")
|
322
|
+
@classmethod
|
323
|
+
def extract_params_from_env_var(cls, values: Dict[str, Any]) -> Dict[str, Any]:
|
324
|
+
"""
|
325
|
+
A model-level validator that extracts `PARAMS` from the `env_var` dictionary
|
326
|
+
and injects them into the `params` field as a dictionary.
|
327
|
+
|
328
|
+
This is useful for backward compatibility where users pass CLI-style
|
329
|
+
parameters via environment variables, e.g.:
|
330
|
+
env_var = { "PARAMS": "--max-model-len 65536 --enable-streaming" }
|
331
|
+
|
332
|
+
If `params` is already set, values from `PARAMS` in `env_var` are added
|
333
|
+
only if they do not override existing keys.
|
334
|
+
"""
|
335
|
+
env = values.get("env_var", {})
|
336
|
+
param_string = env.pop("PARAMS", None)
|
337
|
+
|
338
|
+
if param_string:
|
339
|
+
parsed_params = cls._parse_params(params=param_string)
|
340
|
+
existing_params = values.get("params", {}) or {}
|
341
|
+
# Avoid overriding existing keys
|
342
|
+
for k, v in parsed_params.items():
|
343
|
+
if k not in existing_params:
|
344
|
+
existing_params[k] = v
|
345
|
+
values["params"] = existing_params
|
346
|
+
values["env_var"] = env # cleaned up version without PARAMS
|
347
|
+
|
348
|
+
return values
|
349
|
+
|
350
|
+
@staticmethod
|
351
|
+
def _parse_params(params: Union[str, List[str]]) -> Dict[str, str]:
|
352
|
+
"""
|
353
|
+
Parses CLI-style parameters into a dictionary format.
|
354
|
+
|
355
|
+
This method accepts either:
|
356
|
+
- A single string of parameters (e.g., "--key1 val1 --key2 val2")
|
357
|
+
- A list of strings (e.g., ["--key1", "val1", "--key2", "val2"])
|
358
|
+
|
359
|
+
Returns a dictionary of the form { "key1": "val1", "key2": "val2" }.
|
360
|
+
|
361
|
+
Parameters
|
362
|
+
----------
|
363
|
+
params : Union[str, List[str]]
|
364
|
+
The parameters to parse. Can be a single string or a list of strings.
|
365
|
+
|
366
|
+
Returns
|
367
|
+
-------
|
368
|
+
Dict[str, str]
|
369
|
+
Dictionary with parameter names as keys and their corresponding values as strings.
|
370
|
+
"""
|
371
|
+
if not params or not isinstance(params, (str, list)):
|
372
|
+
return {}
|
373
|
+
|
374
|
+
# Normalize string to list of "--key value" strings
|
375
|
+
if isinstance(params, str):
|
376
|
+
params_list = [
|
377
|
+
f"--{param.strip()}" for param in params.split("--") if param.strip()
|
378
|
+
]
|
379
|
+
else:
|
380
|
+
params_list = params
|
381
|
+
|
382
|
+
parsed = {}
|
383
|
+
for item in params_list:
|
384
|
+
parts = item.strip().split()
|
385
|
+
if not parts:
|
386
|
+
continue
|
387
|
+
key = parts[0]
|
388
|
+
value = " ".join(parts[1:]) if len(parts) > 1 else ""
|
389
|
+
parsed[key] = value
|
390
|
+
|
391
|
+
return parsed
|
392
|
+
|
305
393
|
class Config:
|
306
|
-
extra = "
|
394
|
+
extra = "allow"
|
307
395
|
protected_namespaces = ()
|
308
396
|
|
309
397
|
|
ads/aqua/common/utils.py
CHANGED
@@ -800,35 +800,49 @@ def is_service_managed_container(container):
|
|
800
800
|
|
801
801
|
|
802
802
|
def get_params_list(params: str) -> List[str]:
|
803
|
-
"""
|
803
|
+
"""
|
804
|
+
Parses a string of CLI-style double-dash parameters and returns them as a list.
|
804
805
|
|
805
806
|
Parameters
|
806
807
|
----------
|
807
|
-
params
|
808
|
-
string parameters
|
808
|
+
params : str
|
809
|
+
A single string containing parameters separated by the `--` delimiter.
|
809
810
|
|
810
811
|
Returns
|
811
812
|
-------
|
812
|
-
|
813
|
+
List[str]
|
814
|
+
A list of parameter strings, each starting with `--`.
|
813
815
|
|
816
|
+
Example
|
817
|
+
-------
|
818
|
+
>>> get_params_list("--max-model-len 65536 --enforce-eager")
|
819
|
+
['--max-model-len 65536', '--enforce-eager']
|
814
820
|
"""
|
815
821
|
if not params:
|
816
822
|
return []
|
817
|
-
return ["--
|
823
|
+
return [f"--{param.strip()}" for param in params.split("--") if param.strip()]
|
818
824
|
|
819
825
|
|
820
826
|
def get_params_dict(params: Union[str, List[str]]) -> dict:
|
821
|
-
"""
|
827
|
+
"""
|
828
|
+
Converts CLI-style double-dash parameters (as string or list) into a dictionary.
|
822
829
|
|
823
830
|
Parameters
|
824
831
|
----------
|
825
|
-
params:
|
826
|
-
|
832
|
+
params : Union[str, List[str]]
|
833
|
+
Parameters provided either as:
|
834
|
+
- a single string: "--key1 val1 --key2 val2"
|
835
|
+
- a list of strings: ["--key1 val1", "--key2 val2"]
|
827
836
|
|
828
837
|
Returns
|
829
838
|
-------
|
830
|
-
|
839
|
+
dict
|
840
|
+
A dictionary mapping parameter names to their values. If no value is found, uses `UNKNOWN`.
|
831
841
|
|
842
|
+
Example
|
843
|
+
-------
|
844
|
+
>>> get_params_dict("--max-model-len 65536 --enforce-eager")
|
845
|
+
{'--max-model-len': '65536', '--enforce-eager': ''}
|
832
846
|
"""
|
833
847
|
params_list = get_params_list(params) if isinstance(params, str) else params
|
834
848
|
return {
|
@@ -839,35 +853,43 @@ def get_params_dict(params: Union[str, List[str]]) -> dict:
|
|
839
853
|
}
|
840
854
|
|
841
855
|
|
842
|
-
def get_combined_params(
|
856
|
+
def get_combined_params(
|
857
|
+
params1: Optional[str] = None, params2: Optional[str] = None
|
858
|
+
) -> str:
|
843
859
|
"""
|
844
|
-
|
860
|
+
Merges two double-dash parameter strings (`--param value`) into one, with values from `params2`
|
861
|
+
overriding any duplicates from `params1`.
|
862
|
+
|
845
863
|
Parameters
|
846
864
|
----------
|
847
|
-
params1:
|
848
|
-
|
849
|
-
params2:
|
850
|
-
|
865
|
+
params1 : Optional[str]
|
866
|
+
The base parameter string. Can be None.
|
867
|
+
params2 : Optional[str]
|
868
|
+
The override parameter string. Parameters in this string will override those in `params1`.
|
851
869
|
|
852
870
|
Returns
|
853
871
|
-------
|
854
|
-
|
872
|
+
str
|
873
|
+
A combined parameter string with deduplicated keys and overridden values from `params2`.
|
855
874
|
"""
|
875
|
+
if not params1 and not params2:
|
876
|
+
return ""
|
877
|
+
|
878
|
+
# If only one string is provided, return it directly
|
856
879
|
if not params1:
|
857
|
-
return params2
|
880
|
+
return params2.strip()
|
858
881
|
if not params2:
|
859
|
-
return params1
|
860
|
-
|
861
|
-
#
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
]
|
882
|
+
return params1.strip()
|
883
|
+
|
884
|
+
# Combine both dictionaries, with params2 overriding params1
|
885
|
+
merged_dict = {**get_params_dict(params1), **get_params_dict(params2)}
|
886
|
+
|
887
|
+
# Reconstruct the string
|
888
|
+
combined = " ".join(
|
889
|
+
f"{key} {value}" if value else key for key, value in merged_dict.items()
|
890
|
+
)
|
869
891
|
|
870
|
-
return
|
892
|
+
return combined.strip()
|
871
893
|
|
872
894
|
|
873
895
|
def find_restricted_params(
|
@@ -905,28 +927,46 @@ def find_restricted_params(
|
|
905
927
|
return restricted_params
|
906
928
|
|
907
929
|
|
908
|
-
def build_params_string(params:
|
909
|
-
"""
|
930
|
+
def build_params_string(params: Optional[Dict[str, Any]]) -> str:
|
931
|
+
"""
|
932
|
+
Converts a dictionary of CLI parameters into a command-line friendly string.
|
933
|
+
|
934
|
+
This is typically used to transform framework-specific model parameters (e.g., vLLM or TGI flags)
|
935
|
+
into a space-separated string that can be passed to container startup commands.
|
910
936
|
|
911
937
|
Parameters
|
912
938
|
----------
|
913
|
-
params:
|
914
|
-
|
939
|
+
params : Optional[Dict[str, Any]]
|
940
|
+
Dictionary containing parameter name as keys (e.g., "--max-model-len") and their corresponding values.
|
941
|
+
If a parameter does not require a value (e.g., a boolean flag), its value can be None or an empty string.
|
915
942
|
|
916
943
|
Returns
|
917
944
|
-------
|
918
|
-
|
945
|
+
str
|
946
|
+
A space-separated string of CLI arguments.
|
947
|
+
Returns "<unknown>" if the input dictionary is None or empty.
|
948
|
+
|
949
|
+
Example
|
950
|
+
-------
|
951
|
+
>>> build_params_string({"--max-model-len": 4096, "--enforce-eager": None})
|
952
|
+
'--max-model-len 4096 --enforce-eager'
|
919
953
|
"""
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
954
|
+
if not params:
|
955
|
+
return UNKNOWN
|
956
|
+
|
957
|
+
parts = []
|
958
|
+
for key, value in params.items():
|
959
|
+
if value is None or value == "":
|
960
|
+
parts.append(str(key))
|
961
|
+
else:
|
962
|
+
parts.append(f"{key} {value}")
|
963
|
+
|
964
|
+
return " ".join(parts).strip()
|
927
965
|
|
928
966
|
|
929
|
-
def copy_model_config(
|
967
|
+
def copy_model_config(
|
968
|
+
artifact_path: str, os_path: str, auth: Optional[Dict[str, Any]] = None
|
969
|
+
):
|
930
970
|
"""Copies the aqua model config folder from the artifact path to the user provided object storage path.
|
931
971
|
The config folder is overwritten if the files already exist at the destination path.
|
932
972
|
|
@@ -1202,36 +1242,45 @@ def parse_cmd_var(cmd_list: List[str]) -> dict:
|
|
1202
1242
|
return parsed_cmd
|
1203
1243
|
|
1204
1244
|
|
1205
|
-
def validate_cmd_var(
|
1206
|
-
|
1207
|
-
|
1245
|
+
def validate_cmd_var(
|
1246
|
+
cmd_var: Optional[List[str]], overrides: Optional[List[str]]
|
1247
|
+
) -> List[str]:
|
1248
|
+
"""
|
1249
|
+
Validates and combines two lists of command-line parameters. Raises an error if any parameter
|
1250
|
+
key in the `overrides` list already exists in the `cmd_var` list, preventing unintended overrides.
|
1251
|
+
|
1208
1252
|
Parameters
|
1209
1253
|
----------
|
1210
|
-
cmd_var: List[str]
|
1211
|
-
|
1212
|
-
overrides: List[str]
|
1213
|
-
|
1254
|
+
cmd_var : Optional[List[str]]
|
1255
|
+
The default list of command-line parameters (e.g., ["--param1", "value1", "--flag"]).
|
1256
|
+
overrides : Optional[List[str]]
|
1257
|
+
The list of overriding command-line parameters.
|
1258
|
+
|
1214
1259
|
Returns
|
1215
1260
|
-------
|
1216
|
-
|
1261
|
+
List[str]
|
1262
|
+
A validated and combined list of parameters, with overrides appended.
|
1263
|
+
|
1264
|
+
Raises
|
1265
|
+
------
|
1266
|
+
AquaValueError
|
1267
|
+
If `overrides` contain any parameter keys that already exist in `cmd_var`.
|
1217
1268
|
"""
|
1218
|
-
cmd_var = [str(x) for x in cmd_var]
|
1219
|
-
|
1220
|
-
return cmd_var
|
1221
|
-
overrides = [str(x) for x in overrides]
|
1269
|
+
cmd_var = [str(x).strip() for x in cmd_var or []]
|
1270
|
+
overrides = [str(x).strip() for x in overrides or []]
|
1222
1271
|
|
1223
1272
|
cmd_dict = parse_cmd_var(cmd_var)
|
1224
1273
|
overrides_dict = parse_cmd_var(overrides)
|
1225
1274
|
|
1226
|
-
#
|
1227
|
-
|
1228
|
-
if
|
1275
|
+
# Check for conflicting keys
|
1276
|
+
conflicting_keys = set(cmd_dict.keys()) & set(overrides_dict.keys())
|
1277
|
+
if conflicting_keys:
|
1229
1278
|
raise AquaValueError(
|
1230
|
-
f"
|
1279
|
+
f"Cannot override the following model deployment parameters: {', '.join(sorted(conflicting_keys))}"
|
1231
1280
|
)
|
1232
1281
|
|
1233
|
-
|
1234
|
-
return
|
1282
|
+
combined_params = cmd_var + overrides
|
1283
|
+
return combined_params
|
1235
1284
|
|
1236
1285
|
|
1237
1286
|
def build_pydantic_error_message(ex: ValidationError):
|
@@ -520,10 +520,20 @@ class AquaDeploymentApp(AquaApp):
|
|
520
520
|
|
521
521
|
deployment_config = self.get_deployment_config(model_id=config_source_id)
|
522
522
|
|
523
|
+
# Loads frameworks specific default params from the configuration
|
523
524
|
config_params = deployment_config.configuration.get(
|
524
525
|
create_deployment_details.instance_shape, ConfigurationItem()
|
525
526
|
).parameters.get(get_container_params_type(container_type_key), UNKNOWN)
|
526
527
|
|
528
|
+
# Loads default environment variables from the configuration
|
529
|
+
config_env = deployment_config.configuration.get(
|
530
|
+
create_deployment_details.instance_shape, ConfigurationItem()
|
531
|
+
).env.get(get_container_params_type(container_type_key), {})
|
532
|
+
|
533
|
+
# Merges user provided environment variables with the ones provided in the deployment config
|
534
|
+
# The values provided by user will override the ones provided by default config
|
535
|
+
env_var = {**config_env, **env_var}
|
536
|
+
|
527
537
|
# validate user provided params
|
528
538
|
user_params = env_var.get("PARAMS", UNKNOWN)
|
529
539
|
|
@@ -643,8 +653,8 @@ class AquaDeploymentApp(AquaApp):
|
|
643
653
|
|
644
654
|
env_var.update({AQUA_MULTI_MODEL_CONFIG: multi_model_config.model_dump_json()})
|
645
655
|
|
646
|
-
|
647
|
-
for env in
|
656
|
+
container_spec_env_vars = container_spec.env_vars if container_spec else []
|
657
|
+
for env in container_spec_env_vars:
|
648
658
|
if isinstance(env, dict):
|
649
659
|
env = {k: v for k, v in env.items() if v}
|
650
660
|
for key, _ in env.items():
|
@@ -130,7 +130,7 @@ class ModelGroupConfig(Serializable):
|
|
130
130
|
Validates if user-provided parameters override pre-set parameters by AQUA.
|
131
131
|
Updates model name and TP size parameters to user-provided parameters.
|
132
132
|
"""
|
133
|
-
user_params = build_params_string(model.
|
133
|
+
user_params = build_params_string(model.params)
|
134
134
|
if user_params:
|
135
135
|
restricted_params = find_restricted_params(
|
136
136
|
container_params, user_params, container_type_key
|
@@ -138,8 +138,8 @@ class ModelGroupConfig(Serializable):
|
|
138
138
|
if restricted_params:
|
139
139
|
selected_model = model.model_name or model.model_id
|
140
140
|
raise AquaValueError(
|
141
|
-
f"Parameters {restricted_params} are set by
|
142
|
-
f"and cannot be overridden or are invalid."
|
141
|
+
f"Parameters {restricted_params} are set by AI Quick Actions "
|
142
|
+
f"and cannot be overridden or are invalid. "
|
143
143
|
f"Select other parameters for model {selected_model}."
|
144
144
|
)
|
145
145
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: oracle_ads
|
3
|
-
Version: 2.13.
|
3
|
+
Version: 2.13.19
|
4
4
|
Summary: Oracle Accelerated Data Science SDK
|
5
5
|
Keywords: Oracle Cloud Infrastructure,OCI,Machine Learning,ML,Artificial Intelligence,AI,Data Science,Cloud,Oracle,GenAI,Generative AI,Forecast,Anomaly,Document Understanding,Anomaly Detection
|
6
6
|
Author: Oracle Data Science
|
@@ -13,10 +13,10 @@ ads/aqua/client/client.py,sha256=PzbIscVclkVwvfQWyKyRZjRCcT3cXE6bdSkMaMQMomI,327
|
|
13
13
|
ads/aqua/client/openai_client.py,sha256=JxSmjaeBb7jG8ARH6LdmsWGip467V0y6_mo2YwiiZz4,12921
|
14
14
|
ads/aqua/common/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi-PGKetcZdxZSn3_0,204
|
15
15
|
ads/aqua/common/decorator.py,sha256=JEN6Cy4DYgQbmIR3ShCjTuBMCnilDxq7jkYMJse1rcM,4112
|
16
|
-
ads/aqua/common/entities.py,sha256=
|
16
|
+
ads/aqua/common/entities.py,sha256=qF74hz2uac3T-4Y92_swTBmW1uimRGbx_RhTCN6M4K0,16937
|
17
17
|
ads/aqua/common/enums.py,sha256=hl52JrT8SRQLKZ3sdw12wA2u0PdpnQQW4bejmIvtIsY,4695
|
18
18
|
ads/aqua/common/errors.py,sha256=T2jf8RiXSiU6deRoynvmyVsmZj3xJfOBlNudQcdx980,3294
|
19
|
-
ads/aqua/common/utils.py,sha256=
|
19
|
+
ads/aqua/common/utils.py,sha256=HTl-A0NCwpMOhIegNihlanxr9v0uQwad3aYqTU87x1I,47964
|
20
20
|
ads/aqua/config/__init__.py,sha256=2a_1LI4jWtJpbic5_v4EoOUTXCAH7cmsy9BW5prDHjU,179
|
21
21
|
ads/aqua/config/container_config.py,sha256=2N65TZNpqlpKJ9I4U9_v9bB_MoP4xsmEo8V4W1iZj9M,9882
|
22
22
|
ads/aqua/config/evaluation/__init__.py,sha256=2a_1LI4jWtJpbic5_v4EoOUTXCAH7cmsy9BW5prDHjU,179
|
@@ -63,9 +63,9 @@ ads/aqua/model/utils.py,sha256=gFJVWdQvF4GfyamL4m5u62gOidJC7UXXkQwqXCUIoUo,2016
|
|
63
63
|
ads/aqua/modeldeployment/__init__.py,sha256=k5fGG2b6mae-uiQyuTAHqPjlzcUyJ4NFaF-uoMnK5Uc,277
|
64
64
|
ads/aqua/modeldeployment/config_loader.py,sha256=B-jIQ_rys1aRwprIDV8LEY3OOnBoacvUcOAvsZzNM5g,32201
|
65
65
|
ads/aqua/modeldeployment/constants.py,sha256=WaD1hfbuWGg2flhRJxQkftpy6pFsEg8bCEXtm0WWP2E,357
|
66
|
-
ads/aqua/modeldeployment/deployment.py,sha256=
|
66
|
+
ads/aqua/modeldeployment/deployment.py,sha256=RF0S4dQ-xaTGfLxduHYJGFh8E3qO8z_2WOAppmyu5vI,59478
|
67
67
|
ads/aqua/modeldeployment/entities.py,sha256=eisS3RCg8xauPddr2MPtq8WkGiu_yL01sOmuz7R2dGk,27566
|
68
|
-
ads/aqua/modeldeployment/model_group_config.py,sha256=
|
68
|
+
ads/aqua/modeldeployment/model_group_config.py,sha256=tiQNsxqpHADKPTtVbTAMj8v3wN-Y6lFjPkx66yDBuBA,9271
|
69
69
|
ads/aqua/modeldeployment/utils.py,sha256=yPUNGDlyHB7JYalqsczimlkPjf4l8f_NprRORp7nBVE,212
|
70
70
|
ads/aqua/resources/gpu_shapes_index.json,sha256=uyLKK8FBNDv45axzILVlbWbxsfNl2A1l5LJ2pRe1aa0,7491
|
71
71
|
ads/aqua/server/__init__.py,sha256=fswoO0kX0hrp2b1owF4f-bv_OodntvvUY3FvhL6FCMk,179
|
@@ -867,8 +867,8 @@ ads/type_discovery/unknown_detector.py,sha256=yZuYQReO7PUyoWZE7onhhtYaOg6088wf1y
|
|
867
867
|
ads/type_discovery/zipcode_detector.py,sha256=3AlETg_ZF4FT0u914WXvTT3F3Z6Vf51WiIt34yQMRbw,1421
|
868
868
|
ads/vault/__init__.py,sha256=x9tMdDAOdF5iDHk9u2di_K-ze5Nq068x25EWOBoWwqY,245
|
869
869
|
ads/vault/vault.py,sha256=hFBkpYE-Hfmzu1L0sQwUfYcGxpWmgG18JPndRl0NOXI,8624
|
870
|
-
oracle_ads-2.13.
|
871
|
-
oracle_ads-2.13.
|
872
|
-
oracle_ads-2.13.
|
873
|
-
oracle_ads-2.13.
|
874
|
-
oracle_ads-2.13.
|
870
|
+
oracle_ads-2.13.19.dist-info/entry_points.txt,sha256=9VFnjpQCsMORA4rVkvN8eH6D3uHjtegb9T911t8cqV0,35
|
871
|
+
oracle_ads-2.13.19.dist-info/licenses/LICENSE.txt,sha256=zoGmbfD1IdRKx834U0IzfFFFo5KoFK71TND3K9xqYqo,1845
|
872
|
+
oracle_ads-2.13.19.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
873
|
+
oracle_ads-2.13.19.dist-info/METADATA,sha256=azUVd7xrB_nXSNAk_SsmBBxjIcQ9IH8wZsKCk-RKDhc,16994
|
874
|
+
oracle_ads-2.13.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|