openpond-sdk 0.12.18 → 0.12.19
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/TRAINING_WORKFLOWS.md +15 -0
- package/dist/training.js +12 -7
- package/dist/training.js.map +1 -1
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +52 -0
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-experiment-learning-intent.d.ts +10 -0
- package/dist/types/packages/sdk/src/training-experiment-learning-intent.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-experiment-learning.d.ts +16 -0
- package/dist/types/packages/sdk/src/training-experiment-learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +30 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -1
- package/package.json +1 -1
package/TRAINING_WORKFLOWS.md
CHANGED
|
@@ -623,3 +623,18 @@ This read returns the owned execution's exact request, lifecycle phase and any r
|
|
|
623
623
|
On a compatible host, `compileModificationExecution(input)` compiles a bounded raw form with the exact registered tokenizer. `prepareModificationExecution(input)` retains the compiled request, Project, name and maximum spend without starting compute. After explicit review, `startModificationExecution(input)` uses the returned execution ID, revision, plan hash, approved cap and a stable operation ID. `cancelModificationExecution(input)` retains that exact execution identity while cleanup proceeds.
|
|
624
624
|
|
|
625
625
|
The CLI equivalents are `training hosted-compile-modification`, `hosted-prepare-modification`, `hosted-start-modification --yes` and `hosted-cancel-modification`, each taking `<input.json> --team-id <id>`. Native Python provides corresponding snake_case methods in both clients. Use the exported input schemas or installed help; preserve the original command and operation ID after an uncertain reply. Start is the funded execution boundary. An unavailable capability never grants permission to start an unsupported model.
|
|
626
|
+
|
|
627
|
+
## Continual-learning grader selection
|
|
628
|
+
|
|
629
|
+
An experiment draft's `trainingForm.learningIntent.graders` optionally stores
|
|
630
|
+
exact learning revision references for recurring tasks. Omitting the field uses
|
|
631
|
+
the reviewed batch's whole grader pool. An explicit subset must retain required
|
|
632
|
+
gates and the training/evaluation roles needed by the hosted loop. Hosts validate
|
|
633
|
+
these references against the exact reviewed batch before publishing the policy.
|
|
634
|
+
|
|
635
|
+
The learning save hashes this selection and retains it in the immutable policy;
|
|
636
|
+
it does not rewrite the manual experiment's batch or grader binding. The retained
|
|
637
|
+
evaluation remains an independent candidate check. A nightly schedule uses the
|
|
638
|
+
authored time and timezone, waits for approved unused examples, and respects the
|
|
639
|
+
saved task threshold and spend limits. It does not itself enable conversation
|
|
640
|
+
collection, automatic data approval, or automatic serving.
|
package/dist/training.js
CHANGED
|
@@ -3401,12 +3401,16 @@ var EngramExperimentFormDraftSchema = z33.object({
|
|
|
3401
3401
|
}).strict();
|
|
3402
3402
|
|
|
3403
3403
|
// src/training-experiment-setup.ts
|
|
3404
|
-
import { LearningRevisionRefSchema } from "@openpond/evals/learning";
|
|
3404
|
+
import { LearningRevisionRefSchema as LearningRevisionRefSchema2 } from "@openpond/evals/learning";
|
|
3405
3405
|
|
|
3406
3406
|
// src/training-experiment-learning-intent.ts
|
|
3407
3407
|
import { z as z34 } from "zod";
|
|
3408
|
+
import { LearningRevisionRefSchema } from "@openpond/evals/learning";
|
|
3408
3409
|
var TrainingExperimentLearningIntentSchema = z34.object({
|
|
3409
3410
|
enabled: z34.boolean(),
|
|
3411
|
+
/** Applies only after an accepted compatible GRPO checkpoint exists. */
|
|
3412
|
+
continuationAdapterMode: z34.enum(["shared", "residual_append", "sequential_merge"]).optional(),
|
|
3413
|
+
graders: z34.array(LearningRevisionRefSchema).max(100).optional(),
|
|
3410
3414
|
mode: z34.enum(["nightly", "approved_count"]),
|
|
3411
3415
|
minimumTasks: z34.string().max(100),
|
|
3412
3416
|
localTime: z34.string().max(100),
|
|
@@ -3501,7 +3505,7 @@ async function parseAndVerifyExperimentStartingModel(raw, expected = {}) {
|
|
|
3501
3505
|
// src/training-experiment-setup.ts
|
|
3502
3506
|
var ExperimentOperationTypeSchema = z36.enum(["evaluate", "sft", "grpo", "neuron_steering", "inspect_activations", "engram_adapter", "decision_model", "alphaedit", "selective_neuron_training"]);
|
|
3503
3507
|
function experimentOperationLabel(type) {
|
|
3504
|
-
return { evaluate: "Evaluate", sft: "SFT
|
|
3508
|
+
return { evaluate: "Evaluate", sft: "SFT", grpo: "RL", neuron_steering: "Neuron steering", inspect_activations: "Inspect activations", engram_adapter: "Engram memory", decision_model: "Decision model", alphaedit: "AlphaEdit", selective_neuron_training: "Neuron training" }[type];
|
|
3505
3509
|
}
|
|
3506
3510
|
var TrainingExperimentSetupRequestSchema = TrainingPreparationRequestSchema.omit({ configuration: true, origin: true }).extend({
|
|
3507
3511
|
schemaVersion: z36.literal("openpond.trainingExperimentSetupRequest.v1"),
|
|
@@ -3585,7 +3589,7 @@ var TrainingExperimentFormDraftSchema = z36.object({
|
|
|
3585
3589
|
inputHash: z36.string().regex(/^[a-f0-9]{64}$/),
|
|
3586
3590
|
trainingInputHash: z36.string().regex(/^[a-f0-9]{64}$/),
|
|
3587
3591
|
configuration: HostedModelProjectSummarySchema,
|
|
3588
|
-
policy:
|
|
3592
|
+
policy: LearningRevisionRefSchema2
|
|
3589
3593
|
}).strict().optional()
|
|
3590
3594
|
}).strict();
|
|
3591
3595
|
var ExperimentDraftSchema = z36.object({
|
|
@@ -5985,7 +5989,7 @@ import { z as z67 } from "zod";
|
|
|
5985
5989
|
|
|
5986
5990
|
// src/training-experiment-learning.ts
|
|
5987
5991
|
import { z as z51 } from "zod";
|
|
5988
|
-
import { LearningRevisionRefSchema as
|
|
5992
|
+
import { LearningRevisionRefSchema as LearningRevisionRefSchema3 } from "@openpond/evals/learning";
|
|
5989
5993
|
var TrainingExperimentLearningRequestSchema = z51.object({
|
|
5990
5994
|
schemaVersion: z51.literal("openpond.trainingExperimentLearning.v1"),
|
|
5991
5995
|
teamId: z51.string().min(1).max(191),
|
|
@@ -5993,13 +5997,13 @@ var TrainingExperimentLearningRequestSchema = z51.object({
|
|
|
5993
5997
|
draftId: z51.string().min(1).max(191),
|
|
5994
5998
|
form: TrainingExperimentFormDraftSchema.omit({ learningConfiguration: true }),
|
|
5995
5999
|
expectedConfiguration: TrainingPreparationRequestSchema.shape.configuration.optional(),
|
|
5996
|
-
expectedPolicy:
|
|
6000
|
+
expectedPolicy: LearningRevisionRefSchema3.optional()
|
|
5997
6001
|
}).strict();
|
|
5998
6002
|
var TrainingExperimentLearningReceiptSchema = z51.object({
|
|
5999
6003
|
schemaVersion: z51.literal("openpond.trainingExperimentLearningReceipt.v1"),
|
|
6000
6004
|
inputHash: z51.string().regex(/^[a-f0-9]{64}$/),
|
|
6001
6005
|
configuration: HostedModelProjectSummarySchema,
|
|
6002
|
-
policy:
|
|
6006
|
+
policy: LearningRevisionRefSchema3
|
|
6003
6007
|
}).strict();
|
|
6004
6008
|
function trainingExperimentLearningRequest(input) {
|
|
6005
6009
|
const { learningConfiguration, ...form } = input.form;
|
|
@@ -6054,7 +6058,8 @@ function trainingExperimentLearningSettings(form) {
|
|
|
6054
6058
|
baseModel: form.baseModel,
|
|
6055
6059
|
recipe: { ...form.recipe, dataset: { ...form.recipe.dataset && typeof form.recipe.dataset === "object" ? form.recipe.dataset : {}, validationSplit: form.validationSplit } },
|
|
6056
6060
|
evaluationTasksetRef: form.evaluation,
|
|
6057
|
-
managedRolloutPlacement: "remote"
|
|
6061
|
+
managedRolloutPlacement: "remote",
|
|
6062
|
+
...form.recipe.method === "grpo" && form.learningIntent?.continuationAdapterMode ? { continuationAdapterMode: form.learningIntent.continuationAdapterMode } : {}
|
|
6058
6063
|
});
|
|
6059
6064
|
}
|
|
6060
6065
|
function createTrainingExperimentLearningClient(request) {
|