webml-kit 0.2.1 → 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/dist/loader.js ADDED
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Functional, zero-ceremony model loader for webml-kit.
3
+ *
4
+ * ```ts
5
+ * import webml from 'webml-kit';
6
+ *
7
+ * // Speech recognition
8
+ * const asr = await webml('onnx-community/whisper-tiny.en');
9
+ * const { text } = await asr.transcribe(audioBlob);
10
+ *
11
+ * // Live mic listening
12
+ * const mic = await asr.listen({ onTranscript: (t) => console.log(t) });
13
+ *
14
+ * // Text generation
15
+ * const llm = await webml('onnx-community/Llama-3.2-1B-Instruct-ONNX');
16
+ * for await (const { token } of llm.stream('Tell me a joke')) {
17
+ * process.stdout.write(token);
18
+ * }
19
+ *
20
+ * // Callable invocation for any model
21
+ * const classifier = await webml('Xenova/vit-base-patch16-224');
22
+ * const labels = await classifier(imageFile);
23
+ * ```
24
+ */
25
+ import { ModelClient } from './model-client.js';
26
+ import { getModelInfo } from './hub.js';
27
+ import { coerceAudio, listenMic } from './inputs.js';
28
+ import { createDecisionEngine, directChoice, } from './decision.js';
29
+ /**
30
+ * Automatically infers the pipeline task from modelId, file extensions, or Hugging Face metadata.
31
+ */
32
+ export async function inferTask(modelId) {
33
+ const lower = modelId.toLowerCase();
34
+ // Fast heuristic matching
35
+ if (lower.includes('openjev') ||
36
+ lower.includes('jev') ||
37
+ lower.includes('decision') ||
38
+ lower === 'minicpm5-2b' ||
39
+ lower === 'qwen3-0.6b' ||
40
+ lower === 'qwen3.5-4b') {
41
+ return 'decision';
42
+ }
43
+ if (lower.includes('kokoro') ||
44
+ lower.includes('speecht5') ||
45
+ lower.includes('mms-tts') ||
46
+ lower.includes('tts')) {
47
+ return 'text-to-speech';
48
+ }
49
+ if (lower.includes('whisper') ||
50
+ lower.includes('asr') ||
51
+ lower.includes('speech') ||
52
+ lower.includes('sushrota') ||
53
+ lower.includes('parakeet')) {
54
+ return 'automatic-speech-recognition';
55
+ }
56
+ if (lower.includes('llama') ||
57
+ lower.includes('qwen') ||
58
+ lower.includes('gpt') ||
59
+ lower.includes('mistral') ||
60
+ lower.includes('phi') ||
61
+ lower.includes('gemma') ||
62
+ lower.includes('bonsai')) {
63
+ return 'text-generation';
64
+ }
65
+ if (lower.includes('detr') || lower.includes('yolo')) {
66
+ return 'object-detection';
67
+ }
68
+ if (lower.includes('vit') || lower.includes('resnet') || lower.includes('mobilenet')) {
69
+ return 'image-classification';
70
+ }
71
+ if (lower.includes('minilm') || lower.includes('bge') || lower.includes('embed')) {
72
+ return 'feature-extraction';
73
+ }
74
+ if (lower.endsWith('.onnx')) {
75
+ return 'raw-onnx';
76
+ }
77
+ // Fallback to HF Hub lookup
78
+ try {
79
+ const info = await getModelInfo(modelId);
80
+ if (info.task && info.task !== 'unknown') {
81
+ return info.task;
82
+ }
83
+ const tags = info.tags || [];
84
+ if (tags.includes('automatic-speech-recognition') || tags.includes('audio')) {
85
+ return 'automatic-speech-recognition';
86
+ }
87
+ if (tags.includes('text-generation')) {
88
+ return 'text-generation';
89
+ }
90
+ if (tags.includes('image-classification')) {
91
+ return 'image-classification';
92
+ }
93
+ }
94
+ catch {
95
+ // Non-fatal
96
+ }
97
+ return 'text-generation';
98
+ }
99
+ /**
100
+ * Load any ML model for in-browser execution with zero ceremony.
101
+ *
102
+ * @param modelId - Hugging Face model ID (e.g. 'onnx-community/whisper-tiny.en') or URL
103
+ * @param options - Configuration options
104
+ * @returns Ready-to-use callable model instance
105
+ */
106
+ async function webmlImpl(modelId, options = {}) {
107
+ const task = options.task ?? (await inferTask(modelId));
108
+ if (task === 'decision') {
109
+ const engine = createDecisionEngine({
110
+ model: modelId,
111
+ onProgress: options.onProgress
112
+ ? (e) => options.onProgress?.({
113
+ status: e.status,
114
+ loaded: e.loaded,
115
+ total: e.total,
116
+ percent: e.percent,
117
+ file: e.detail,
118
+ })
119
+ : undefined,
120
+ });
121
+ await engine.init();
122
+ const runner = async (input, runOptions) => {
123
+ if (typeof input === 'object' && input !== null && 'options' in input) {
124
+ return engine.choice(input);
125
+ }
126
+ if (typeof input === 'object' && input !== null && 'statement' in input) {
127
+ return engine.noul(input);
128
+ }
129
+ if (typeof input === 'object' && input !== null && 'criteria' in input) {
130
+ return engine.score(input);
131
+ }
132
+ return engine.choice({
133
+ state: input,
134
+ options: runOptions?.options || ['yes', 'no'],
135
+ });
136
+ };
137
+ const model = Object.assign(runner, {
138
+ task,
139
+ modelId,
140
+ client: null,
141
+ run: async (input, runOptions) => {
142
+ return runner(input, runOptions);
143
+ },
144
+ dispose: () => {
145
+ engine.dispose();
146
+ },
147
+ choice: (choiceInput) => engine.choice(choiceInput),
148
+ directChoice: (choiceInput) => engine.directChoice(choiceInput),
149
+ noul: (noulInput) => engine.noul(noulInput),
150
+ score: (scoreInput) => engine.score(scoreInput),
151
+ stream: () => {
152
+ throw new Error('Streaming is not supported for decision models');
153
+ },
154
+ generate: async () => {
155
+ throw new Error('generate is not supported for decision models; use choice() or score()');
156
+ },
157
+ transcribe: async () => {
158
+ throw new Error('transcribe is not supported for decision models');
159
+ },
160
+ classify: async () => {
161
+ throw new Error('Use choice() or score() for decision models');
162
+ },
163
+ embed: async () => {
164
+ throw new Error('embed is not supported for decision models');
165
+ },
166
+ detect: async () => {
167
+ throw new Error('detect is not supported for decision models');
168
+ },
169
+ listen: async () => {
170
+ throw new Error('listen is not supported for decision models');
171
+ },
172
+ });
173
+ return model;
174
+ }
175
+ const client = new ModelClient(options.workerUrl);
176
+ await client.load({
177
+ task,
178
+ modelId,
179
+ dtype: options.dtype,
180
+ device: options.device,
181
+ revision: options.revision,
182
+ onProgress: options.onProgress,
183
+ });
184
+ const runner = async (input, runOptions) => {
185
+ if (task === 'automatic-speech-recognition') {
186
+ const pcm = await coerceAudio(input);
187
+ return client.run('automatic-speech-recognition', pcm, runOptions);
188
+ }
189
+ return client.run(task, input, runOptions);
190
+ };
191
+ const model = Object.assign(runner, {
192
+ task,
193
+ modelId,
194
+ client,
195
+ run: (input, runOptions) => {
196
+ return runner(input, runOptions);
197
+ },
198
+ dispose: () => {
199
+ client.dispose();
200
+ client.terminate();
201
+ },
202
+ stream: (input, genOptions) => {
203
+ return client.stream(input, genOptions);
204
+ },
205
+ generate: (input, genOptions) => {
206
+ return client.generate(input, genOptions);
207
+ },
208
+ transcribe: async (input, runOptions) => {
209
+ const pcm = await coerceAudio(input);
210
+ return client.run('automatic-speech-recognition', pcm, runOptions);
211
+ },
212
+ classify: (input, runOptions) => {
213
+ return client.run('image-classification', input, runOptions);
214
+ },
215
+ embed: (input, runOptions) => {
216
+ return client.run('feature-extraction', input, runOptions);
217
+ },
218
+ detect: (input, runOptions) => {
219
+ return client.run('object-detection', input, runOptions);
220
+ },
221
+ listen: async (listenOptions) => {
222
+ return listenMic(async (pcm) => {
223
+ try {
224
+ const res = await client.run('automatic-speech-recognition', pcm);
225
+ if (res?.text?.trim()) {
226
+ listenOptions.onTranscript(res.text.trim());
227
+ }
228
+ }
229
+ catch (err) {
230
+ console.warn('Transcription error during mic listen:', err);
231
+ }
232
+ }, { intervalSeconds: listenOptions.intervalSeconds });
233
+ },
234
+ });
235
+ return model;
236
+ }
237
+ export const webml = Object.assign(webmlImpl, {
238
+ decision: (options) => {
239
+ return createDecisionEngine(options);
240
+ },
241
+ directChoice: (input, options) => {
242
+ return directChoice(input, options);
243
+ },
244
+ });
245
+ export default webml;
246
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * Communication is via structured `postMessage` using WorkerCommand/WorkerResponse types.
14
14
  */
15
15
  import { pipeline as hfPipeline, TextStreamer, DynamicCache, InterruptableStoppingCriteria, } from '@huggingface/transformers';
16
+ import { createOnnxPipeline } from './onnx-pipeline.js';
16
17
  const instances = new Map();
17
18
  const kvCaches = new Map();
18
19
  const stoppingCriteria = new InterruptableStoppingCriteria();
@@ -74,28 +75,59 @@ async function loadPipeline(config) {
74
75
  });
75
76
  // Create singleton pipeline
76
77
  if (!instances.has(key)) {
77
- const pipelinePromise = hfPipeline(config.task, config.modelId, {
78
- device: config.device ?? 'webgpu',
79
- dtype: config.dtype ?? 'q4',
80
- revision: config.revision,
81
- progress_callback: (info) => {
82
- if (info.status === 'progress' || info.status === 'progress_total') {
83
- const loaded = Number(info.loaded ?? 0);
84
- const total = Number(info.total ?? 1);
85
- send({
86
- type: 'progress',
87
- data: {
88
- status: 'downloading',
89
- file: String(info.file ?? ''),
90
- loaded,
91
- total,
92
- percent: total > 0 ? Math.round((loaded / total) * 100) : 0,
93
- },
94
- });
78
+ const isExplicitOnnx = config.modelType === 'onnx' ||
79
+ config.modelId.endsWith('.onnx') ||
80
+ config.task === 'raw-onnx' ||
81
+ config.task === 'custom';
82
+ const onProgress = (info) => {
83
+ const loaded = Number(info.loaded ?? 0);
84
+ const total = Number(info.total ?? 1);
85
+ const percent = info.percent != null
86
+ ? Number(info.percent)
87
+ : (total > 0 ? Math.round((loaded / total) * 100) : 0);
88
+ send({
89
+ type: 'progress',
90
+ data: {
91
+ status: info.status ?? 'downloading',
92
+ file: String(info.file ?? ''),
93
+ loaded,
94
+ total,
95
+ percent,
96
+ },
97
+ });
98
+ };
99
+ const loadFn = async () => {
100
+ if (isExplicitOnnx) {
101
+ return createOnnxPipeline(config, onProgress);
102
+ }
103
+ if (config.modelType === 'transformers') {
104
+ return (await hfPipeline(config.task, config.modelId, {
105
+ device: config.device ?? 'webgpu',
106
+ dtype: config.dtype ?? 'q4',
107
+ revision: config.revision,
108
+ progress_callback: onProgress,
109
+ }));
110
+ }
111
+ // 'auto' mode: try Hugging Face pipeline first, fallback to ONNX if config is missing
112
+ try {
113
+ return (await hfPipeline(config.task, config.modelId, {
114
+ device: config.device ?? 'webgpu',
115
+ dtype: config.dtype ?? 'q4',
116
+ revision: config.revision,
117
+ progress_callback: onProgress,
118
+ }));
119
+ }
120
+ catch (hfErr) {
121
+ const errMsg = hfErr instanceof Error ? hfErr.message : String(hfErr);
122
+ if (errMsg.includes('config.json') ||
123
+ errMsg.includes('Could not locate file') ||
124
+ errMsg.includes('Unsupported model type')) {
125
+ return createOnnxPipeline(config, onProgress);
95
126
  }
96
- },
97
- });
98
- instances.set(key, pipelinePromise);
127
+ throw hfErr;
128
+ }
129
+ };
130
+ instances.set(key, loadFn());
99
131
  }
100
132
  try {
101
133
  const generator = await instances.get(key);
@@ -249,6 +281,8 @@ async function runTextGeneration(id, generator, messages, options) {
249
281
  // ─── Cleanup ───
250
282
  function disposeModel(targetKey) {
251
283
  if (targetKey) {
284
+ const p = instances.get(targetKey);
285
+ p?.then(inst => inst?.dispose?.());
252
286
  instances.delete(targetKey);
253
287
  if (kvCaches.has(targetKey)) {
254
288
  kvCaches.get(targetKey)?.dispose?.();
@@ -256,6 +290,9 @@ function disposeModel(targetKey) {
256
290
  }
257
291
  }
258
292
  else {
293
+ for (const p of instances.values()) {
294
+ p.then(inst => inst?.dispose?.());
295
+ }
259
296
  instances.clear();
260
297
  for (const cache of kvCaches.values()) {
261
298
  cache?.dispose?.();
@@ -1 +1 @@
1
- {"version":3,"file":"model-worker.js","sourceRoot":"","sources":["../src/model-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-worker.js","sourceRoot":"","sources":["../src/model-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Direct ONNX Runtime Web pipeline runner.
3
+ *
4
+ * Supports standalone and custom ONNX models that do not use Hugging Face
5
+ * Transformers architecture (such as NeMo Conformer-CTC ASR models,
6
+ * standalone vision models, or raw ONNX models).
7
+ */
8
+ import * as ort from 'onnxruntime-web';
9
+ import type { ModelConfig, ProgressCallback } from './types.js';
10
+ export interface OnnxPipelineInstance {
11
+ (input: unknown, options?: Record<string, unknown>): Promise<unknown>;
12
+ sessions: ort.InferenceSession[];
13
+ backend: 'webgpu' | 'wasm';
14
+ dispose: () => void;
15
+ }
16
+ export declare function decodeWavToFloat32(buffer: ArrayBuffer): Float32Array;
17
+ export declare function toFloat32Array(input: unknown): Float32Array;
18
+ export declare function decodeCTC(logprobs: Float32Array, timeSteps: number, numClasses: number, vocab: Record<number | string, string> | string[]): string;
19
+ export declare function createOnnxPipeline(config: ModelConfig, onProgress?: ProgressCallback): Promise<OnnxPipelineInstance>;
20
+ //# sourceMappingURL=onnx-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onnx-pipeline.d.ts","sourceRoot":"","sources":["../src/onnx-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgBhE,MAAM,WAAW,oBAAoB;IACnC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuLD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CA0EpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAS3D;AAID,wBAAgB,SAAS,CACvB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,GAChD,MAAM,CA+BR;AAID,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA8L/B"}