@zhuoyuezs/ml-platform 0.2.8 → 0.2.9
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/CI-ARTIFACT.md +2 -2
- package/checksums.json +36 -36
- package/package.json +1 -1
- package/release.json +18 -18
- package/runtime/business-client/README.md +64 -4
- package/runtime/business-client/package-lock.json +2 -2
- package/runtime/business-client/package.json +1 -1
- package/runtime/business-client/src/catalog.js +25 -6
- package/runtime/business-client/src/cli.js +90 -6
- package/runtime/business-client/src/http.js +192 -32
- package/skills/feature-management/SKILL.md +17 -7
- package/skills/feature-management/references/commands.md +50 -7
- package/skills/feature-management/references/contracts.md +124 -6
- package/skills/feature-management/references/operator-authoring.md +116 -8
- package/skills/model-deployment-management/SKILL.md +3 -0
- package/skills/model-deployment-management/references/operations.md +14 -1
- package/skills/model-lifecycle-management/SKILL.md +16 -0
- package/skills/model-lifecycle-management/references/discovery.md +18 -3
- package/skills/model-lifecycle-management/references/evaluation.md +133 -0
- package/skills/model-lifecycle-management/references/packaging.md +46 -0
- package/skills/model-lifecycle-management/references/training-contracts.md +172 -1
- package/skills/model-lifecycle-management/references/training.md +26 -0
- package/skills/prediction-report-management/SKILL.md +40 -8
|
@@ -15,6 +15,11 @@ FeatureSet order and evaluation runtime before the first Job. See
|
|
|
15
15
|
do not try similar names or re-register trainers to bypass approval.
|
|
16
16
|
- ARIMA supports the v1 single-target adapter for single-channel CPU
|
|
17
17
|
forecasting; it does not support covariates or the v2 adapter.
|
|
18
|
+
- Clustering (`task.kind=clustering`) is unsupervised, CPU-only and tabular.
|
|
19
|
+
It uses TrainingRun v4 with `labels: []` and no temporal binding, optional
|
|
20
|
+
splits, and a strict parameter schema that includes train-fitted
|
|
21
|
+
`preprocessing`. Read the clustering section of
|
|
22
|
+
[training-contracts.md](training-contracts.md) before authoring the Run.
|
|
18
23
|
- Chronos-2 supports the legacy v1 single-target adapter and the v2
|
|
19
24
|
covariate-aware adapter. v2 jointly forecasts ordered target channels and
|
|
20
25
|
accepts numeric `past_only` and `known_future` covariates. Do not silently
|
|
@@ -87,6 +92,27 @@ ml-platform --profile server cancel-training-job <job-id>
|
|
|
87
92
|
|
|
88
93
|
Retry and cancellation require exact-Job authorization. Never change a run contract while retrying; create a new immutable run when semantic inputs change.
|
|
89
94
|
|
|
95
|
+
## Clustering training sequence
|
|
96
|
+
|
|
97
|
+
Every step below is a separate gate. Registration and submission still need
|
|
98
|
+
explicit authorization.
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
ml-platform --profile server get-system-model kmeans_clusterer v1 --project default
|
|
102
|
+
ml-platform --profile server validate-training-run cluster-run.json
|
|
103
|
+
ml-platform --profile server register-training-run cluster-run.json
|
|
104
|
+
ml-platform --profile server validate-training-job cluster-job-request.json
|
|
105
|
+
ml-platform --profile server submit-training-job cluster-job-request.json
|
|
106
|
+
ml-platform --profile server get-training-job <job-id>
|
|
107
|
+
ml-platform --profile server validate-model-artifact <artifact-id>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The Job request uses `"device": "cpu"`; clustering SystemModels advertise no
|
|
111
|
+
other device. Before submission, confirm that `effective_trainer_parameters`
|
|
112
|
+
equals the submitted `trainer.parameters`. After success, validate the exact
|
|
113
|
+
`status.artifact_id`; the artifact must carry clustering `output_bindings`
|
|
114
|
+
instead of `target_bindings`.
|
|
115
|
+
|
|
90
116
|
## Chronos-2 fine-tuning parameters
|
|
91
117
|
|
|
92
118
|
Configure Chronos-2 algorithm parameters only under
|
|
@@ -22,9 +22,12 @@ ml-platform --profile server get-prediction-report-run RUN_ID
|
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Check the deployment with `get-deployment DEPLOYMENT_ID` before creating a
|
|
25
|
-
schedule. The deployment must support `feature_lookup
|
|
26
|
-
inference horizon, supplied by either the
|
|
27
|
-
|
|
25
|
+
schedule. The deployment must support `feature_lookup`. A forecasting
|
|
26
|
+
deployment also needs a usable inference horizon, supplied by either the
|
|
27
|
+
schedule request or deployment policy. A clustering deployment (its model
|
|
28
|
+
artifact has `output_bindings`) has no horizon: omit `horizon` and
|
|
29
|
+
`output_window`, which are rejected. A report run may be `SKIPPED` when the
|
|
30
|
+
selected revision is not READY.
|
|
28
31
|
|
|
29
32
|
## Configure a destination
|
|
30
33
|
|
|
@@ -51,8 +54,11 @@ and a non-empty `body` object. This maps each normalized prediction point:
|
|
|
51
54
|
}
|
|
52
55
|
```
|
|
53
56
|
|
|
54
|
-
A point always has `series_index` and `value`; `target_time` is
|
|
55
|
-
when Serving returns it.
|
|
57
|
+
A forecast point always has `series_index` and `value`; `target_time` is
|
|
58
|
+
present only when Serving returns it. A clustering row has no `value`; it has
|
|
59
|
+
`series_index`, `kind: "clustering"`, integer `cluster_id`, the model's score
|
|
60
|
+
(`distance_to_center` or `cluster_probability`), and `model_artifact_id`, so
|
|
61
|
+
map those fields instead. A cluster ID is meaningful only for that artifact.
|
|
56
62
|
|
|
57
63
|
```bash
|
|
58
64
|
ml-platform --profile server validate-destination-profile PROFILE_JSON
|
|
@@ -80,9 +86,15 @@ and `type` for bounded transformations and validation. `timezone` is an IANA
|
|
|
80
86
|
timezone and must be used together with `format`; it converts an aware ISO-8601
|
|
81
87
|
timestamp before formatting. For a business endpoint that represents local
|
|
82
88
|
midnight as the end of the previous business day, set `midnight_as_24: true`
|
|
83
|
-
on
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
on both the business date field (`format: "%Y-%m-%d"`) and time field
|
|
90
|
+
(`format: "%H:%M"`), with `timezone: "Asia/Shanghai"` on each. At exact local
|
|
91
|
+
midnight, formatted dates move back one day and `%H` emits `24`; other times
|
|
92
|
+
are unchanged. For example, `2026-10-31T00:00:00+08:00` maps to date
|
|
93
|
+
`2026-10-30` and time `24:00`. Keep the timestamp mapped directly from
|
|
94
|
+
`target_time` and the MW field directly from `value`, without format or
|
|
95
|
+
numeric transforms. This leaves their original values unchanged. Keep
|
|
96
|
+
`midnight_as_24` unset on `origin_date` when it means the local cutoff date.
|
|
97
|
+
For example, use
|
|
86
98
|
`{"source":"cutoff_time","format":"%Y-%m-%d","timezone":"Asia/Shanghai"}`
|
|
87
99
|
to map `2026-09-10T16:00:00Z` to `2026-09-11`. Arbitrary code and expressions
|
|
88
100
|
are not supported. A missing field or type failure produces
|
|
@@ -101,6 +113,14 @@ pause, or resume. Use `enabled: false` for a staged schedule that should not
|
|
|
101
113
|
run yet. `SCHEDULE_JSON` contains `deployment_id`, five-field `cron`, IANA
|
|
102
114
|
`timezone`, `request.entity`, and `destination: {"name":"...","version":"v1"}`.
|
|
103
115
|
Do not assume that an existing destination profile is bound to any schedule.
|
|
116
|
+
For clustering schedules only, `request.include_inputs: true` asks Serving to
|
|
117
|
+
echo the model input row it used; each row then carries `inputs` (column name
|
|
118
|
+
to value, before the model's own transform), e.g. `{"source": "inputs.seg6"}`.
|
|
119
|
+
Rollout order: deploy the Serving runtime that supports the echo and repackage
|
|
120
|
+
(then redeploy) the model with it *before* creating or updating a schedule to
|
|
121
|
+
`include_inputs: true`. An older runtime silently ignores the field, so every
|
|
122
|
+
run fails with `prediction_contract_mismatch` and nothing is sent; if that
|
|
123
|
+
happens, set `include_inputs` back to `false` or finish the repackage first.
|
|
104
124
|
|
|
105
125
|
```bash
|
|
106
126
|
ml-platform --profile server create-prediction-report-schedule SCHEDULE_JSON
|
|
@@ -116,6 +136,18 @@ revision, destination name/version, next run time, latest run status, and
|
|
|
116
136
|
redacted error code. Do not claim delivery succeeded based only on validation
|
|
117
137
|
or schedule creation.
|
|
118
138
|
|
|
139
|
+
## Watch runs
|
|
140
|
+
|
|
141
|
+
The platform does not send notifications today. A `FAILED` or `SKIPPED` run
|
|
142
|
+
is visible only in the run list. When the API was down over several scheduled
|
|
143
|
+
times, only the latest overdue time gets a run; the earlier ones leave no run
|
|
144
|
+
at all, so look for gaps in `scheduled_at`. No CLI command reruns an earlier
|
|
145
|
+
cutoff. Before enabling a schedule, tell the user this and ask them to name a
|
|
146
|
+
person who will check `list-prediction-report-runs SCHEDULE_ID` after each
|
|
147
|
+
scheduled time, and to agree with the destination owner what happens for a
|
|
148
|
+
cutoff that was not delivered. Record that owner in your report. Do not describe the schedule as
|
|
149
|
+
monitored, and do not promise that failures will be reported automatically.
|
|
150
|
+
|
|
119
151
|
At completion, offer a next step only when it fits the observed state: after a
|
|
120
152
|
profile is created, optionally bind it to a schedule for a suitable deployment;
|
|
121
153
|
after a disabled schedule is verified, optionally resume it with explicit
|