@ai-ecoverse/kev.js 0.2.0 → 0.4.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 +29 -4
- package/dist/api.d.ts +17 -5
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +35 -21
- package/dist/api.js.map +1 -1
- package/dist/load.d.ts +17 -3
- package/dist/load.d.ts.map +1 -1
- package/dist/load.js +43 -7
- package/dist/load.js.map +1 -1
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -21,15 +21,15 @@ const res = await kev.systemOne({
|
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
23
|
// Kev-0.8B (kev-0.8b@2256796), as served (T ≈ 2.41):
|
|
24
|
-
res.answers.billing.noul; //
|
|
25
|
-
res.answers.urgency.score; // expected level
|
|
24
|
+
res.answers.billing.noul; // 0.9102 probability of yes, rounded to 4 places like kev.serve
|
|
25
|
+
res.answers.urgency.score; // 1.482 expected level (0 "can wait" … 2 "today"); "today" has 0.5724
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
The pointer head applies the checkpoint's fitted temperature by default (0.8B 2.41, 4B 2.14, 9B 2.30), matching `kev.serve`. It never changes the argmax. Pass `{ temperature: 1 }` to `loadKev` for the raw logits. `{ dateFacts: true }` appends day counts between absolute dates in the state (`KEV_DATE_FACTS=1`).
|
|
29
29
|
|
|
30
30
|
## Results
|
|
31
31
|
|
|
32
|
-
Measured in Chrome on an Apple M4 Max (WebGPU on Metal), against the fp32 PyTorch model (`kev.
|
|
32
|
+
Measured in Chrome on an Apple M4 Max (WebGPU on Metal), against the fp32 PyTorch model (`kev.checkpoint.load`) at the
|
|
33
33
|
same commit. Each fp32 ONNX export matches PyTorch to 1e-4 or better, so the 300-record comparisons use it as the
|
|
34
34
|
reference. The 300 records are held-out transfer-v4 development data (sources Kev was not trained on).
|
|
35
35
|
|
|
@@ -130,7 +130,10 @@ npm run build:demo
|
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
`.github/workflows` builds the homepage to GitHub Pages on every push to `main`, runs the tests that need no
|
|
133
|
-
weights, and publishes the npm package from
|
|
133
|
+
weights, and publishes the npm package from `main` with [semantic-release](https://semantic-release.org/)
|
|
134
|
+
(trusted publishing, OIDC, no token). Commits that follow
|
|
135
|
+
[Conventional Commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `BREAKING CHANGE:`) cut the next
|
|
136
|
+
patch / minor / major; `v0.2.0` is the last hand-tagged release. The demo loads
|
|
134
137
|
weights from Hugging Face unless `VITE_MODEL_BASE` or `?models=<url>` says otherwise; `npm run dev` serves
|
|
135
138
|
`public/models` instead. GitHub Pages cannot set COOP/COEP headers, so `crossOriginIsolated` is false there and the
|
|
136
139
|
WASM fallback runs single-threaded; WebGPU is unaffected.
|
|
@@ -141,16 +144,38 @@ checkpoint temperature. `kev.systemOne(req, { dateFacts: true })` is `KEV_DATE_F
|
|
|
141
144
|
Weight files are cached in Cache Storage (`kev-web-v1`). In the demo page, `window.kev.systemOne(...)` works from
|
|
142
145
|
the console, and `?verbose` logs where onnxruntime placed each node.
|
|
143
146
|
|
|
147
|
+
`loadKev` also reads a bundle that is already on disk, in place: pass a directory handle that holds it (OPFS, or
|
|
148
|
+
`showDirectoryPicker()`) or a function that reads a file by its bundle path, instead of a URL. Nothing is fetched and
|
|
149
|
+
nothing is copied into Cache Storage, so a 9 GB model is stored once. `modelFiles(manifest, variant)` lists the files a
|
|
150
|
+
variant loads with their sizes, for a download or resume step; a local file of the wrong size fails the load by name.
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
const opfs = await (await navigator.storage.getDirectory()).getDirectoryHandle("kev-9b");
|
|
154
|
+
const kev = await loadKev(opfs, { ort, variant: "q8f32" });
|
|
155
|
+
// or through a virtual file system: loadKev((path) => fs.readFileBinary(`/models/kev-9b/${path}`), { ort })
|
|
156
|
+
```
|
|
157
|
+
|
|
144
158
|
## Testing
|
|
145
159
|
|
|
146
160
|
```bash
|
|
147
161
|
npm test # rendering, tokenization, encoding, date_facts, temperature; full runtime on onnxruntime-node
|
|
148
162
|
KEV_VARIANTS=fp32 npm test # just the exact variant
|
|
149
163
|
KEV_MODEL=kev-4b npm test # fixtures/kev-4b.json against public/models/kev-4b
|
|
164
|
+
npm run fetch-model -- kev-0.8b q8f32 # published bundle -> public/models/kev-0.8b (resumes; keeps files at size)
|
|
165
|
+
npx playwright install chromium && npm run test:browser # Chromium: loadKev from the real OPFS, the model on WASM and WebGPU
|
|
150
166
|
cd export && uv run python -m kev_web_export.parity --model build/kev-0.8b/web-q8f32/model.onnx \
|
|
151
167
|
--head build/kev-0.8b/head.safetensors --fixtures ../fixtures/kev-0.8b.json
|
|
152
168
|
```
|
|
153
169
|
|
|
170
|
+
The browser tests (`test/browser`, Playwright) run their cases in a module worker, as the demo does. Three write a
|
|
171
|
+
synthetic bundle into the browser's OPFS and load it through a directory handle and a read function. Two copy the
|
|
172
|
+
Kev-0.8B bundle into OPFS, load it from there on WASM and on WebGPU, and compare with the PyTorch fixtures; they also
|
|
173
|
+
check that no model file was fetched and nothing went to Cache Storage. Without a bundle, or without a WebGPU adapter,
|
|
174
|
+
those skip; `KEV_REQUIRE_MODEL=1` and `KEV_REQUIRE_WEBGPU=1` make that a failure. CI downloads the bundle (cached per
|
|
175
|
+
published manifest) and runs the Node and browser suites against it. Its runners have no GPU, so WebGPU runs on
|
|
176
|
+
SwiftShader (a CPU Vulkan): that checks the WebGPU kernels' results, not GPU speed, at about 150 s per fixture, so CI
|
|
177
|
+
runs two (`KEV_WEBGPU_FIXTURES`). `KEV_WEBGPU_SWIFTSHADER=1` forces that adapter locally.
|
|
178
|
+
|
|
154
179
|
`scripts/cdp.mjs` drives a page in a Chrome started with `--remote-debugging-port=9222`, for checking the demo in a
|
|
155
180
|
real browser: `node scripts/cdp.mjs '<expression>'` evaluates in the tab (`MATCH=` picks it by URL), and
|
|
156
181
|
`node scripts/cdp.mjs --shot out.png` screenshots it.
|
package/dist/api.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type JSONContent = string | number | boolean | null | JSONContent[] | {
|
|
|
3
3
|
};
|
|
4
4
|
export interface NoulQuestion {
|
|
5
5
|
type: "noul";
|
|
6
|
-
instructions
|
|
6
|
+
instructions?: JSONContent;
|
|
7
7
|
criteria?: {
|
|
8
8
|
true?: JSONContent;
|
|
9
9
|
false?: JSONContent;
|
|
@@ -11,12 +11,12 @@ export interface NoulQuestion {
|
|
|
11
11
|
}
|
|
12
12
|
export interface ChoiceQuestion {
|
|
13
13
|
type: "choice";
|
|
14
|
-
instructions
|
|
14
|
+
instructions?: JSONContent;
|
|
15
15
|
criteria: Record<string, JSONContent>;
|
|
16
16
|
}
|
|
17
17
|
export interface ScoreQuestion {
|
|
18
18
|
type: "score";
|
|
19
|
-
instructions
|
|
19
|
+
instructions?: JSONContent;
|
|
20
20
|
criteria: JSONContent[];
|
|
21
21
|
}
|
|
22
22
|
export type Question = NoulQuestion | ChoiceQuestion | ScoreQuestion;
|
|
@@ -60,9 +60,12 @@ export interface DecisionRecord {
|
|
|
60
60
|
options: string[];
|
|
61
61
|
}[];
|
|
62
62
|
}
|
|
63
|
+
/** Per-question metadata to map probabilities back: `keys` are the names probabilities are reported under, in option
|
|
64
|
+
* order (criteria names for choice, ["false", "true"] for noul, level indices for score). */
|
|
63
65
|
export type QuestionMeta = {
|
|
64
66
|
id: string;
|
|
65
67
|
type: "noul";
|
|
68
|
+
keys: string[];
|
|
66
69
|
} | {
|
|
67
70
|
id: string;
|
|
68
71
|
type: "choice";
|
|
@@ -70,6 +73,7 @@ export type QuestionMeta = {
|
|
|
70
73
|
} | {
|
|
71
74
|
id: string;
|
|
72
75
|
type: "score";
|
|
76
|
+
keys: string[];
|
|
73
77
|
legend: Record<string, string>;
|
|
74
78
|
};
|
|
75
79
|
export declare const MAX_OPTIONS = 255;
|
|
@@ -86,6 +90,8 @@ export declare function dateFacts(text: string): string;
|
|
|
86
90
|
/** Port of kev.api.with_date_facts / KEV_DATE_FACTS=1: append day counts when two or more absolute dates appear. */
|
|
87
91
|
export declare function withDateFacts(state: JSONContent): JSONContent;
|
|
88
92
|
export declare function optionText(name: string, desc: JSONContent | undefined): string;
|
|
93
|
+
/** Port of kev.api.question_keys: the keys a question's probabilities are reported under, in option order. */
|
|
94
|
+
export declare function questionKeys(q: Question): string[];
|
|
89
95
|
export declare function toRecord(req: SystemOneRequest): {
|
|
90
96
|
record: DecisionRecord;
|
|
91
97
|
meta: QuestionMeta[];
|
|
@@ -93,8 +99,14 @@ export declare function toRecord(req: SystemOneRequest): {
|
|
|
93
99
|
export declare function choiceConfidence(p: number[]): number;
|
|
94
100
|
/** Approximation of TypeSafe's 'distance from the modal level' statistic: 1 - E|level - mode| / (L - 1). */
|
|
95
101
|
export declare function scoreConfidence(p: number[]): number;
|
|
96
|
-
/** Python round(x,
|
|
97
|
-
|
|
102
|
+
/** Python round(x, digits), which rounds the exact binary value: toFixed does the same, except that it breaks exact
|
|
103
|
+
* ties upward where Python breaks them to even. An exact tie is odd / 2^(digits+1) (0.125 at 2 digits, 0.03125 at 4);
|
|
104
|
+
* 0.015 is not one, since its double lies below it. */
|
|
105
|
+
export declare function pyRound(x: number, digits: number): number;
|
|
106
|
+
/** kev.api.round_prob: 4 decimals keep a rounded 255-option distribution within TypeSafe's |sum - 1| < 0.02. */
|
|
107
|
+
export declare const roundProb: (x: number) => number;
|
|
108
|
+
/** @deprecated kev.serve rounds to 4 decimals now (roundProb); this is Python's round(x, 2). */
|
|
109
|
+
export declare const r2: (x: number) => number;
|
|
98
110
|
export declare function toAnswers(probs: number[][], meta: QuestionMeta[]): Record<string, Answer>;
|
|
99
111
|
/** Python json.dumps (default separators, ensure_ascii). Every number in an answer is a Python float. */
|
|
100
112
|
export declare function pyJsonDumps(v: unknown): string;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAE5G,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -21,8 +21,6 @@ export function validate(req) {
|
|
|
21
21
|
for (const [id, q] of Object.entries(req.questions)) {
|
|
22
22
|
if (!isObject(q))
|
|
23
23
|
throw new ValidationError(`questions.${id} must be an object`);
|
|
24
|
-
if (!("instructions" in q))
|
|
25
|
-
throw new ValidationError(`questions.${id}.instructions is required`);
|
|
26
24
|
if (q.type === "noul") {
|
|
27
25
|
if (q.criteria != null && !isObject(q.criteria))
|
|
28
26
|
throw new ValidationError(`questions.${id}.criteria must be an object`);
|
|
@@ -35,8 +33,8 @@ export function validate(req) {
|
|
|
35
33
|
throw new ValidationError(`criteria must have 1..${MAX_OPTIONS} options`);
|
|
36
34
|
}
|
|
37
35
|
else if (q.type === "score") {
|
|
38
|
-
if (!Array.isArray(q.criteria) || q.criteria.length <
|
|
39
|
-
throw new ValidationError(`questions.${id}.criteria must be a list of
|
|
36
|
+
if (!Array.isArray(q.criteria) || q.criteria.length < 1 || q.criteria.length > MAX_OPTIONS)
|
|
37
|
+
throw new ValidationError(`questions.${id}.criteria must be a list of 1..${MAX_OPTIONS} levels`);
|
|
40
38
|
}
|
|
41
39
|
else {
|
|
42
40
|
throw new ValidationError(`questions.${id}.type must be noul, choice or score`);
|
|
@@ -152,26 +150,34 @@ export function withDateFacts(state) {
|
|
|
152
150
|
export function optionText(name, desc) {
|
|
153
151
|
return desc === null || desc === undefined || desc === "" ? name : `${name}: ${render(desc)}`;
|
|
154
152
|
}
|
|
153
|
+
/** Port of kev.api.question_keys: the keys a question's probabilities are reported under, in option order. */
|
|
154
|
+
export function questionKeys(q) {
|
|
155
|
+
if (q.type === "choice")
|
|
156
|
+
return Object.keys(q.criteria);
|
|
157
|
+
if (q.type === "noul")
|
|
158
|
+
return ["false", "true"];
|
|
159
|
+
return q.criteria.map((_, i) => String(i));
|
|
160
|
+
}
|
|
155
161
|
export function toRecord(req) {
|
|
156
162
|
const questions = [];
|
|
157
163
|
const meta = [];
|
|
158
164
|
for (const [id, q] of Object.entries(req.questions)) {
|
|
159
|
-
const
|
|
165
|
+
const keys = questionKeys(q);
|
|
160
166
|
let options;
|
|
161
167
|
if (q.type === "noul") {
|
|
162
168
|
const c = q.criteria ?? {};
|
|
163
169
|
options = [optionText("no", c.false), optionText("yes", c.true)];
|
|
164
|
-
meta.push({ id, type: "noul" });
|
|
170
|
+
meta.push({ id, type: "noul", keys });
|
|
165
171
|
}
|
|
166
172
|
else if (q.type === "choice") {
|
|
167
173
|
options = Object.entries(q.criteria).map(([k, v]) => optionText(k, v));
|
|
168
|
-
meta.push({ id, type: "choice", keys
|
|
174
|
+
meta.push({ id, type: "choice", keys });
|
|
169
175
|
}
|
|
170
176
|
else {
|
|
171
177
|
options = q.criteria.map((x) => render(x));
|
|
172
|
-
meta.push({ id, type: "score", legend: Object.fromEntries(
|
|
178
|
+
meta.push({ id, type: "score", keys, legend: Object.fromEntries(keys.map((k, i) => [k, options[i]])) });
|
|
173
179
|
}
|
|
174
|
-
questions.push({ instr, options });
|
|
180
|
+
questions.push({ instr: render(q.instructions), options });
|
|
175
181
|
}
|
|
176
182
|
return { record: { state: render(req.state), questions }, meta };
|
|
177
183
|
}
|
|
@@ -182,33 +188,41 @@ export function choiceConfidence(p) {
|
|
|
182
188
|
}
|
|
183
189
|
/** Approximation of TypeSafe's 'distance from the modal level' statistic: 1 - E|level - mode| / (L - 1). */
|
|
184
190
|
export function scoreConfidence(p) {
|
|
191
|
+
if (p.length === 1)
|
|
192
|
+
return 1;
|
|
185
193
|
const mode = argmax(p);
|
|
186
194
|
return 1 - p.reduce((s, pi, i) => s + pi * Math.abs(i - mode), 0) / (p.length - 1);
|
|
187
195
|
}
|
|
188
|
-
/** Python round(x,
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
196
|
+
/** Python round(x, digits), which rounds the exact binary value: toFixed does the same, except that it breaks exact
|
|
197
|
+
* ties upward where Python breaks them to even. An exact tie is odd / 2^(digits+1) (0.125 at 2 digits, 0.03125 at 4);
|
|
198
|
+
* 0.015 is not one, since its double lies below it. */
|
|
199
|
+
export function pyRound(x, digits) {
|
|
200
|
+
const half = x * 2 ** (digits + 1); // exact: scaling by a power of two
|
|
201
|
+
if (Number.isInteger(half) && half % 2 !== 0) {
|
|
202
|
+
const f = Math.floor(x * 10 ** digits); // exact too: x * 10^digits is odd * 5^digits / 2
|
|
203
|
+
return (f % 2 === 0 ? f : f + 1) / 10 ** digits;
|
|
194
204
|
}
|
|
195
|
-
return Number(x.toFixed(
|
|
205
|
+
return Number(x.toFixed(digits));
|
|
196
206
|
}
|
|
207
|
+
/** kev.api.round_prob: 4 decimals keep a rounded 255-option distribution within TypeSafe's |sum - 1| < 0.02. */
|
|
208
|
+
export const roundProb = (x) => pyRound(x, 4);
|
|
209
|
+
/** @deprecated kev.serve rounds to 4 decimals now (roundProb); this is Python's round(x, 2). */
|
|
210
|
+
export const r2 = (x) => pyRound(x, 2);
|
|
197
211
|
export function toAnswers(probs, meta) {
|
|
198
212
|
const out = {};
|
|
199
213
|
probs.forEach((p, i) => {
|
|
200
214
|
const m = meta[i];
|
|
201
215
|
if (m.type === "noul")
|
|
202
|
-
out[m.id] = { type: "noul", noul:
|
|
216
|
+
out[m.id] = { type: "noul", noul: roundProb(p[1]) };
|
|
203
217
|
else if (m.type === "choice")
|
|
204
218
|
out[m.id] = {
|
|
205
|
-
type: "choice", choice: m.keys[argmax(p)], confidence:
|
|
206
|
-
probabilities: Object.fromEntries(m.keys.map((k, j) => [k,
|
|
219
|
+
type: "choice", choice: m.keys[argmax(p)], confidence: roundProb(choiceConfidence(p)),
|
|
220
|
+
probabilities: Object.fromEntries(m.keys.map((k, j) => [k, roundProb(p[j])])),
|
|
207
221
|
};
|
|
208
222
|
else
|
|
209
223
|
out[m.id] = {
|
|
210
|
-
type: "score", score:
|
|
211
|
-
probabilities: Object.fromEntries(p.map((v, j) => [String(j),
|
|
224
|
+
type: "score", score: roundProb(p.reduce((s, pi, j) => s + j * pi, 0)), legend: m.legend,
|
|
225
|
+
probabilities: Object.fromEntries(p.map((v, j) => [String(j), roundProb(v)])), confidence: roundProb(scoreConfidence(p)),
|
|
212
226
|
};
|
|
213
227
|
});
|
|
214
228
|
return out;
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/load.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { InferenceSession } from "onnxruntime-common";
|
|
2
|
-
import { Kev, type KevOptions, type OrtModule } from "./model.ts";
|
|
2
|
+
import { Kev, type KevManifest, type KevOptions, type OrtModule } from "./model.ts";
|
|
3
3
|
export interface Progress {
|
|
4
4
|
file: string;
|
|
5
5
|
loaded: number;
|
|
6
6
|
total: number;
|
|
7
7
|
}
|
|
8
|
+
/** Reads one file of a packaged model by its path in the bundle ("manifest.json", "r-<sha>/q8f32/model.onnx"). */
|
|
9
|
+
export type ReadModelFile = (path: string) => Promise<Uint8Array | ArrayBuffer | Blob>;
|
|
10
|
+
/** Where loadKev reads a model: a base URL (fetched, kept in Cache Storage), a directory holding the bundle (OPFS via
|
|
11
|
+
* navigator.storage.getDirectory(), or showDirectoryPicker()), or a function that reads a file by its bundle path. The
|
|
12
|
+
* last two are read in place: no fetch, no Cache Storage. */
|
|
13
|
+
export type ModelSource = string | FileSystemDirectoryHandle | ReadModelFile;
|
|
8
14
|
/** Coarse stage of loadKev, for a status line that keeps moving after the download finishes. */
|
|
9
15
|
export type LoadPhase = "manifest" | "download" | "session" | "ready";
|
|
10
16
|
export interface LoadOptions extends KevOptions {
|
|
@@ -15,7 +21,7 @@ export interface LoadOptions extends KevOptions {
|
|
|
15
21
|
executionProviders?: InferenceSession.SessionOptions["executionProviders"];
|
|
16
22
|
onProgress?: (p: Progress) => void;
|
|
17
23
|
onPhase?: (phase: LoadPhase) => void;
|
|
18
|
-
/** Cache Storage bucket for model files; null disables caching. Default "kev-web-v1". */
|
|
24
|
+
/** Cache Storage bucket for model files; null disables caching. Default "kev-web-v1". Only URL sources are cached. */
|
|
19
25
|
cacheName?: string | null;
|
|
20
26
|
sessionOptions?: InferenceSession.SessionOptions;
|
|
21
27
|
/** weight files fetched at once. Default 2: on a bandwidth-limited link more streams are slower in aggregate
|
|
@@ -29,5 +35,13 @@ export declare function fetchFile(url: string, o?: {
|
|
|
29
35
|
bytes?: number;
|
|
30
36
|
rev?: string;
|
|
31
37
|
}): Promise<Uint8Array>;
|
|
32
|
-
|
|
38
|
+
/** A ReadModelFile over a directory that holds the bundle as published (manifest.json at its root). */
|
|
39
|
+
export declare function directoryReader(dir: FileSystemDirectoryHandle): ReadModelFile;
|
|
40
|
+
/** Every file a variant loads besides manifest.json, with its size when the manifest records one. A download or resume
|
|
41
|
+
* step can fetch exactly these, and skip those already at their size. */
|
|
42
|
+
export declare function modelFiles(manifest: KevManifest, variant?: string): {
|
|
43
|
+
path: string;
|
|
44
|
+
bytes?: number;
|
|
45
|
+
}[];
|
|
46
|
+
export declare function loadKev(source: ModelSource, o: LoadOptions): Promise<Kev>;
|
|
33
47
|
//# sourceMappingURL=load.d.ts.map
|
package/dist/load.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,WAAW,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEzE,kHAAkH;AAClH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC;AAEvF;;6DAE6D;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,yBAAyB,GAAG,aAAa,CAAC;AAE7E,gGAAgG;AAChG,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,GAAG,EAAE,SAAS,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC3E,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,sHAAsH;IACtH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC;IACjD;sFACkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyBD,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAsBxL;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,GAAG,EAAE,yBAAyB,GAAG,aAAa,CAO7E;AAED;yEACyE;AACzE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,SAAoC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAKjI;AAuCD,wBAAsB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA+B/E"}
|
package/dist/load.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// Load a packaged Kev model (kev_web_export.package output)
|
|
2
|
-
//
|
|
3
|
-
//
|
|
1
|
+
// Load a packaged Kev model (kev_web_export.package output): manifest, tokenizer, head, ONNX graph and its external
|
|
2
|
+
// weights. From a URL, weight files (0.8 GB for kev-0.8b q8) are kept in Cache Storage when available and streamed
|
|
3
|
+
// with progress. A model already on disk (OPFS, a picked directory, a virtual file system) is read in place.
|
|
4
4
|
import { Tokenizer } from "@huggingface/tokenizers";
|
|
5
5
|
import { PointerHead } from "./head.js";
|
|
6
6
|
import { Kev } from "./model.js";
|
|
@@ -59,6 +59,37 @@ export async function fetchFile(url, o = {}) {
|
|
|
59
59
|
}
|
|
60
60
|
return data;
|
|
61
61
|
}
|
|
62
|
+
/** A ReadModelFile over a directory that holds the bundle as published (manifest.json at its root). */
|
|
63
|
+
export function directoryReader(dir) {
|
|
64
|
+
return async (path) => {
|
|
65
|
+
const parts = path.split("/").filter(Boolean);
|
|
66
|
+
let d = dir;
|
|
67
|
+
for (const part of parts.slice(0, -1))
|
|
68
|
+
d = await d.getDirectoryHandle(part);
|
|
69
|
+
return (await d.getFileHandle(parts[parts.length - 1])).getFile();
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Every file a variant loads besides manifest.json, with its size when the manifest records one. A download or resume
|
|
73
|
+
* step can fetch exactly these, and skip those already at their size. */
|
|
74
|
+
export function modelFiles(manifest, variant = Object.keys(manifest.variants)[0]) {
|
|
75
|
+
const v = manifest.variants[variant];
|
|
76
|
+
if (!v)
|
|
77
|
+
throw new Error(`unknown variant ${variant}; have ${Object.keys(manifest.variants).join(", ")}`);
|
|
78
|
+
return [manifest.files.tokenizer, manifest.files.tokenizer_config, manifest.files.head, v.model, ...v.data]
|
|
79
|
+
.map((path) => ({ path, bytes: v.sizes?.[path] }));
|
|
80
|
+
}
|
|
81
|
+
/** One file from a local source, as bytes. Views and buffers may come from another realm (a VFS over postMessage), so
|
|
82
|
+
* they are recognised by shape rather than instanceof. */
|
|
83
|
+
async function readLocal(read, file, o = {}) {
|
|
84
|
+
const got = await read(file);
|
|
85
|
+
const data = ArrayBuffer.isView(got) ? new Uint8Array(got.buffer, got.byteOffset, got.byteLength)
|
|
86
|
+
: typeof got.arrayBuffer === "function" ? new Uint8Array(await got.arrayBuffer())
|
|
87
|
+
: new Uint8Array(got);
|
|
88
|
+
if (o.bytes && data.length !== o.bytes)
|
|
89
|
+
throw new Error(`${file}: expected ${o.bytes} bytes, read ${data.length} (incomplete download?)`);
|
|
90
|
+
o.onProgress?.({ file, loaded: data.length, total: data.length });
|
|
91
|
+
return data;
|
|
92
|
+
}
|
|
62
93
|
const join = (base, path) => `${base.replace(/\/$/, "")}/${path}`;
|
|
63
94
|
/** Delete this model's cached files from other revisions: a superseded checkpoint is gigabytes of quota. */
|
|
64
95
|
async function dropOtherRevisions(baseUrl, rev, cacheName) {
|
|
@@ -85,11 +116,14 @@ async function pool(jobs, limit) {
|
|
|
85
116
|
}));
|
|
86
117
|
return out;
|
|
87
118
|
}
|
|
88
|
-
export async function loadKev(
|
|
119
|
+
export async function loadKev(source, o) {
|
|
120
|
+
const baseUrl = typeof source === "string" ? source : null;
|
|
121
|
+
const read = baseUrl !== null ? null : typeof source === "function" ? source : directoryReader(source);
|
|
89
122
|
o.onPhase?.("manifest");
|
|
90
123
|
const decode = (b) => new TextDecoder().decode(b);
|
|
91
124
|
// the manifest is always fetched fresh: it names the revision everything else is cached under
|
|
92
|
-
const manifest = JSON.parse(decode(await
|
|
125
|
+
const manifest = JSON.parse(decode(read ? await readLocal(read, "manifest.json")
|
|
126
|
+
: await fetchFile(join(baseUrl, "manifest.json"), { cacheName: null })));
|
|
93
127
|
const variant = o.variant ?? Object.keys(manifest.variants)[0];
|
|
94
128
|
const v = manifest.variants[variant];
|
|
95
129
|
if (!v)
|
|
@@ -98,7 +132,8 @@ export async function loadKev(baseUrl, o) {
|
|
|
98
132
|
// announce every file up front so the total does not grow as downloads start
|
|
99
133
|
for (const [p, bytes] of Object.entries(v.sizes ?? {}))
|
|
100
134
|
o.onProgress?.({ file: p, loaded: 0, total: bytes });
|
|
101
|
-
const get = (p) =>
|
|
135
|
+
const get = (p) => read ? readLocal(read, p, { onProgress: o.onProgress, bytes: v.sizes?.[p] })
|
|
136
|
+
: fetchFile(join(baseUrl, p), { cacheName: o.cacheName, onProgress: o.onProgress, file: p, bytes: v.sizes?.[p], rev: manifest.run });
|
|
102
137
|
const [tokJson, tokCfg] = (await Promise.all([get(manifest.files.tokenizer), get(manifest.files.tokenizer_config)])).map(decode);
|
|
103
138
|
const [head, graph, ...data] = await pool([manifest.files.head, v.model, ...v.data].map((p) => () => get(p)), o.concurrency ?? 2);
|
|
104
139
|
const tokenizer = new Tokenizer(JSON.parse(tokJson), JSON.parse(tokCfg));
|
|
@@ -111,7 +146,8 @@ export async function loadKev(baseUrl, o) {
|
|
|
111
146
|
externalData: v.data.map((p, i) => ({ path: p.split("/").pop(), data: data[i] })),
|
|
112
147
|
...o.sessionOptions,
|
|
113
148
|
});
|
|
114
|
-
|
|
149
|
+
if (baseUrl !== null)
|
|
150
|
+
await dropOtherRevisions(baseUrl, manifest.run, o.cacheName);
|
|
115
151
|
o.onPhase?.("ready");
|
|
116
152
|
return new Kev({ ort: o.ort, session, head: PointerHead.fromSafetensors(head.slice().buffer), tokenizer, manifest, variant, options: o });
|
|
117
153
|
}
|
package/dist/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/kev.js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Kev decision models in the browser: WebGPU/WASM via onnxruntime-web, TypeSafe System One API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kev",
|
|
@@ -41,7 +41,10 @@
|
|
|
41
41
|
"dev": "vite demo",
|
|
42
42
|
"build:demo": "vite build demo",
|
|
43
43
|
"typecheck": "tsc --noEmit -p .",
|
|
44
|
-
"test": "node --import tsx --test test/*.test.ts"
|
|
44
|
+
"test": "node --import tsx --test test/*.test.ts",
|
|
45
|
+
"test:browser": "playwright test",
|
|
46
|
+
"fetch-model": "node --import tsx scripts/fetch-model.ts",
|
|
47
|
+
"release": "semantic-release"
|
|
45
48
|
},
|
|
46
49
|
"dependencies": {
|
|
47
50
|
"@huggingface/tokenizers": "^0.2.0"
|
|
@@ -50,9 +53,13 @@
|
|
|
50
53
|
"onnxruntime-common": ">=1.30.0"
|
|
51
54
|
},
|
|
52
55
|
"devDependencies": {
|
|
56
|
+
"@playwright/test": "1.63.0",
|
|
57
|
+
"@semantic-release/changelog": "^7.0.0",
|
|
58
|
+
"@semantic-release/git": "^11.0.1",
|
|
53
59
|
"@types/node": "^26.0.0",
|
|
54
60
|
"onnxruntime-node": "^1.30.0",
|
|
55
61
|
"onnxruntime-web": "^1.30.0",
|
|
62
|
+
"semantic-release": "^25.0.9",
|
|
56
63
|
"tsx": "^4.20.0",
|
|
57
64
|
"typescript": "^7.0.0",
|
|
58
65
|
"vite": "^8.0.0"
|