@f-inverse/jammi-client 0.25.0 → 0.26.0
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/README.md +2 -2
- package/dist/gen/jammi/v1/audit_pb.d.ts +1 -1
- package/dist/gen/jammi/v1/audit_pb.js +1 -1
- package/dist/gen/jammi/v1/catalog_pb.d.ts +1148 -0
- package/dist/gen/jammi/v1/catalog_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/catalog_pb.js +320 -0
- package/dist/gen/jammi/v1/catalog_pb.js.map +1 -0
- package/dist/gen/jammi/v1/embedding_pb.d.ts +10 -265
- package/dist/gen/jammi/v1/embedding_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/embedding_pb.js +18 -111
- package/dist/gen/jammi/v1/embedding_pb.js.map +1 -1
- package/dist/gen/jammi/v1/error_pb.d.ts +2 -2
- package/dist/gen/jammi/v1/eval_pb.d.ts +287 -1
- package/dist/gen/jammi/v1/eval_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/eval_pb.js +82 -25
- package/dist/gen/jammi/v1/eval_pb.js.map +1 -1
- package/dist/gen/jammi/v1/inference_pb.d.ts +272 -1
- package/dist/gen/jammi/v1/inference_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/inference_pb.js +61 -2
- package/dist/gen/jammi/v1/inference_pb.js.map +1 -1
- package/dist/gen/jammi/v1/pipeline_pb.d.ts +491 -0
- package/dist/gen/jammi/v1/pipeline_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/pipeline_pb.js +154 -0
- package/dist/gen/jammi/v1/pipeline_pb.js.map +1 -0
- package/dist/gen/jammi/v1/training_pb.d.ts +1217 -0
- package/dist/gen/jammi/v1/training_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/training_pb.js +388 -0
- package/dist/gen/jammi/v1/training_pb.js.map +1 -0
- package/dist/gen/jammi/v1/trigger_pb.d.ts +18 -215
- package/dist/gen/jammi/v1/trigger_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/trigger_pb.js +11 -41
- package/dist/gen/jammi/v1/trigger_pb.js.map +1 -1
- package/dist/index.d.ts +11 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/gen/jammi/v1/channel_pb.d.ts +0 -158
- package/dist/gen/jammi/v1/channel_pb.d.ts.map +0 -1
- package/dist/gen/jammi/v1/channel_pb.js +0 -87
- package/dist/gen/jammi/v1/channel_pb.js.map +0 -1
- package/dist/gen/jammi/v1/fine_tune_pb.d.ts +0 -706
- package/dist/gen/jammi/v1/fine_tune_pb.d.ts.map +0 -1
- package/dist/gen/jammi/v1/fine_tune_pb.js +0 -271
- package/dist/gen/jammi/v1/fine_tune_pb.js.map +0 -1
- package/dist/gen/jammi/v1/mutable_table_pb.d.ts +0 -183
- package/dist/gen/jammi/v1/mutable_table_pb.d.ts.map +0 -1
- package/dist/gen/jammi/v1/mutable_table_pb.js +0 -59
- package/dist/gen/jammi/v1/mutable_table_pb.js.map +0 -1
- package/dist/gen/jammi/v1/session_pb.d.ts +0 -167
- package/dist/gen/jammi/v1/session_pb.d.ts.map +0 -1
- package/dist/gen/jammi/v1/session_pb.js +0 -45
- package/dist/gen/jammi/v1/session_pb.js.map +0 -1
|
@@ -0,0 +1,1217 @@
|
|
|
1
|
+
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
2
|
+
import type { ModelTask } from "./inference_pb";
|
|
3
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
4
|
+
/**
|
|
5
|
+
* Describes the file jammi/v1/training.proto.
|
|
6
|
+
*/
|
|
7
|
+
export declare const file_jammi_v1_training: GenFile;
|
|
8
|
+
/**
|
|
9
|
+
* Embedding-loss function. Mirrors the engine's `EmbeddingLoss`; the two
|
|
10
|
+
* margin/temperature-carrying variants carry their scalar parameter.
|
|
11
|
+
*
|
|
12
|
+
* @generated from message jammi.v1.training.EmbeddingLoss
|
|
13
|
+
*/
|
|
14
|
+
export type EmbeddingLoss = Message<"jammi.v1.training.EmbeddingLoss"> & {
|
|
15
|
+
/**
|
|
16
|
+
* @generated from oneof jammi.v1.training.EmbeddingLoss.loss
|
|
17
|
+
*/
|
|
18
|
+
loss: {
|
|
19
|
+
/**
|
|
20
|
+
* CoSENT: cross-entropy over cosine-similarity ordering. No parameter.
|
|
21
|
+
*
|
|
22
|
+
* @generated from field: jammi.v1.training.EmbeddingLoss.CoSent co_sent = 1;
|
|
23
|
+
*/
|
|
24
|
+
value: EmbeddingLoss_CoSent;
|
|
25
|
+
case: "coSent";
|
|
26
|
+
} | {
|
|
27
|
+
/**
|
|
28
|
+
* Triplet loss with the given margin.
|
|
29
|
+
*
|
|
30
|
+
* @generated from field: jammi.v1.training.EmbeddingLoss.Triplet triplet = 2;
|
|
31
|
+
*/
|
|
32
|
+
value: EmbeddingLoss_Triplet;
|
|
33
|
+
case: "triplet";
|
|
34
|
+
} | {
|
|
35
|
+
/**
|
|
36
|
+
* InfoNCE with in-batch negatives at the given temperature.
|
|
37
|
+
*
|
|
38
|
+
* @generated from field: jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking multiple_negatives_ranking = 3;
|
|
39
|
+
*/
|
|
40
|
+
value: EmbeddingLoss_MultipleNegativesRanking;
|
|
41
|
+
case: "multipleNegativesRanking";
|
|
42
|
+
} | {
|
|
43
|
+
/**
|
|
44
|
+
* AnglE: angle-difference objective in complex space. No parameter.
|
|
45
|
+
*
|
|
46
|
+
* @generated from field: jammi.v1.training.EmbeddingLoss.AnglE angle = 4;
|
|
47
|
+
*/
|
|
48
|
+
value: EmbeddingLoss_AnglE;
|
|
49
|
+
case: "angle";
|
|
50
|
+
} | {
|
|
51
|
+
/**
|
|
52
|
+
* cosine-MSE: regress scaled cosine onto a graded score. No parameter.
|
|
53
|
+
*
|
|
54
|
+
* @generated from field: jammi.v1.training.EmbeddingLoss.CosineMse cosine_mse = 5;
|
|
55
|
+
*/
|
|
56
|
+
value: EmbeddingLoss_CosineMse;
|
|
57
|
+
case: "cosineMse";
|
|
58
|
+
} | {
|
|
59
|
+
case: undefined;
|
|
60
|
+
value?: undefined;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.
|
|
65
|
+
* Use `create(EmbeddingLossSchema)` to create a new message.
|
|
66
|
+
*/
|
|
67
|
+
export declare const EmbeddingLossSchema: GenMessage<EmbeddingLoss>;
|
|
68
|
+
/**
|
|
69
|
+
* @generated from message jammi.v1.training.EmbeddingLoss.CoSent
|
|
70
|
+
*/
|
|
71
|
+
export type EmbeddingLoss_CoSent = Message<"jammi.v1.training.EmbeddingLoss.CoSent"> & {};
|
|
72
|
+
/**
|
|
73
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.CoSent.
|
|
74
|
+
* Use `create(EmbeddingLoss_CoSentSchema)` to create a new message.
|
|
75
|
+
*/
|
|
76
|
+
export declare const EmbeddingLoss_CoSentSchema: GenMessage<EmbeddingLoss_CoSent>;
|
|
77
|
+
/**
|
|
78
|
+
* @generated from message jammi.v1.training.EmbeddingLoss.Triplet
|
|
79
|
+
*/
|
|
80
|
+
export type EmbeddingLoss_Triplet = Message<"jammi.v1.training.EmbeddingLoss.Triplet"> & {
|
|
81
|
+
/**
|
|
82
|
+
* @generated from field: double margin = 1;
|
|
83
|
+
*/
|
|
84
|
+
margin: number;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.Triplet.
|
|
88
|
+
* Use `create(EmbeddingLoss_TripletSchema)` to create a new message.
|
|
89
|
+
*/
|
|
90
|
+
export declare const EmbeddingLoss_TripletSchema: GenMessage<EmbeddingLoss_Triplet>;
|
|
91
|
+
/**
|
|
92
|
+
* @generated from message jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking
|
|
93
|
+
*/
|
|
94
|
+
export type EmbeddingLoss_MultipleNegativesRanking = Message<"jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking"> & {
|
|
95
|
+
/**
|
|
96
|
+
* @generated from field: double temperature = 1;
|
|
97
|
+
*/
|
|
98
|
+
temperature: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking.
|
|
102
|
+
* Use `create(EmbeddingLoss_MultipleNegativesRankingSchema)` to create a new message.
|
|
103
|
+
*/
|
|
104
|
+
export declare const EmbeddingLoss_MultipleNegativesRankingSchema: GenMessage<EmbeddingLoss_MultipleNegativesRanking>;
|
|
105
|
+
/**
|
|
106
|
+
* @generated from message jammi.v1.training.EmbeddingLoss.AnglE
|
|
107
|
+
*/
|
|
108
|
+
export type EmbeddingLoss_AnglE = Message<"jammi.v1.training.EmbeddingLoss.AnglE"> & {};
|
|
109
|
+
/**
|
|
110
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.AnglE.
|
|
111
|
+
* Use `create(EmbeddingLoss_AnglESchema)` to create a new message.
|
|
112
|
+
*/
|
|
113
|
+
export declare const EmbeddingLoss_AnglESchema: GenMessage<EmbeddingLoss_AnglE>;
|
|
114
|
+
/**
|
|
115
|
+
* @generated from message jammi.v1.training.EmbeddingLoss.CosineMse
|
|
116
|
+
*/
|
|
117
|
+
export type EmbeddingLoss_CosineMse = Message<"jammi.v1.training.EmbeddingLoss.CosineMse"> & {};
|
|
118
|
+
/**
|
|
119
|
+
* Describes the message jammi.v1.training.EmbeddingLoss.CosineMse.
|
|
120
|
+
* Use `create(EmbeddingLoss_CosineMseSchema)` to create a new message.
|
|
121
|
+
*/
|
|
122
|
+
export declare const EmbeddingLoss_CosineMseSchema: GenMessage<EmbeddingLoss_CosineMse>;
|
|
123
|
+
/**
|
|
124
|
+
* Proper-scoring objective for a distributional regression head (S18). Mirrors
|
|
125
|
+
* the engine's `RegressionLoss`; the β-NLL variant carries its weighting
|
|
126
|
+
* exponent. Pinball trains the quantile head over `quantile_levels`; the others
|
|
127
|
+
* train the parametric Gaussian head.
|
|
128
|
+
*
|
|
129
|
+
* @generated from message jammi.v1.training.RegressionLoss
|
|
130
|
+
*/
|
|
131
|
+
export type RegressionLoss = Message<"jammi.v1.training.RegressionLoss"> & {
|
|
132
|
+
/**
|
|
133
|
+
* @generated from oneof jammi.v1.training.RegressionLoss.loss
|
|
134
|
+
*/
|
|
135
|
+
loss: {
|
|
136
|
+
/**
|
|
137
|
+
* Gaussian NLL — the plain heteroscedastic mean-variance objective.
|
|
138
|
+
*
|
|
139
|
+
* @generated from field: jammi.v1.training.RegressionLoss.GaussianNll gaussian_nll = 1;
|
|
140
|
+
*/
|
|
141
|
+
value: RegressionLoss_GaussianNll;
|
|
142
|
+
case: "gaussianNll";
|
|
143
|
+
} | {
|
|
144
|
+
/**
|
|
145
|
+
* β-NLL with the given variance-weighting exponent (Seitzer 2022).
|
|
146
|
+
*
|
|
147
|
+
* @generated from field: jammi.v1.training.RegressionLoss.BetaNll beta_nll = 2;
|
|
148
|
+
*/
|
|
149
|
+
value: RegressionLoss_BetaNll;
|
|
150
|
+
case: "betaNll";
|
|
151
|
+
} | {
|
|
152
|
+
/**
|
|
153
|
+
* Closed-form Gaussian CRPS. No parameter.
|
|
154
|
+
*
|
|
155
|
+
* @generated from field: jammi.v1.training.RegressionLoss.Crps crps = 3;
|
|
156
|
+
*/
|
|
157
|
+
value: RegressionLoss_Crps;
|
|
158
|
+
case: "crps";
|
|
159
|
+
} | {
|
|
160
|
+
/**
|
|
161
|
+
* Pinball / quantile loss over the configured levels. No parameter.
|
|
162
|
+
*
|
|
163
|
+
* @generated from field: jammi.v1.training.RegressionLoss.Pinball pinball = 4;
|
|
164
|
+
*/
|
|
165
|
+
value: RegressionLoss_Pinball;
|
|
166
|
+
case: "pinball";
|
|
167
|
+
} | {
|
|
168
|
+
case: undefined;
|
|
169
|
+
value?: undefined;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Describes the message jammi.v1.training.RegressionLoss.
|
|
174
|
+
* Use `create(RegressionLossSchema)` to create a new message.
|
|
175
|
+
*/
|
|
176
|
+
export declare const RegressionLossSchema: GenMessage<RegressionLoss>;
|
|
177
|
+
/**
|
|
178
|
+
* @generated from message jammi.v1.training.RegressionLoss.GaussianNll
|
|
179
|
+
*/
|
|
180
|
+
export type RegressionLoss_GaussianNll = Message<"jammi.v1.training.RegressionLoss.GaussianNll"> & {};
|
|
181
|
+
/**
|
|
182
|
+
* Describes the message jammi.v1.training.RegressionLoss.GaussianNll.
|
|
183
|
+
* Use `create(RegressionLoss_GaussianNllSchema)` to create a new message.
|
|
184
|
+
*/
|
|
185
|
+
export declare const RegressionLoss_GaussianNllSchema: GenMessage<RegressionLoss_GaussianNll>;
|
|
186
|
+
/**
|
|
187
|
+
* @generated from message jammi.v1.training.RegressionLoss.BetaNll
|
|
188
|
+
*/
|
|
189
|
+
export type RegressionLoss_BetaNll = Message<"jammi.v1.training.RegressionLoss.BetaNll"> & {
|
|
190
|
+
/**
|
|
191
|
+
* @generated from field: double beta = 1;
|
|
192
|
+
*/
|
|
193
|
+
beta: number;
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Describes the message jammi.v1.training.RegressionLoss.BetaNll.
|
|
197
|
+
* Use `create(RegressionLoss_BetaNllSchema)` to create a new message.
|
|
198
|
+
*/
|
|
199
|
+
export declare const RegressionLoss_BetaNllSchema: GenMessage<RegressionLoss_BetaNll>;
|
|
200
|
+
/**
|
|
201
|
+
* @generated from message jammi.v1.training.RegressionLoss.Crps
|
|
202
|
+
*/
|
|
203
|
+
export type RegressionLoss_Crps = Message<"jammi.v1.training.RegressionLoss.Crps"> & {};
|
|
204
|
+
/**
|
|
205
|
+
* Describes the message jammi.v1.training.RegressionLoss.Crps.
|
|
206
|
+
* Use `create(RegressionLoss_CrpsSchema)` to create a new message.
|
|
207
|
+
*/
|
|
208
|
+
export declare const RegressionLoss_CrpsSchema: GenMessage<RegressionLoss_Crps>;
|
|
209
|
+
/**
|
|
210
|
+
* @generated from message jammi.v1.training.RegressionLoss.Pinball
|
|
211
|
+
*/
|
|
212
|
+
export type RegressionLoss_Pinball = Message<"jammi.v1.training.RegressionLoss.Pinball"> & {};
|
|
213
|
+
/**
|
|
214
|
+
* Describes the message jammi.v1.training.RegressionLoss.Pinball.
|
|
215
|
+
* Use `create(RegressionLoss_PinballSchema)` to create a new message.
|
|
216
|
+
*/
|
|
217
|
+
export declare const RegressionLoss_PinballSchema: GenMessage<RegressionLoss_Pinball>;
|
|
218
|
+
/**
|
|
219
|
+
* 0-based encoder layer indices that receive LoRA adapters. Wrapper message so
|
|
220
|
+
* "no restriction" (field absent → all layers) is distinguishable from "an
|
|
221
|
+
* empty restriction"; mirrors the engine's `Option<Vec<usize>>`.
|
|
222
|
+
*
|
|
223
|
+
* @generated from message jammi.v1.training.LayersToTransform
|
|
224
|
+
*/
|
|
225
|
+
export type LayersToTransform = Message<"jammi.v1.training.LayersToTransform"> & {
|
|
226
|
+
/**
|
|
227
|
+
* @generated from field: repeated uint32 layers = 1;
|
|
228
|
+
*/
|
|
229
|
+
layers: number[];
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Describes the message jammi.v1.training.LayersToTransform.
|
|
233
|
+
* Use `create(LayersToTransformSchema)` to create a new message.
|
|
234
|
+
*/
|
|
235
|
+
export declare const LayersToTransformSchema: GenMessage<LayersToTransform>;
|
|
236
|
+
/**
|
|
237
|
+
* Hard-negative mining configuration. Mirrors the engine's
|
|
238
|
+
* `HardNegativeConfig`. When `mine` is set the trainer mines hard negatives
|
|
239
|
+
* from its own ANN index, excluding the positive's `exclude_hops`-hop
|
|
240
|
+
* neighbourhood and re-mining every `refresh_every` epochs.
|
|
241
|
+
*
|
|
242
|
+
* @generated from message jammi.v1.training.HardNegativeConfig
|
|
243
|
+
*/
|
|
244
|
+
export type HardNegativeConfig = Message<"jammi.v1.training.HardNegativeConfig"> & {
|
|
245
|
+
/**
|
|
246
|
+
* @generated from field: bool mine = 1;
|
|
247
|
+
*/
|
|
248
|
+
mine: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* @generated from field: uint32 k = 2;
|
|
251
|
+
*/
|
|
252
|
+
k: number;
|
|
253
|
+
/**
|
|
254
|
+
* @generated from field: uint32 exclude_hops = 3;
|
|
255
|
+
*/
|
|
256
|
+
excludeHops: number;
|
|
257
|
+
/**
|
|
258
|
+
* @generated from field: uint32 refresh_every = 4;
|
|
259
|
+
*/
|
|
260
|
+
refreshEvery: number;
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* Describes the message jammi.v1.training.HardNegativeConfig.
|
|
264
|
+
* Use `create(HardNegativeConfigSchema)` to create a new message.
|
|
265
|
+
*/
|
|
266
|
+
export declare const HardNegativeConfigSchema: GenMessage<HardNegativeConfig>;
|
|
267
|
+
/**
|
|
268
|
+
* Configuration for a fine-tuning job. Mirrors the engine's `FineTuneConfig`
|
|
269
|
+
* field for field; every field is read by the trainer or the LoRA builder.
|
|
270
|
+
* Every scalar knob is `optional` so an unset field is distinguishable from a
|
|
271
|
+
* legal `0`/`false`: the server reads an unset field as "apply the engine
|
|
272
|
+
* default" (`FineTuneConfig::default()`) and a present field as an override,
|
|
273
|
+
* making the engine the single source of default values. `embedding_loss`/
|
|
274
|
+
* `classification_loss` are unset to let the engine auto-select from the data
|
|
275
|
+
* format; `layers_to_transform` is unset for "all layers". The enum-typed
|
|
276
|
+
* fields default to the engine's default variant when left UNSPECIFIED.
|
|
277
|
+
*
|
|
278
|
+
* @generated from message jammi.v1.training.FineTuneConfig
|
|
279
|
+
*/
|
|
280
|
+
export type FineTuneConfig = Message<"jammi.v1.training.FineTuneConfig"> & {
|
|
281
|
+
/**
|
|
282
|
+
* @generated from field: optional uint32 lora_rank = 1;
|
|
283
|
+
*/
|
|
284
|
+
loraRank?: number | undefined;
|
|
285
|
+
/**
|
|
286
|
+
* @generated from field: optional double lora_alpha = 2;
|
|
287
|
+
*/
|
|
288
|
+
loraAlpha?: number | undefined;
|
|
289
|
+
/**
|
|
290
|
+
* @generated from field: optional double lora_dropout = 3;
|
|
291
|
+
*/
|
|
292
|
+
loraDropout?: number | undefined;
|
|
293
|
+
/**
|
|
294
|
+
* @generated from field: optional double learning_rate = 4;
|
|
295
|
+
*/
|
|
296
|
+
learningRate?: number | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* @generated from field: optional uint32 epochs = 5;
|
|
299
|
+
*/
|
|
300
|
+
epochs?: number | undefined;
|
|
301
|
+
/**
|
|
302
|
+
* @generated from field: optional uint32 batch_size = 6;
|
|
303
|
+
*/
|
|
304
|
+
batchSize?: number | undefined;
|
|
305
|
+
/**
|
|
306
|
+
* @generated from field: optional uint32 max_seq_length = 7;
|
|
307
|
+
*/
|
|
308
|
+
maxSeqLength?: number | undefined;
|
|
309
|
+
/**
|
|
310
|
+
* Unset = auto-select from the data format.
|
|
311
|
+
*
|
|
312
|
+
* @generated from field: optional jammi.v1.training.EmbeddingLoss embedding_loss = 8;
|
|
313
|
+
*/
|
|
314
|
+
embeddingLoss?: EmbeddingLoss | undefined;
|
|
315
|
+
/**
|
|
316
|
+
* Unset = auto-select from the data format.
|
|
317
|
+
*
|
|
318
|
+
* @generated from field: optional jammi.v1.training.ClassificationLoss classification_loss = 9;
|
|
319
|
+
*/
|
|
320
|
+
classificationLoss?: ClassificationLoss | undefined;
|
|
321
|
+
/**
|
|
322
|
+
* @generated from field: optional uint32 gradient_accumulation_steps = 10;
|
|
323
|
+
*/
|
|
324
|
+
gradientAccumulationSteps?: number | undefined;
|
|
325
|
+
/**
|
|
326
|
+
* @generated from field: optional double validation_fraction = 11;
|
|
327
|
+
*/
|
|
328
|
+
validationFraction?: number | undefined;
|
|
329
|
+
/**
|
|
330
|
+
* @generated from field: optional uint32 early_stopping_patience = 12;
|
|
331
|
+
*/
|
|
332
|
+
earlyStoppingPatience?: number | undefined;
|
|
333
|
+
/**
|
|
334
|
+
* @generated from field: optional uint32 warmup_steps = 13;
|
|
335
|
+
*/
|
|
336
|
+
warmupSteps?: number | undefined;
|
|
337
|
+
/**
|
|
338
|
+
* @generated from field: jammi.v1.training.LrSchedule lr_schedule = 14;
|
|
339
|
+
*/
|
|
340
|
+
lrSchedule: LrSchedule;
|
|
341
|
+
/**
|
|
342
|
+
* @generated from field: jammi.v1.training.EarlyStoppingMetric early_stopping_metric = 15;
|
|
343
|
+
*/
|
|
344
|
+
earlyStoppingMetric: EarlyStoppingMetric;
|
|
345
|
+
/**
|
|
346
|
+
* Layer-name suffixes that receive LoRA adapters. Empty = projection head
|
|
347
|
+
* over the frozen base model; non-empty = LoRA inside the encoder.
|
|
348
|
+
*
|
|
349
|
+
* @generated from field: repeated string target_modules = 16;
|
|
350
|
+
*/
|
|
351
|
+
targetModules: string[];
|
|
352
|
+
/**
|
|
353
|
+
* Unset = all layers.
|
|
354
|
+
*
|
|
355
|
+
* @generated from field: optional jammi.v1.training.LayersToTransform layers_to_transform = 17;
|
|
356
|
+
*/
|
|
357
|
+
layersToTransform?: LayersToTransform | undefined;
|
|
358
|
+
/**
|
|
359
|
+
* @generated from field: optional bool use_rslora = 18;
|
|
360
|
+
*/
|
|
361
|
+
useRslora?: boolean | undefined;
|
|
362
|
+
/**
|
|
363
|
+
* Per-module rank overrides keyed by module-name substring.
|
|
364
|
+
*
|
|
365
|
+
* @generated from field: map<string, uint32> rank_pattern = 19;
|
|
366
|
+
*/
|
|
367
|
+
rankPattern: {
|
|
368
|
+
[key: string]: number;
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* @generated from field: jammi.v1.training.LoraInitMode init_lora_weights = 20;
|
|
372
|
+
*/
|
|
373
|
+
initLoraWeights: LoraInitMode;
|
|
374
|
+
/**
|
|
375
|
+
* @generated from field: jammi.v1.training.BackboneDtype backbone_dtype = 21;
|
|
376
|
+
*/
|
|
377
|
+
backboneDtype: BackboneDtype;
|
|
378
|
+
/**
|
|
379
|
+
* @generated from field: optional double weight_decay = 22;
|
|
380
|
+
*/
|
|
381
|
+
weightDecay?: number | undefined;
|
|
382
|
+
/**
|
|
383
|
+
* @generated from field: optional double max_grad_norm = 23;
|
|
384
|
+
*/
|
|
385
|
+
maxGradNorm?: number | undefined;
|
|
386
|
+
/**
|
|
387
|
+
* GradCache: two-pass in-batch-negative training that enlarges the effective
|
|
388
|
+
* negative pool without the memory cost. Only affects MultipleNegativesRanking.
|
|
389
|
+
*
|
|
390
|
+
* @generated from field: optional bool cached = 24;
|
|
391
|
+
*/
|
|
392
|
+
cached?: boolean | undefined;
|
|
393
|
+
/**
|
|
394
|
+
* Hard-negative mining over jammi's own ANN index. Field absent = mining off.
|
|
395
|
+
*
|
|
396
|
+
* @generated from field: optional jammi.v1.training.HardNegativeConfig hard_negatives = 25;
|
|
397
|
+
*/
|
|
398
|
+
hardNegatives?: HardNegativeConfig | undefined;
|
|
399
|
+
/**
|
|
400
|
+
* Matryoshka prefix dimensions. Empty = full dimension only.
|
|
401
|
+
*
|
|
402
|
+
* @generated from field: repeated uint32 matryoshka_dims = 26;
|
|
403
|
+
*/
|
|
404
|
+
matryoshkaDims: number[];
|
|
405
|
+
/**
|
|
406
|
+
* Unset = the engine default (β-NLL, β=0.5). The Pinball variant trains the
|
|
407
|
+
* quantile head over `quantile_levels`.
|
|
408
|
+
*
|
|
409
|
+
* @generated from field: optional jammi.v1.training.RegressionLoss regression_loss = 27;
|
|
410
|
+
*/
|
|
411
|
+
regressionLoss?: RegressionLoss | undefined;
|
|
412
|
+
/**
|
|
413
|
+
* Quantile levels for a pinball-trained regression head, ascending in (0, 1).
|
|
414
|
+
* Empty for the parametric Gaussian objectives.
|
|
415
|
+
*
|
|
416
|
+
* @generated from field: repeated double quantile_levels = 28;
|
|
417
|
+
*/
|
|
418
|
+
quantileLevels: number[];
|
|
419
|
+
};
|
|
420
|
+
/**
|
|
421
|
+
* Describes the message jammi.v1.training.FineTuneConfig.
|
|
422
|
+
* Use `create(FineTuneConfigSchema)` to create a new message.
|
|
423
|
+
*/
|
|
424
|
+
export declare const FineTuneConfigSchema: GenMessage<FineTuneConfig>;
|
|
425
|
+
/**
|
|
426
|
+
* The two sources and column bindings a graph fine-tune reads. Mirrors the
|
|
427
|
+
* engine's `GraphFineTuneSources` field for field.
|
|
428
|
+
*
|
|
429
|
+
* @generated from message jammi.v1.training.GraphFineTuneSources
|
|
430
|
+
*/
|
|
431
|
+
export type GraphFineTuneSources = Message<"jammi.v1.training.GraphFineTuneSources"> & {
|
|
432
|
+
/**
|
|
433
|
+
* Catalog source holding the node text.
|
|
434
|
+
*
|
|
435
|
+
* @generated from field: string node_source = 1;
|
|
436
|
+
*/
|
|
437
|
+
nodeSource: string;
|
|
438
|
+
/**
|
|
439
|
+
* Column in `node_source` holding the node id (edge endpoints join to it).
|
|
440
|
+
*
|
|
441
|
+
* @generated from field: string id_column = 2;
|
|
442
|
+
*/
|
|
443
|
+
idColumn: string;
|
|
444
|
+
/**
|
|
445
|
+
* Column in `node_source` holding the text the encoder embeds.
|
|
446
|
+
*
|
|
447
|
+
* @generated from field: string text_column = 3;
|
|
448
|
+
*/
|
|
449
|
+
textColumn: string;
|
|
450
|
+
/**
|
|
451
|
+
* Catalog source holding the edges.
|
|
452
|
+
*
|
|
453
|
+
* @generated from field: string edge_source = 4;
|
|
454
|
+
*/
|
|
455
|
+
edgeSource: string;
|
|
456
|
+
/**
|
|
457
|
+
* Column in `edge_source` holding the edge source endpoint.
|
|
458
|
+
*
|
|
459
|
+
* @generated from field: string src_column = 5;
|
|
460
|
+
*/
|
|
461
|
+
srcColumn: string;
|
|
462
|
+
/**
|
|
463
|
+
* Column in `edge_source` holding the edge destination endpoint.
|
|
464
|
+
*
|
|
465
|
+
* @generated from field: string dst_column = 6;
|
|
466
|
+
*/
|
|
467
|
+
dstColumn: string;
|
|
468
|
+
/**
|
|
469
|
+
* Provenance every edge in `edge_source` carries.
|
|
470
|
+
*
|
|
471
|
+
* @generated from field: jammi.v1.training.EdgeProvenance provenance = 7;
|
|
472
|
+
*/
|
|
473
|
+
provenance: EdgeProvenance;
|
|
474
|
+
};
|
|
475
|
+
/**
|
|
476
|
+
* Describes the message jammi.v1.training.GraphFineTuneSources.
|
|
477
|
+
* Use `create(GraphFineTuneSourcesSchema)` to create a new message.
|
|
478
|
+
*/
|
|
479
|
+
export declare const GraphFineTuneSourcesSchema: GenMessage<GraphFineTuneSources>;
|
|
480
|
+
/**
|
|
481
|
+
* node2vec walk + structure-aware negative-sampling knobs. Mirrors the engine's
|
|
482
|
+
* `GraphSampleConfig` field for field, including the deterministic `seed`.
|
|
483
|
+
*
|
|
484
|
+
* @generated from message jammi.v1.training.GraphSampleConfig
|
|
485
|
+
*/
|
|
486
|
+
export type GraphSampleConfig = Message<"jammi.v1.training.GraphSampleConfig"> & {
|
|
487
|
+
/**
|
|
488
|
+
* @generated from field: uint32 walk_length = 1;
|
|
489
|
+
*/
|
|
490
|
+
walkLength: number;
|
|
491
|
+
/**
|
|
492
|
+
* @generated from field: uint32 walks_per_node = 2;
|
|
493
|
+
*/
|
|
494
|
+
walksPerNode: number;
|
|
495
|
+
/**
|
|
496
|
+
* @generated from field: double return_p = 3;
|
|
497
|
+
*/
|
|
498
|
+
returnP: number;
|
|
499
|
+
/**
|
|
500
|
+
* @generated from field: double in_out_q = 4;
|
|
501
|
+
*/
|
|
502
|
+
inOutQ: number;
|
|
503
|
+
/**
|
|
504
|
+
* @generated from field: uint32 hard_negatives = 5;
|
|
505
|
+
*/
|
|
506
|
+
hardNegatives: number;
|
|
507
|
+
/**
|
|
508
|
+
* @generated from field: uint32 exclude_hops = 6;
|
|
509
|
+
*/
|
|
510
|
+
excludeHops: number;
|
|
511
|
+
/**
|
|
512
|
+
* @generated from field: uint32 min_negatives = 7;
|
|
513
|
+
*/
|
|
514
|
+
minNegatives: number;
|
|
515
|
+
/**
|
|
516
|
+
* @generated from field: uint64 seed = 8;
|
|
517
|
+
*/
|
|
518
|
+
seed: bigint;
|
|
519
|
+
};
|
|
520
|
+
/**
|
|
521
|
+
* Describes the message jammi.v1.training.GraphSampleConfig.
|
|
522
|
+
* Use `create(GraphSampleConfigSchema)` to create a new message.
|
|
523
|
+
*/
|
|
524
|
+
export declare const GraphSampleConfigSchema: GenMessage<GraphSampleConfig>;
|
|
525
|
+
/**
|
|
526
|
+
* The predictive-distribution head + its proper-scoring objective. Mirrors the
|
|
527
|
+
* engine's `PredictiveHead`: a Gaussian head trained against a Gaussian
|
|
528
|
+
* objective, or a quantile head trained with pinball over its levels.
|
|
529
|
+
*
|
|
530
|
+
* @generated from message jammi.v1.training.PredictiveHead
|
|
531
|
+
*/
|
|
532
|
+
export type PredictiveHead = Message<"jammi.v1.training.PredictiveHead"> & {
|
|
533
|
+
/**
|
|
534
|
+
* @generated from oneof jammi.v1.training.PredictiveHead.head
|
|
535
|
+
*/
|
|
536
|
+
head: {
|
|
537
|
+
/**
|
|
538
|
+
* @generated from field: jammi.v1.training.PredictiveHead.Gaussian gaussian = 1;
|
|
539
|
+
*/
|
|
540
|
+
value: PredictiveHead_Gaussian;
|
|
541
|
+
case: "gaussian";
|
|
542
|
+
} | {
|
|
543
|
+
/**
|
|
544
|
+
* @generated from field: jammi.v1.training.PredictiveHead.Quantile quantile = 2;
|
|
545
|
+
*/
|
|
546
|
+
value: PredictiveHead_Quantile;
|
|
547
|
+
case: "quantile";
|
|
548
|
+
} | {
|
|
549
|
+
case: undefined;
|
|
550
|
+
value?: undefined;
|
|
551
|
+
};
|
|
552
|
+
};
|
|
553
|
+
/**
|
|
554
|
+
* Describes the message jammi.v1.training.PredictiveHead.
|
|
555
|
+
* Use `create(PredictiveHeadSchema)` to create a new message.
|
|
556
|
+
*/
|
|
557
|
+
export declare const PredictiveHeadSchema: GenMessage<PredictiveHead>;
|
|
558
|
+
/**
|
|
559
|
+
* A `(mean, raw_std)` Gaussian head with its proper-scoring objective.
|
|
560
|
+
*
|
|
561
|
+
* @generated from message jammi.v1.training.PredictiveHead.Gaussian
|
|
562
|
+
*/
|
|
563
|
+
export type PredictiveHead_Gaussian = Message<"jammi.v1.training.PredictiveHead.Gaussian"> & {
|
|
564
|
+
/**
|
|
565
|
+
* @generated from field: jammi.v1.training.GaussianObjective objective = 1;
|
|
566
|
+
*/
|
|
567
|
+
objective?: GaussianObjective | undefined;
|
|
568
|
+
};
|
|
569
|
+
/**
|
|
570
|
+
* Describes the message jammi.v1.training.PredictiveHead.Gaussian.
|
|
571
|
+
* Use `create(PredictiveHead_GaussianSchema)` to create a new message.
|
|
572
|
+
*/
|
|
573
|
+
export declare const PredictiveHead_GaussianSchema: GenMessage<PredictiveHead_Gaussian>;
|
|
574
|
+
/**
|
|
575
|
+
* A `levels`-wide quantile head trained with the pinball objective.
|
|
576
|
+
*
|
|
577
|
+
* @generated from message jammi.v1.training.PredictiveHead.Quantile
|
|
578
|
+
*/
|
|
579
|
+
export type PredictiveHead_Quantile = Message<"jammi.v1.training.PredictiveHead.Quantile"> & {
|
|
580
|
+
/**
|
|
581
|
+
* Ascending quantile levels in (0, 1); the head width is their count.
|
|
582
|
+
*
|
|
583
|
+
* @generated from field: repeated double levels = 1;
|
|
584
|
+
*/
|
|
585
|
+
levels: number[];
|
|
586
|
+
};
|
|
587
|
+
/**
|
|
588
|
+
* Describes the message jammi.v1.training.PredictiveHead.Quantile.
|
|
589
|
+
* Use `create(PredictiveHead_QuantileSchema)` to create a new message.
|
|
590
|
+
*/
|
|
591
|
+
export declare const PredictiveHead_QuantileSchema: GenMessage<PredictiveHead_Quantile>;
|
|
592
|
+
/**
|
|
593
|
+
* Which proper score a Gaussian predictive head trains against. Mirrors the
|
|
594
|
+
* engine's `GaussianObjective`: (β-)NLL carrying its β, or closed-form CRPS.
|
|
595
|
+
*
|
|
596
|
+
* @generated from message jammi.v1.training.GaussianObjective
|
|
597
|
+
*/
|
|
598
|
+
export type GaussianObjective = Message<"jammi.v1.training.GaussianObjective"> & {
|
|
599
|
+
/**
|
|
600
|
+
* @generated from oneof jammi.v1.training.GaussianObjective.objective
|
|
601
|
+
*/
|
|
602
|
+
objective: {
|
|
603
|
+
/**
|
|
604
|
+
* (β-)Gaussian NLL; `beta` in [0, 1], 0 the plain heteroscedastic NLL.
|
|
605
|
+
*
|
|
606
|
+
* @generated from field: jammi.v1.training.GaussianObjective.Nll nll = 1;
|
|
607
|
+
*/
|
|
608
|
+
value: GaussianObjective_Nll;
|
|
609
|
+
case: "nll";
|
|
610
|
+
} | {
|
|
611
|
+
/**
|
|
612
|
+
* Closed-form Gaussian CRPS — collapse-resistant, outcome-unit.
|
|
613
|
+
*
|
|
614
|
+
* @generated from field: jammi.v1.training.GaussianObjective.Crps crps = 2;
|
|
615
|
+
*/
|
|
616
|
+
value: GaussianObjective_Crps;
|
|
617
|
+
case: "crps";
|
|
618
|
+
} | {
|
|
619
|
+
case: undefined;
|
|
620
|
+
value?: undefined;
|
|
621
|
+
};
|
|
622
|
+
};
|
|
623
|
+
/**
|
|
624
|
+
* Describes the message jammi.v1.training.GaussianObjective.
|
|
625
|
+
* Use `create(GaussianObjectiveSchema)` to create a new message.
|
|
626
|
+
*/
|
|
627
|
+
export declare const GaussianObjectiveSchema: GenMessage<GaussianObjective>;
|
|
628
|
+
/**
|
|
629
|
+
* @generated from message jammi.v1.training.GaussianObjective.Nll
|
|
630
|
+
*/
|
|
631
|
+
export type GaussianObjective_Nll = Message<"jammi.v1.training.GaussianObjective.Nll"> & {
|
|
632
|
+
/**
|
|
633
|
+
* @generated from field: double beta = 1;
|
|
634
|
+
*/
|
|
635
|
+
beta: number;
|
|
636
|
+
};
|
|
637
|
+
/**
|
|
638
|
+
* Describes the message jammi.v1.training.GaussianObjective.Nll.
|
|
639
|
+
* Use `create(GaussianObjective_NllSchema)` to create a new message.
|
|
640
|
+
*/
|
|
641
|
+
export declare const GaussianObjective_NllSchema: GenMessage<GaussianObjective_Nll>;
|
|
642
|
+
/**
|
|
643
|
+
* @generated from message jammi.v1.training.GaussianObjective.Crps
|
|
644
|
+
*/
|
|
645
|
+
export type GaussianObjective_Crps = Message<"jammi.v1.training.GaussianObjective.Crps"> & {};
|
|
646
|
+
/**
|
|
647
|
+
* Describes the message jammi.v1.training.GaussianObjective.Crps.
|
|
648
|
+
* Use `create(GaussianObjective_CrpsSchema)` to create a new message.
|
|
649
|
+
*/
|
|
650
|
+
export declare const GaussianObjective_CrpsSchema: GenMessage<GaussianObjective_Crps>;
|
|
651
|
+
/**
|
|
652
|
+
* The episodic in-context-predictor meta-training specification. Mirrors the
|
|
653
|
+
* engine's `ContextPredictorTrainConfig` field for field.
|
|
654
|
+
*
|
|
655
|
+
* @generated from message jammi.v1.training.ContextPredictorTrainConfig
|
|
656
|
+
*/
|
|
657
|
+
export type ContextPredictorTrainConfig = Message<"jammi.v1.training.ContextPredictorTrainConfig"> & {
|
|
658
|
+
/**
|
|
659
|
+
* The model id the trained predictor registers under in the catalog.
|
|
660
|
+
*
|
|
661
|
+
* @generated from field: string model_id = 1;
|
|
662
|
+
*/
|
|
663
|
+
modelId: string;
|
|
664
|
+
/**
|
|
665
|
+
* Which curated architecture to train.
|
|
666
|
+
*
|
|
667
|
+
* @generated from field: jammi.v1.training.ContextArchitecture architecture = 2;
|
|
668
|
+
*/
|
|
669
|
+
architecture: ContextArchitecture;
|
|
670
|
+
/**
|
|
671
|
+
* The source's key column — the per-row identity episodes sample by.
|
|
672
|
+
*
|
|
673
|
+
* @generated from field: string key_column = 3;
|
|
674
|
+
*/
|
|
675
|
+
keyColumn: string;
|
|
676
|
+
/**
|
|
677
|
+
* The column whose distinct values are the tasks (the episodic partition).
|
|
678
|
+
*
|
|
679
|
+
* @generated from field: string task_column = 4;
|
|
680
|
+
*/
|
|
681
|
+
taskColumn: string;
|
|
682
|
+
/**
|
|
683
|
+
* The column carrying the scalar outcome `y` the predictor regresses.
|
|
684
|
+
*
|
|
685
|
+
* @generated from field: string value_column = 5;
|
|
686
|
+
*/
|
|
687
|
+
valueColumn: string;
|
|
688
|
+
/**
|
|
689
|
+
* Context size `k`: the retrieval over-fetches and pads the episode to this.
|
|
690
|
+
*
|
|
691
|
+
* @generated from field: uint32 context_k = 6;
|
|
692
|
+
*/
|
|
693
|
+
contextK: number;
|
|
694
|
+
/**
|
|
695
|
+
* Hidden width of the predictor's MLPs / transformer model dimension.
|
|
696
|
+
*
|
|
697
|
+
* @generated from field: uint32 hidden_dim = 7;
|
|
698
|
+
*/
|
|
699
|
+
hiddenDim: number;
|
|
700
|
+
/**
|
|
701
|
+
* Attention heads (AttnCnp, Tnp). Must divide `hidden_dim`.
|
|
702
|
+
*
|
|
703
|
+
* @generated from field: uint32 num_heads = 8;
|
|
704
|
+
*/
|
|
705
|
+
numHeads: number;
|
|
706
|
+
/**
|
|
707
|
+
* Transformer layers (Tnp).
|
|
708
|
+
*
|
|
709
|
+
* @generated from field: uint32 num_layers = 9;
|
|
710
|
+
*/
|
|
711
|
+
numLayers: number;
|
|
712
|
+
/**
|
|
713
|
+
* The predictive-distribution head + its proper-scoring objective.
|
|
714
|
+
*
|
|
715
|
+
* @generated from field: jammi.v1.training.PredictiveHead head = 10;
|
|
716
|
+
*/
|
|
717
|
+
head?: PredictiveHead | undefined;
|
|
718
|
+
/**
|
|
719
|
+
* Passes over the sampled train episodes.
|
|
720
|
+
*
|
|
721
|
+
* @generated from field: uint32 epochs = 11;
|
|
722
|
+
*/
|
|
723
|
+
epochs: number;
|
|
724
|
+
/**
|
|
725
|
+
* AdamW learning rate.
|
|
726
|
+
*
|
|
727
|
+
* @generated from field: double learning_rate = 12;
|
|
728
|
+
*/
|
|
729
|
+
learningRate: number;
|
|
730
|
+
/**
|
|
731
|
+
* Global-L2 gradient-clip norm; <= 0.0 disables clipping.
|
|
732
|
+
*
|
|
733
|
+
* @generated from field: double grad_clip = 13;
|
|
734
|
+
*/
|
|
735
|
+
gradClip: number;
|
|
736
|
+
/**
|
|
737
|
+
* Fraction of the distinct tasks held out for the test split, in (0, 1).
|
|
738
|
+
*
|
|
739
|
+
* @generated from field: double test_task_fraction = 14;
|
|
740
|
+
*/
|
|
741
|
+
testTaskFraction: number;
|
|
742
|
+
/**
|
|
743
|
+
* Minimum distinct task count the meta-dataset must carry.
|
|
744
|
+
*
|
|
745
|
+
* @generated from field: uint32 min_task_count = 15;
|
|
746
|
+
*/
|
|
747
|
+
minTaskCount: number;
|
|
748
|
+
/**
|
|
749
|
+
* Seed for the deterministic train/test task partition.
|
|
750
|
+
*
|
|
751
|
+
* @generated from field: uint64 seed = 16;
|
|
752
|
+
*/
|
|
753
|
+
seed: bigint;
|
|
754
|
+
};
|
|
755
|
+
/**
|
|
756
|
+
* Describes the message jammi.v1.training.ContextPredictorTrainConfig.
|
|
757
|
+
* Use `create(ContextPredictorTrainConfigSchema)` to create a new message.
|
|
758
|
+
*/
|
|
759
|
+
export declare const ContextPredictorTrainConfigSchema: GenMessage<ContextPredictorTrainConfig>;
|
|
760
|
+
/**
|
|
761
|
+
* A column-source contrastive / classification / regression fine-tune. Mirrors
|
|
762
|
+
* the engine's `TrainingSpec::FineTune` variant.
|
|
763
|
+
*
|
|
764
|
+
* @generated from message jammi.v1.training.FineTuneSpec
|
|
765
|
+
*/
|
|
766
|
+
export type FineTuneSpec = Message<"jammi.v1.training.FineTuneSpec"> & {
|
|
767
|
+
/**
|
|
768
|
+
* Registered source whose rows the model is fine-tuned on.
|
|
769
|
+
*
|
|
770
|
+
* @generated from field: string source = 1;
|
|
771
|
+
*/
|
|
772
|
+
source: string;
|
|
773
|
+
/**
|
|
774
|
+
* Columns selected into the training loader (the format is detected from
|
|
775
|
+
* these names).
|
|
776
|
+
*
|
|
777
|
+
* @generated from field: repeated string columns = 2;
|
|
778
|
+
*/
|
|
779
|
+
columns: string[];
|
|
780
|
+
/**
|
|
781
|
+
* Adapter method.
|
|
782
|
+
*
|
|
783
|
+
* @generated from field: jammi.v1.training.FineTuneMethod method = 3;
|
|
784
|
+
*/
|
|
785
|
+
method: FineTuneMethod;
|
|
786
|
+
/**
|
|
787
|
+
* Task the fine-tuned model performs.
|
|
788
|
+
*
|
|
789
|
+
* @generated from field: jammi.v1.inference.ModelTask task = 4;
|
|
790
|
+
*/
|
|
791
|
+
task: ModelTask;
|
|
792
|
+
};
|
|
793
|
+
/**
|
|
794
|
+
* Describes the message jammi.v1.training.FineTuneSpec.
|
|
795
|
+
* Use `create(FineTuneSpecSchema)` to create a new message.
|
|
796
|
+
*/
|
|
797
|
+
export declare const FineTuneSpecSchema: GenMessage<FineTuneSpec>;
|
|
798
|
+
/**
|
|
799
|
+
* A graph-supervised fine-tune. Mirrors the engine's `TrainingSpec::GraphFineTune`.
|
|
800
|
+
*
|
|
801
|
+
* @generated from message jammi.v1.training.GraphFineTuneSpec
|
|
802
|
+
*/
|
|
803
|
+
export type GraphFineTuneSpec = Message<"jammi.v1.training.GraphFineTuneSpec"> & {
|
|
804
|
+
/**
|
|
805
|
+
* Node-text + edge sources and their column bindings.
|
|
806
|
+
*
|
|
807
|
+
* @generated from field: jammi.v1.training.GraphFineTuneSources sources = 1;
|
|
808
|
+
*/
|
|
809
|
+
sources?: GraphFineTuneSources | undefined;
|
|
810
|
+
/**
|
|
811
|
+
* Walk / negative-sampling knobs, including the deterministic seed.
|
|
812
|
+
*
|
|
813
|
+
* @generated from field: jammi.v1.training.GraphSampleConfig sample_config = 2;
|
|
814
|
+
*/
|
|
815
|
+
sampleConfig?: GraphSampleConfig | undefined;
|
|
816
|
+
};
|
|
817
|
+
/**
|
|
818
|
+
* Describes the message jammi.v1.training.GraphFineTuneSpec.
|
|
819
|
+
* Use `create(GraphFineTuneSpecSchema)` to create a new message.
|
|
820
|
+
*/
|
|
821
|
+
export declare const GraphFineTuneSpecSchema: GenMessage<GraphFineTuneSpec>;
|
|
822
|
+
/**
|
|
823
|
+
* An episodic in-context-predictor meta-training. Mirrors the engine's
|
|
824
|
+
* `TrainingSpec::ContextPredictor`. The predictor carries its full budget inside
|
|
825
|
+
* `predictor_spec`, so this variant needs no common base-model / config block.
|
|
826
|
+
*
|
|
827
|
+
* @generated from message jammi.v1.training.ContextPredictorSpec
|
|
828
|
+
*/
|
|
829
|
+
export type ContextPredictorSpec = Message<"jammi.v1.training.ContextPredictorSpec"> & {
|
|
830
|
+
/**
|
|
831
|
+
* Source whose embedding table the episodic context is sampled from.
|
|
832
|
+
*
|
|
833
|
+
* @generated from field: string source = 1;
|
|
834
|
+
*/
|
|
835
|
+
source: string;
|
|
836
|
+
/**
|
|
837
|
+
* The architecture / objective / episodic / optimisation specification.
|
|
838
|
+
*
|
|
839
|
+
* @generated from field: jammi.v1.training.ContextPredictorTrainConfig predictor_spec = 2;
|
|
840
|
+
*/
|
|
841
|
+
predictorSpec?: ContextPredictorTrainConfig | undefined;
|
|
842
|
+
};
|
|
843
|
+
/**
|
|
844
|
+
* Describes the message jammi.v1.training.ContextPredictorSpec.
|
|
845
|
+
* Use `create(ContextPredictorSpecSchema)` to create a new message.
|
|
846
|
+
*/
|
|
847
|
+
export declare const ContextPredictorSpecSchema: GenMessage<ContextPredictorSpec>;
|
|
848
|
+
/**
|
|
849
|
+
* @generated from message jammi.v1.training.StartTrainingRequest
|
|
850
|
+
*/
|
|
851
|
+
export type StartTrainingRequest = Message<"jammi.v1.training.StartTrainingRequest"> & {
|
|
852
|
+
/**
|
|
853
|
+
* The self-describing training spec — the verb that produces the job. Mirrors
|
|
854
|
+
* the engine's `TrainingSpec` enum: the variant selects the submit path, and
|
|
855
|
+
* its fields carry everything a worker reconstructs the run from.
|
|
856
|
+
*
|
|
857
|
+
* @generated from oneof jammi.v1.training.StartTrainingRequest.spec
|
|
858
|
+
*/
|
|
859
|
+
spec: {
|
|
860
|
+
/**
|
|
861
|
+
* @generated from field: jammi.v1.training.FineTuneSpec fine_tune = 1;
|
|
862
|
+
*/
|
|
863
|
+
value: FineTuneSpec;
|
|
864
|
+
case: "fineTune";
|
|
865
|
+
} | {
|
|
866
|
+
/**
|
|
867
|
+
* @generated from field: jammi.v1.training.GraphFineTuneSpec graph_fine_tune = 2;
|
|
868
|
+
*/
|
|
869
|
+
value: GraphFineTuneSpec;
|
|
870
|
+
case: "graphFineTune";
|
|
871
|
+
} | {
|
|
872
|
+
/**
|
|
873
|
+
* @generated from field: jammi.v1.training.ContextPredictorSpec context_predictor = 3;
|
|
874
|
+
*/
|
|
875
|
+
value: ContextPredictorSpec;
|
|
876
|
+
case: "contextPredictor";
|
|
877
|
+
} | {
|
|
878
|
+
case: undefined;
|
|
879
|
+
value?: undefined;
|
|
880
|
+
};
|
|
881
|
+
/**
|
|
882
|
+
* Base encoder to adapt for the two LoRA fine-tune kinds (`local:<path>`, an
|
|
883
|
+
* HF repo id, or a fine-tuned id). Unused by the context-predictor kind (it
|
|
884
|
+
* names its source's embedding model implicitly), so it is empty there.
|
|
885
|
+
*
|
|
886
|
+
* @generated from field: string base_model = 4;
|
|
887
|
+
*/
|
|
888
|
+
baseModel: string;
|
|
889
|
+
/**
|
|
890
|
+
* Optional fine-tune hyperparameters for the two LoRA fine-tune kinds; unset
|
|
891
|
+
* applies the engine's defaults. Unused by the context-predictor kind (its
|
|
892
|
+
* budget rides inside `predictor_spec`).
|
|
893
|
+
*
|
|
894
|
+
* @generated from field: optional jammi.v1.training.FineTuneConfig config = 5;
|
|
895
|
+
*/
|
|
896
|
+
config?: FineTuneConfig | undefined;
|
|
897
|
+
};
|
|
898
|
+
/**
|
|
899
|
+
* Describes the message jammi.v1.training.StartTrainingRequest.
|
|
900
|
+
* Use `create(StartTrainingRequestSchema)` to create a new message.
|
|
901
|
+
*/
|
|
902
|
+
export declare const StartTrainingRequestSchema: GenMessage<StartTrainingRequest>;
|
|
903
|
+
/**
|
|
904
|
+
* @generated from message jammi.v1.training.StartTrainingResponse
|
|
905
|
+
*/
|
|
906
|
+
export type StartTrainingResponse = Message<"jammi.v1.training.StartTrainingResponse"> & {
|
|
907
|
+
/**
|
|
908
|
+
* Server-assigned job id. Poll `TrainingStatus` with it.
|
|
909
|
+
*
|
|
910
|
+
* @generated from field: string job_id = 1;
|
|
911
|
+
*/
|
|
912
|
+
jobId: string;
|
|
913
|
+
/**
|
|
914
|
+
* The deterministic output model id the trained artifact registers under —
|
|
915
|
+
* the same id the engine's `TrainingJob::model_id` carries at submit time.
|
|
916
|
+
*
|
|
917
|
+
* @generated from field: string model_id = 2;
|
|
918
|
+
*/
|
|
919
|
+
modelId: string;
|
|
920
|
+
};
|
|
921
|
+
/**
|
|
922
|
+
* Describes the message jammi.v1.training.StartTrainingResponse.
|
|
923
|
+
* Use `create(StartTrainingResponseSchema)` to create a new message.
|
|
924
|
+
*/
|
|
925
|
+
export declare const StartTrainingResponseSchema: GenMessage<StartTrainingResponse>;
|
|
926
|
+
/**
|
|
927
|
+
* @generated from message jammi.v1.training.TrainingStatusRequest
|
|
928
|
+
*/
|
|
929
|
+
export type TrainingStatusRequest = Message<"jammi.v1.training.TrainingStatusRequest"> & {
|
|
930
|
+
/**
|
|
931
|
+
* Job id returned by a prior StartTraining call.
|
|
932
|
+
*
|
|
933
|
+
* @generated from field: string job_id = 1;
|
|
934
|
+
*/
|
|
935
|
+
jobId: string;
|
|
936
|
+
};
|
|
937
|
+
/**
|
|
938
|
+
* Describes the message jammi.v1.training.TrainingStatusRequest.
|
|
939
|
+
* Use `create(TrainingStatusRequestSchema)` to create a new message.
|
|
940
|
+
*/
|
|
941
|
+
export declare const TrainingStatusRequestSchema: GenMessage<TrainingStatusRequest>;
|
|
942
|
+
/**
|
|
943
|
+
* @generated from message jammi.v1.training.TrainingStatusResponse
|
|
944
|
+
*/
|
|
945
|
+
export type TrainingStatusResponse = Message<"jammi.v1.training.TrainingStatusResponse"> & {
|
|
946
|
+
/**
|
|
947
|
+
* Current lifecycle status: "queued", "running", "completed", or "failed".
|
|
948
|
+
*
|
|
949
|
+
* @generated from field: string status = 1;
|
|
950
|
+
*/
|
|
951
|
+
status: string;
|
|
952
|
+
/**
|
|
953
|
+
* The output model id the trained artifact registers under.
|
|
954
|
+
*
|
|
955
|
+
* @generated from field: string model_id = 2;
|
|
956
|
+
*/
|
|
957
|
+
modelId: string;
|
|
958
|
+
/**
|
|
959
|
+
* The failure message when `status` is "failed"; empty otherwise.
|
|
960
|
+
*
|
|
961
|
+
* @generated from field: string error = 3;
|
|
962
|
+
*/
|
|
963
|
+
error: string;
|
|
964
|
+
};
|
|
965
|
+
/**
|
|
966
|
+
* Describes the message jammi.v1.training.TrainingStatusResponse.
|
|
967
|
+
* Use `create(TrainingStatusResponseSchema)` to create a new message.
|
|
968
|
+
*/
|
|
969
|
+
export declare const TrainingStatusResponseSchema: GenMessage<TrainingStatusResponse>;
|
|
970
|
+
/**
|
|
971
|
+
* Fine-tuning method. Mirrors the engine's `FineTuneMethod`; LoRA is the only
|
|
972
|
+
* method, trained as either an encoder-internal adapter or a projection head
|
|
973
|
+
* over a frozen base model depending on `FineTuneConfig.target_modules`.
|
|
974
|
+
*
|
|
975
|
+
* @generated from enum jammi.v1.training.FineTuneMethod
|
|
976
|
+
*/
|
|
977
|
+
export declare enum FineTuneMethod {
|
|
978
|
+
/**
|
|
979
|
+
* @generated from enum value: FINE_TUNE_METHOD_UNSPECIFIED = 0;
|
|
980
|
+
*/
|
|
981
|
+
FINE_TUNE_METHOD_UNSPECIFIED = 0,
|
|
982
|
+
/**
|
|
983
|
+
* @generated from enum value: LORA = 1;
|
|
984
|
+
*/
|
|
985
|
+
LORA = 1
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* Describes the enum jammi.v1.training.FineTuneMethod.
|
|
989
|
+
*/
|
|
990
|
+
export declare const FineTuneMethodSchema: GenEnum<FineTuneMethod>;
|
|
991
|
+
/**
|
|
992
|
+
* Classification-loss function. Mirrors the engine's `ClassificationLoss`.
|
|
993
|
+
*
|
|
994
|
+
* @generated from enum jammi.v1.training.ClassificationLoss
|
|
995
|
+
*/
|
|
996
|
+
export declare enum ClassificationLoss {
|
|
997
|
+
/**
|
|
998
|
+
* @generated from enum value: CLASSIFICATION_LOSS_UNSPECIFIED = 0;
|
|
999
|
+
*/
|
|
1000
|
+
CLASSIFICATION_LOSS_UNSPECIFIED = 0,
|
|
1001
|
+
/**
|
|
1002
|
+
* @generated from enum value: CROSS_ENTROPY = 1;
|
|
1003
|
+
*/
|
|
1004
|
+
CROSS_ENTROPY = 1
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* Describes the enum jammi.v1.training.ClassificationLoss.
|
|
1008
|
+
*/
|
|
1009
|
+
export declare const ClassificationLossSchema: GenEnum<ClassificationLoss>;
|
|
1010
|
+
/**
|
|
1011
|
+
* Which loss signal drives early stopping. Mirrors `EarlyStoppingMetric`.
|
|
1012
|
+
*
|
|
1013
|
+
* @generated from enum jammi.v1.training.EarlyStoppingMetric
|
|
1014
|
+
*/
|
|
1015
|
+
export declare enum EarlyStoppingMetric {
|
|
1016
|
+
/**
|
|
1017
|
+
* @generated from enum value: EARLY_STOPPING_METRIC_UNSPECIFIED = 0;
|
|
1018
|
+
*/
|
|
1019
|
+
EARLY_STOPPING_METRIC_UNSPECIFIED = 0,
|
|
1020
|
+
/**
|
|
1021
|
+
* @generated from enum value: VAL_LOSS = 1;
|
|
1022
|
+
*/
|
|
1023
|
+
VAL_LOSS = 1,
|
|
1024
|
+
/**
|
|
1025
|
+
* @generated from enum value: TRAIN_LOSS = 2;
|
|
1026
|
+
*/
|
|
1027
|
+
TRAIN_LOSS = 2
|
|
1028
|
+
}
|
|
1029
|
+
/**
|
|
1030
|
+
* Describes the enum jammi.v1.training.EarlyStoppingMetric.
|
|
1031
|
+
*/
|
|
1032
|
+
export declare const EarlyStoppingMetricSchema: GenEnum<EarlyStoppingMetric>;
|
|
1033
|
+
/**
|
|
1034
|
+
* Learning-rate schedule after warmup. Mirrors the engine's `LrSchedule`.
|
|
1035
|
+
*
|
|
1036
|
+
* @generated from enum jammi.v1.training.LrSchedule
|
|
1037
|
+
*/
|
|
1038
|
+
export declare enum LrSchedule {
|
|
1039
|
+
/**
|
|
1040
|
+
* @generated from enum value: LR_SCHEDULE_UNSPECIFIED = 0;
|
|
1041
|
+
*/
|
|
1042
|
+
LR_SCHEDULE_UNSPECIFIED = 0,
|
|
1043
|
+
/**
|
|
1044
|
+
* @generated from enum value: CONSTANT = 1;
|
|
1045
|
+
*/
|
|
1046
|
+
CONSTANT = 1,
|
|
1047
|
+
/**
|
|
1048
|
+
* @generated from enum value: COSINE_DECAY = 2;
|
|
1049
|
+
*/
|
|
1050
|
+
COSINE_DECAY = 2,
|
|
1051
|
+
/**
|
|
1052
|
+
* @generated from enum value: LINEAR_DECAY = 3;
|
|
1053
|
+
*/
|
|
1054
|
+
LINEAR_DECAY = 3
|
|
1055
|
+
}
|
|
1056
|
+
/**
|
|
1057
|
+
* Describes the enum jammi.v1.training.LrSchedule.
|
|
1058
|
+
*/
|
|
1059
|
+
export declare const LrScheduleSchema: GenEnum<LrSchedule>;
|
|
1060
|
+
/**
|
|
1061
|
+
* LoRA A/B matrix initialisation. Mirrors `jammi_lora::LoraInitMode`.
|
|
1062
|
+
*
|
|
1063
|
+
* @generated from enum jammi.v1.training.LoraInitMode
|
|
1064
|
+
*/
|
|
1065
|
+
export declare enum LoraInitMode {
|
|
1066
|
+
/**
|
|
1067
|
+
* @generated from enum value: LORA_INIT_MODE_UNSPECIFIED = 0;
|
|
1068
|
+
*/
|
|
1069
|
+
LORA_INIT_MODE_UNSPECIFIED = 0,
|
|
1070
|
+
/**
|
|
1071
|
+
* @generated from enum value: ZEROS_B = 1;
|
|
1072
|
+
*/
|
|
1073
|
+
ZEROS_B = 1,
|
|
1074
|
+
/**
|
|
1075
|
+
* @generated from enum value: GAUSSIAN = 2;
|
|
1076
|
+
*/
|
|
1077
|
+
GAUSSIAN = 2
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* Describes the enum jammi.v1.training.LoraInitMode.
|
|
1081
|
+
*/
|
|
1082
|
+
export declare const LoraInitModeSchema: GenEnum<LoraInitMode>;
|
|
1083
|
+
/**
|
|
1084
|
+
* Dtype for the frozen backbone weights. Mirrors `jammi_lora::BackboneDtype`.
|
|
1085
|
+
*
|
|
1086
|
+
* @generated from enum jammi.v1.training.BackboneDtype
|
|
1087
|
+
*/
|
|
1088
|
+
export declare enum BackboneDtype {
|
|
1089
|
+
/**
|
|
1090
|
+
* @generated from enum value: BACKBONE_DTYPE_UNSPECIFIED = 0;
|
|
1091
|
+
*/
|
|
1092
|
+
BACKBONE_DTYPE_UNSPECIFIED = 0,
|
|
1093
|
+
/**
|
|
1094
|
+
* @generated from enum value: F32 = 1;
|
|
1095
|
+
*/
|
|
1096
|
+
F32 = 1,
|
|
1097
|
+
/**
|
|
1098
|
+
* @generated from enum value: BF16 = 2;
|
|
1099
|
+
*/
|
|
1100
|
+
BF16 = 2,
|
|
1101
|
+
/**
|
|
1102
|
+
* @generated from enum value: F16 = 3;
|
|
1103
|
+
*/
|
|
1104
|
+
F16 = 3
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Describes the enum jammi.v1.training.BackboneDtype.
|
|
1108
|
+
*/
|
|
1109
|
+
export declare const BackboneDtypeSchema: GenEnum<BackboneDtype>;
|
|
1110
|
+
/**
|
|
1111
|
+
* Edge provenance for a graph fine-tune. Mirrors the engine's `EdgeProvenance`
|
|
1112
|
+
* — the load-bearing circularity distinction (declared edges teach the metric
|
|
1113
|
+
* something new; similarity edges largely re-learn it).
|
|
1114
|
+
*
|
|
1115
|
+
* @generated from enum jammi.v1.training.EdgeProvenance
|
|
1116
|
+
*/
|
|
1117
|
+
export declare enum EdgeProvenance {
|
|
1118
|
+
/**
|
|
1119
|
+
* @generated from enum value: EDGE_PROVENANCE_UNSPECIFIED = 0;
|
|
1120
|
+
*/
|
|
1121
|
+
EDGE_PROVENANCE_UNSPECIFIED = 0,
|
|
1122
|
+
/**
|
|
1123
|
+
* @generated from enum value: DECLARED = 1;
|
|
1124
|
+
*/
|
|
1125
|
+
DECLARED = 1,
|
|
1126
|
+
/**
|
|
1127
|
+
* @generated from enum value: SIMILARITY = 2;
|
|
1128
|
+
*/
|
|
1129
|
+
SIMILARITY = 2
|
|
1130
|
+
}
|
|
1131
|
+
/**
|
|
1132
|
+
* Describes the enum jammi.v1.training.EdgeProvenance.
|
|
1133
|
+
*/
|
|
1134
|
+
export declare const EdgeProvenanceSchema: GenEnum<EdgeProvenance>;
|
|
1135
|
+
/**
|
|
1136
|
+
* Which curated in-context-predictor architecture to train. Mirrors the
|
|
1137
|
+
* engine's `ContextArchitecture`.
|
|
1138
|
+
*
|
|
1139
|
+
* @generated from enum jammi.v1.training.ContextArchitecture
|
|
1140
|
+
*/
|
|
1141
|
+
export declare enum ContextArchitecture {
|
|
1142
|
+
/**
|
|
1143
|
+
* @generated from enum value: CONTEXT_ARCHITECTURE_UNSPECIFIED = 0;
|
|
1144
|
+
*/
|
|
1145
|
+
CONTEXT_ARCHITECTURE_UNSPECIFIED = 0,
|
|
1146
|
+
/**
|
|
1147
|
+
* @generated from enum value: CNP = 1;
|
|
1148
|
+
*/
|
|
1149
|
+
CNP = 1,
|
|
1150
|
+
/**
|
|
1151
|
+
* @generated from enum value: ATTN_CNP = 2;
|
|
1152
|
+
*/
|
|
1153
|
+
ATTN_CNP = 2,
|
|
1154
|
+
/**
|
|
1155
|
+
* @generated from enum value: TNP = 3;
|
|
1156
|
+
*/
|
|
1157
|
+
TNP = 3
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* Describes the enum jammi.v1.training.ContextArchitecture.
|
|
1161
|
+
*/
|
|
1162
|
+
export declare const ContextArchitectureSchema: GenEnum<ContextArchitecture>;
|
|
1163
|
+
/**
|
|
1164
|
+
* TrainingService — the wire surface for the engine's training verbs.
|
|
1165
|
+
*
|
|
1166
|
+
* `StartTraining` and `TrainingStatus` are imperative session methods, not SQL
|
|
1167
|
+
* queries, so they live as typed gRPC RPCs alongside SessionService /
|
|
1168
|
+
* TriggerService / EmbeddingService / InferenceService / EvalService rather
|
|
1169
|
+
* than on the Flight SQL surface (which carries query/result only, per ADR-01
|
|
1170
|
+
* §3.2). Training is a substrate primitive — meta-learning an adapter or a
|
|
1171
|
+
* predictor over a registered source — and names no tenant-domain concept.
|
|
1172
|
+
*
|
|
1173
|
+
* The service serves all three engine training kinds (`fine_tune`,
|
|
1174
|
+
* `graph_fine_tune`, `context_predictor`) behind one verb: `StartTraining`
|
|
1175
|
+
* carries a full `TrainingSpec` oneof and dispatches to the matching engine
|
|
1176
|
+
* submit verb, returning the durable job id and the (deterministic) output
|
|
1177
|
+
* model id. The job runs asynchronously inside the engine; the client polls
|
|
1178
|
+
* `TrainingStatus` by id until a terminal state. There is no progress stream —
|
|
1179
|
+
* the abstraction exposes none, so this surface invents none. The service
|
|
1180
|
+
* reimplements no training, LoRA, sampling, or scan logic; it is purely a wire
|
|
1181
|
+
* adapter.
|
|
1182
|
+
*
|
|
1183
|
+
* Tenant scope is read from the request's `SessionTenant` extension, set by the
|
|
1184
|
+
* shared TenantInterceptor from the `jammi-session-id` header — the same
|
|
1185
|
+
* mechanism every other gRPC service and Flight SQL already use.
|
|
1186
|
+
*
|
|
1187
|
+
* @generated from service jammi.v1.training.TrainingService
|
|
1188
|
+
*/
|
|
1189
|
+
export declare const TrainingService: GenService<{
|
|
1190
|
+
/**
|
|
1191
|
+
* Submit a training job over a registered source and return its id + output
|
|
1192
|
+
* model id. The job trains asynchronously; poll `TrainingStatus` with the
|
|
1193
|
+
* returned job id. Peer of the engine's `fine_tune` / `fine_tune_graph` /
|
|
1194
|
+
* `train_context_predictor` submit verbs (the spec oneof selects which).
|
|
1195
|
+
*
|
|
1196
|
+
* @generated from rpc jammi.v1.training.TrainingService.StartTraining
|
|
1197
|
+
*/
|
|
1198
|
+
startTraining: {
|
|
1199
|
+
methodKind: "unary";
|
|
1200
|
+
input: typeof StartTrainingRequestSchema;
|
|
1201
|
+
output: typeof StartTrainingResponseSchema;
|
|
1202
|
+
};
|
|
1203
|
+
/**
|
|
1204
|
+
* Read a training job's current status by id, plus its output model id and
|
|
1205
|
+
* the failure message when it failed. Peer of reading back the engine's
|
|
1206
|
+
* `TrainingJob` handle — the output model id and error are what let a remote
|
|
1207
|
+
* `wait()` retrieve the result and a failure reason.
|
|
1208
|
+
*
|
|
1209
|
+
* @generated from rpc jammi.v1.training.TrainingService.TrainingStatus
|
|
1210
|
+
*/
|
|
1211
|
+
trainingStatus: {
|
|
1212
|
+
methodKind: "unary";
|
|
1213
|
+
input: typeof TrainingStatusRequestSchema;
|
|
1214
|
+
output: typeof TrainingStatusResponseSchema;
|
|
1215
|
+
};
|
|
1216
|
+
}>;
|
|
1217
|
+
//# sourceMappingURL=training_pb.d.ts.map
|