@zhuoyuezs/ml-platform 0.1.6 → 0.1.7
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.
package/checksums.json
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"path": "runtime/business-client/src/cli.js",
|
|
25
|
-
"sha256": "sha256:
|
|
26
|
-
"size_bytes":
|
|
25
|
+
"sha256": "sha256:ca7bbee61e83f4597c0da75fd3527f1ee43d5257fff07693b581987efeeaafd3",
|
|
26
|
+
"size_bytes": 41926
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"path": "runtime/business-client/src/config.js",
|
|
@@ -112,8 +112,8 @@
|
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"path": "skills/model-lifecycle-management/SKILL.md",
|
|
115
|
-
"sha256": "sha256:
|
|
116
|
-
"size_bytes":
|
|
115
|
+
"sha256": "sha256:48c60d20ab9203cde9681fc61a0515ce3f316ad674e4f349aa21e320127a7520",
|
|
116
|
+
"size_bytes": 2837
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"path": "skills/model-lifecycle-management/agents/openai.yaml",
|
|
@@ -132,8 +132,8 @@
|
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
"path": "skills/model-lifecycle-management/references/training.md",
|
|
135
|
-
"sha256": "sha256:
|
|
136
|
-
"size_bytes":
|
|
135
|
+
"sha256": "sha256:e6971f2ef9c2b8645388dd4bac4562408f7a7b1adb0b7171c7e6b4912ea48b50",
|
|
136
|
+
"size_bytes": 1852
|
|
137
137
|
}
|
|
138
138
|
],
|
|
139
139
|
"schema_version": "data_platform.ml_platform_checksums/v1"
|
package/package.json
CHANGED
package/release.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"entrypoint": "src/cli.js",
|
|
14
14
|
"name": "ml-platform",
|
|
15
15
|
"path": "runtime/business-client",
|
|
16
|
-
"sha256": "sha256:
|
|
16
|
+
"sha256": "sha256:bbb3c59d5d7e16f92e6496e5596e59af3af4fdf4f820487d9ceb6eb85ca0857b",
|
|
17
17
|
"version": "0.7.0"
|
|
18
18
|
},
|
|
19
19
|
"policy_sha256": "sha256:02fbde0134696b78c0c365d6e0b76c9814227208da5b2b3d4e5dbd82dc4a3606",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"ml_data_platform.feature_set/v1",
|
|
26
26
|
"ml_data_platform.dataset_manifest/v1"
|
|
27
27
|
],
|
|
28
|
-
"release_version": "0.1.
|
|
28
|
+
"release_version": "0.1.7",
|
|
29
29
|
"runtime_requirements": {
|
|
30
30
|
"node": ">=18",
|
|
31
31
|
"os": [
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"feature-management": {
|
|
39
39
|
"path": "skills/feature-management",
|
|
40
40
|
"requires_cli": ">=0.7.0 <0.8.0",
|
|
41
|
-
"revision": "0.1.
|
|
41
|
+
"revision": "0.1.7",
|
|
42
42
|
"sha256": "sha256:15131c1303b143373e4b8671301f5b884013a1906a44cfc85dd6f93f43c5d8c8"
|
|
43
43
|
},
|
|
44
44
|
"model-lifecycle-management": {
|
|
45
45
|
"path": "skills/model-lifecycle-management",
|
|
46
46
|
"requires_cli": ">=0.7.0 <0.8.0",
|
|
47
|
-
"revision": "0.1.
|
|
48
|
-
"sha256": "sha256:
|
|
47
|
+
"revision": "0.1.7",
|
|
48
|
+
"sha256": "sha256:b6eac3ac75a82cf27db2efe2daf2b5b8777c95a0841d48f93ada29ef08b8d8fe"
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
|
-
"source_commit": "
|
|
51
|
+
"source_commit": "62db427abfd17b9c8dc58964b03aec21927217b5"
|
|
52
52
|
}
|
|
@@ -24,7 +24,7 @@ const BUSINESS_COMMANDS = new Set([
|
|
|
24
24
|
"add-dataset", "update-dataset", "delete-dataset", "list-dataset-artifacts",
|
|
25
25
|
"register-operator", "show-operator-specs", "delete-operator", "run-operator",
|
|
26
26
|
"get-job", "wait-job", "retry-job", "cancel-job", "get-dataset-artifact", "download-dataset-artifact", "fetch-inference-data", "fetch-inference-context", "apply",
|
|
27
|
-
"register-trainer", "register-training-run", "validate-training-run", "submit-training-job", "get-training-job", "retry-training-job", "cancel-training-job",
|
|
27
|
+
"register-trainer", "list-trainer-definitions", "get-trainer-definition", "register-training-run", "validate-training-run", "submit-training-job", "get-training-job", "retry-training-job", "cancel-training-job",
|
|
28
28
|
"register-evaluation-config", "get-evaluation-config", "register-metric-definition", "get-metric-definition",
|
|
29
29
|
"register-executable-package", "verify-executable-package", "publish-executable-package",
|
|
30
30
|
"validate-evaluation-run", "submit-evaluation", "get-evaluation-run", "get-evaluation-job", "retry-evaluation-job", "cancel-evaluation-job", "list-evaluation-attempts",
|
|
@@ -94,6 +94,8 @@ const COMMAND_USAGE = {
|
|
|
94
94
|
"fetch-inference-data": "fetch-inference-data MANIFEST --cutoff-time TIMESTAMP [--max-workers N] [--max-source-lag-hours HOURS] [--no-validate-freshness] [--allow-missing]",
|
|
95
95
|
"fetch-inference-context": "fetch-inference-context REQUEST_JSON",
|
|
96
96
|
"register-trainer": "register-trainer DEFINITION_JSON",
|
|
97
|
+
"list-trainer-definitions": "list-trainer-definitions",
|
|
98
|
+
"get-trainer-definition": "get-trainer-definition NAME VERSION [--project PROJECT]",
|
|
97
99
|
"register-training-run": "register-training-run RUN_JSON",
|
|
98
100
|
"validate-training-run": "validate-training-run RUN_JSON",
|
|
99
101
|
"submit-training-job": "submit-training-job REQUEST_JSON",
|
|
@@ -352,7 +354,7 @@ async function runBusinessCli(argv) {
|
|
|
352
354
|
if (allPages && (rawLimit !== undefined || rawOffset !== undefined)) throw new Error("--all cannot be combined with --limit or --offset");
|
|
353
355
|
if (allPages) result = await fetchAll(client(options), `/${endpoint}/${encodeURIComponent(project)}/${encodeURIComponent(name)}`);
|
|
354
356
|
else { const limit = Number(rawLimit ?? 50); const offset = Number(rawOffset ?? 0); if (!Number.isInteger(limit) || limit < 1 || limit > 500) throw new Error("limit must be between 1 and 500"); if (!Number.isInteger(offset) || offset < 0) throw new Error("offset must be >= 0"); result = await client(options).get(`/${endpoint}/${encodeURIComponent(project)}/${encodeURIComponent(name)}`, { limit, offset }); }
|
|
355
|
-
} else if (options.command.startsWith("list-") && !["list-jobs", "list-dataset-artifacts"].includes(options.command)) {
|
|
357
|
+
} else if (options.command.startsWith("list-") && !["list-jobs", "list-dataset-artifacts", "list-trainer-definitions"].includes(options.command)) {
|
|
356
358
|
const endpoints = { "list-parameters": "/parameters", "list-operators": "/operators", "list-features": "/features", "list-feature-sets": "/feature-sets", "list-datasets": "/datasets" };
|
|
357
359
|
const project = take(rest, "--project");
|
|
358
360
|
const name = take(rest, "--name"); const version = take(rest, "--version");
|
|
@@ -437,6 +439,11 @@ async function runBusinessCli(argv) {
|
|
|
437
439
|
const request = { manifest: readDataset(manifest), cutoff_time: cutoffTime }; if (Object.keys(realtime).length) request.realtime_fetch = realtime; result = await client(options).post("/inference-data/fetch", request);
|
|
438
440
|
} else if (options.command === "fetch-inference-context") {
|
|
439
441
|
result = await client(options).post("/inference-data/context", readSpec(positional(rest, "request JSON")));
|
|
442
|
+
} else if (options.command === "list-trainer-definitions") {
|
|
443
|
+
result = await client(options).get("/trainer-definitions");
|
|
444
|
+
} else if (options.command === "get-trainer-definition") {
|
|
445
|
+
const name = positional(rest, "trainer name"); const version = positional(rest, "trainer version"); const project = take(rest, "--project", "default");
|
|
446
|
+
result = await client(options).get(`/trainer-definitions/${encodeURIComponent(project)}/${encodeURIComponent(name)}/${encodeURIComponent(version)}`);
|
|
440
447
|
} else if ({
|
|
441
448
|
"register-trainer": "/trainer-definitions", "register-training-run": "/training-runs", "validate-training-run": "/training-runs/validate",
|
|
442
449
|
"submit-training-job": "/training-jobs", "register-evaluation-config": "/evaluation-configs", "register-metric-definition": "/metric-definitions",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: model-lifecycle-management
|
|
3
|
-
description: Manage ITSMP model training, evaluation, and immutable model packaging through the deployed platform API. Use when a user asks to register a trainer, validate or submit a training run, inspect/retry/cancel training jobs, configure or run governed evaluation, inspect evaluation evidence, validate a ModelArtifact, or create and inspect a ModelPackage. Do not use for feature catalog authoring, dataset builds, model deployment, Kubernetes administration, or image release engineering.
|
|
3
|
+
description: Manage ITSMP model training, evaluation, and immutable model packaging through the deployed platform API. Use when a user asks to list or inspect registered TrainerDefinitions, register a trainer, validate or submit a training run, inspect/retry/cancel training jobs, configure or run governed evaluation, inspect evaluation evidence, validate a ModelArtifact, or create and inspect a ModelPackage. Do not use for feature catalog authoring, dataset builds, model deployment, Kubernetes administration, or image release engineering.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Model Lifecycle Management
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Training Commands
|
|
2
2
|
|
|
3
|
+
Discover already-registered TrainerDefinitions (read-only) before authoring a
|
|
4
|
+
TrainingRunSpec or deciding whether registration is needed:
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
ml-platform --profile server list-trainer-definitions
|
|
8
|
+
ml-platform --profile server get-trainer-definition <name> <version> [--project default]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`get-trainer-definition` returns the entrypoint, immutable training image digest,
|
|
12
|
+
`artifact_format`, `model_file`, capabilities, and parameter schema. Use it to confirm
|
|
13
|
+
the referenced `v1` definition exists and its image digest matches the approved runtime
|
|
14
|
+
release; discovery never mutates the registry. Registering a new definition is the
|
|
15
|
+
separate mutation below, and a 404 means the definition (not the model plugin) is missing.
|
|
16
|
+
|
|
3
17
|
```bash
|
|
4
18
|
ml-platform --profile server register-trainer trainer-definition.json
|
|
5
19
|
ml-platform --profile server validate-training-run training-run.json
|