@qvac/sdk 0.8.3 → 0.9.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/NOTICE +267 -63
- package/dist/client/api/diffusion.d.ts +32 -0
- package/dist/client/api/diffusion.js +103 -0
- package/dist/client/api/embed.d.ts +9 -3
- package/dist/client/api/embed.js +4 -1
- package/dist/client/api/finetune.d.ts +69 -0
- package/dist/client/api/finetune.js +139 -0
- package/dist/client/api/get-model-info.d.ts +1 -1
- package/dist/client/api/index.d.ts +4 -0
- package/dist/client/api/index.js +4 -0
- package/dist/client/api/rag.d.ts +1 -1
- package/dist/client/api/rag.js +1 -1
- package/dist/client/api/resume.d.ts +14 -0
- package/dist/client/api/resume.js +20 -0
- package/dist/client/api/suspend.d.ts +13 -0
- package/dist/client/api/suspend.js +19 -0
- package/dist/client/api/transcribe.d.ts +25 -17
- package/dist/client/api/transcribe.js +115 -35
- package/dist/client/rpc/bare-client.d.ts +5 -1
- package/dist/client/rpc/bare-client.js +70 -57
- package/dist/client/rpc/expo-rpc-client.d.ts +4 -0
- package/dist/client/rpc/expo-rpc-client.js +8 -0
- package/dist/client/rpc/node-rpc-client.d.ts +4 -0
- package/dist/client/rpc/node-rpc-client.js +8 -0
- package/dist/client/rpc/rpc-client.d.ts +13 -0
- package/dist/client/rpc/rpc-client.js +131 -1
- package/dist/examples/delegated-inference/composite.d.ts +2 -0
- package/dist/examples/delegated-inference/composite.js +99 -0
- package/dist/examples/diffusion-flux2-klein.d.ts +2 -0
- package/dist/examples/diffusion-flux2-klein.js +46 -0
- package/dist/examples/diffusion-simple.d.ts +2 -0
- package/dist/examples/diffusion-simple.js +17 -0
- package/dist/examples/diffusion-txt2img.d.ts +2 -0
- package/dist/examples/diffusion-txt2img.js +40 -0
- package/dist/examples/embed-p2p.js +2 -2
- package/dist/examples/finetune/llamacpp-finetune.d.ts +2 -0
- package/dist/examples/finetune/llamacpp-finetune.js +78 -0
- package/dist/examples/logging-streaming.js +1 -1
- package/dist/examples/mcp-websearch.js +2 -0
- package/dist/examples/ocr-fasttext.js +11 -0
- package/dist/examples/profiling/per-call.js +3 -3
- package/dist/examples/rag/rag-chromadb.js +2 -2
- package/dist/examples/rag/rag-hyperdb/pipeline.js +1 -1
- package/dist/examples/rag/rag-lancedb.js +2 -2
- package/dist/examples/rag/rag-sqlite.js +2 -2
- package/dist/examples/suspend-resume.d.ts +2 -0
- package/dist/examples/suspend-resume.js +52 -0
- package/dist/examples/transcription/parakeet-ctc-filesystem.js +3 -5
- package/dist/examples/transcription/parakeet-microphone-record.js +42 -33
- package/dist/examples/transcription/parakeet-sortformer.js +13 -3
- package/dist/examples/transcription/parakeet-tdt-filesystem.js +5 -7
- package/dist/examples/transcription/whispercpp-filesystem-streaming.d.ts +2 -0
- package/dist/examples/transcription/whispercpp-filesystem-streaming.js +99 -0
- package/dist/examples/transcription/whispercpp-microphone-record.js +78 -299
- package/dist/examples/transcription/whispercpp-prompt.js +11 -0
- package/dist/examples/translation/translation-llm.js +2 -2
- package/dist/examples/tts/supertonic-multilingual.d.ts +2 -0
- package/dist/examples/tts/supertonic-multilingual.js +56 -0
- package/dist/examples/tts/supertonic.js +12 -7
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/logging/utils.js +1 -1
- package/dist/models/registry/models.d.ts +15176 -4264
- package/dist/models/registry/models.js +18657 -7404
- package/dist/models/update-models/codegen.js +2 -2
- package/dist/models/update-models/naming.js +26 -0
- package/dist/pear/pre.js +2 -0
- package/dist/polyfills/bare-globals.d.ts +2 -0
- package/dist/polyfills/bare-globals.js +4 -0
- package/dist/polyfills/bare-globals.noop.d.ts +2 -0
- package/dist/polyfills/bare-globals.noop.js +1 -0
- package/dist/profiling/exporters.js +16 -11
- package/dist/profiling/model-execution.d.ts +16 -0
- package/dist/profiling/model-execution.js +33 -0
- package/dist/schemas/common.d.ts +967 -198
- package/dist/schemas/common.js +16 -1
- package/dist/schemas/completion-stream.d.ts +14 -6
- package/dist/schemas/completion-stream.js +4 -3
- package/dist/schemas/download-asset.d.ts +7 -3
- package/dist/schemas/embed.d.ts +19 -0
- package/dist/schemas/embed.js +7 -0
- package/dist/schemas/engine-addon-map.js +4 -1
- package/dist/schemas/finetune.d.ts +620 -0
- package/dist/schemas/finetune.js +161 -0
- package/dist/schemas/get-model-info.d.ts +2 -0
- package/dist/schemas/get-model-info.js +1 -0
- package/dist/schemas/index.d.ts +5 -1
- package/dist/schemas/index.js +5 -1
- package/dist/schemas/llamacpp-config.d.ts +26 -6
- package/dist/schemas/llamacpp-config.js +12 -0
- package/dist/schemas/load-model.d.ts +4005 -1400
- package/dist/schemas/load-model.js +34 -1
- package/dist/schemas/model-src-utils.d.ts +10 -2
- package/dist/schemas/model-types.d.ts +19 -1
- package/dist/schemas/model-types.js +11 -0
- package/dist/schemas/ocr.d.ts +2 -0
- package/dist/schemas/plugin.d.ts +24 -3
- package/dist/schemas/plugin.js +14 -0
- package/dist/schemas/profiling.d.ts +4 -0
- package/dist/schemas/profiling.js +4 -0
- package/dist/schemas/registry.d.ts +18 -0
- package/dist/schemas/registry.js +2 -0
- package/dist/schemas/reload-config.d.ts +9 -1
- package/dist/schemas/resume.d.ts +10 -0
- package/dist/schemas/resume.js +7 -0
- package/dist/schemas/sdcpp-config.d.ts +327 -0
- package/dist/schemas/sdcpp-config.js +102 -0
- package/dist/schemas/sdk-config.d.ts +1225 -235
- package/dist/schemas/sdk-config.js +4 -0
- package/dist/schemas/sdk-errors-server.d.ts +2 -0
- package/dist/schemas/sdk-errors-server.js +12 -0
- package/dist/schemas/suspend.d.ts +10 -0
- package/dist/schemas/suspend.js +7 -0
- package/dist/schemas/text-to-speech.d.ts +187 -10
- package/dist/schemas/text-to-speech.js +12 -4
- package/dist/schemas/transcription-config.d.ts +16 -56
- package/dist/schemas/transcription-config.js +0 -2
- package/dist/schemas/transcription.d.ts +66 -6
- package/dist/schemas/transcription.js +29 -7
- package/dist/schemas/translate.d.ts +14 -4
- package/dist/schemas/translate.js +10 -2
- package/dist/schemas/translation-config.d.ts +30 -10
- package/dist/server/bare/delegate-rpc-client.js +3 -3
- package/dist/server/bare/hyperswarm.js +15 -3
- package/dist/server/bare/ops/embed.d.ts +8 -4
- package/dist/server/bare/ops/embed.js +15 -4
- package/dist/server/bare/ops/transcribe.d.ts +6 -2
- package/dist/server/bare/ops/transcribe.js +53 -1
- package/dist/server/bare/ops/translate.d.ts +4 -1
- package/dist/server/bare/ops/translate.js +28 -65
- package/dist/server/bare/ops/unload-model.js +2 -0
- package/dist/server/bare/plugins/index.d.ts +1 -0
- package/dist/server/bare/plugins/index.js +1 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +3 -1
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +45 -9
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +11 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +112 -0
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +175 -5
- package/dist/server/bare/plugins/llamacpp-completion/plugin.js +45 -35
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +11 -1
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +9 -4
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +17 -2
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +16 -15
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +5 -7
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +11 -3
- package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +2 -0
- package/dist/server/bare/plugins/onnx-ocr/plugin.js +24 -19
- package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech.d.ts +7 -2
- package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech.js +22 -97
- package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +98 -9
- package/dist/server/bare/plugins/onnx-tts/plugin.js +85 -46
- package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +30 -60
- package/dist/server/bare/plugins/parakeet-transcription/plugin.js +49 -37
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +3 -0
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +51 -0
- package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +278 -0
- package/dist/server/bare/plugins/sdcpp-generation/plugin.js +70 -0
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +38 -2
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +43 -22
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +2 -1
- package/dist/server/bare/rag-hyperdb/handlers/search.js +2 -1
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +7 -0
- package/dist/server/bare/registry/model-config-utils.js +3 -0
- package/dist/server/bare/registry/model-registry.d.ts +2 -2
- package/dist/server/bare/registry/model-registry.js +1 -1
- package/dist/server/bare/registry/registry-client.js +21 -0
- package/dist/server/bare/runtime-lifecycle.d.ts +28 -0
- package/dist/server/bare/runtime-lifecycle.js +132 -0
- package/dist/server/bare/types/addon-responses.d.ts +62 -0
- package/dist/server/bare/types/addon-responses.js +1 -0
- package/dist/server/env.js +3 -1
- package/dist/server/rpc/delegate-transport.js +1 -1
- package/dist/server/rpc/handle-request.js +50 -4
- package/dist/server/rpc/handler-registry.js +20 -1
- package/dist/server/rpc/handler-utils.d.ts +5 -3
- package/dist/server/rpc/handler-utils.js +52 -50
- package/dist/server/rpc/handlers/delete-cache.js +3 -0
- package/dist/server/rpc/handlers/diffusion-stream.d.ts +3 -0
- package/dist/server/rpc/handlers/diffusion-stream.js +4 -0
- package/dist/server/rpc/handlers/finetune.d.ts +3 -0
- package/dist/server/rpc/handlers/finetune.js +16 -0
- package/dist/server/rpc/handlers/index.d.ts +10 -0
- package/dist/server/rpc/handlers/index.js +10 -0
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +24 -9
- package/dist/server/rpc/handlers/load-model/registry.d.ts +11 -0
- package/dist/server/rpc/handlers/load-model/registry.js +31 -4
- package/dist/server/rpc/handlers/plugin-dispatch.d.ts +1 -13
- package/dist/server/rpc/handlers/plugin-dispatch.js +21 -21
- package/dist/server/rpc/handlers/resume.d.ts +3 -0
- package/dist/server/rpc/handlers/resume.js +11 -0
- package/dist/server/rpc/handlers/suspend.d.ts +3 -0
- package/dist/server/rpc/handlers/suspend.js +11 -0
- package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
- package/dist/server/rpc/handlers/transcribe.d.ts +3 -0
- package/dist/server/rpc/handlers/transcribe.js +4 -0
- package/dist/server/rpc/profiling/operation-metrics.js +107 -16
- package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
- package/dist/server/rpc/profiling/operation-wrappers.js +51 -19
- package/dist/server/rpc/progress-throttle.d.ts +8 -0
- package/dist/server/rpc/progress-throttle.js +47 -0
- package/dist/server/rpc/rpc-utils.d.ts +5 -0
- package/dist/server/rpc/rpc-utils.js +11 -0
- package/dist/server/utils/path-security.js +1 -1
- package/dist/server/utils/tool-integration.js +10 -0
- package/dist/server/utils/tool-parser.js +9 -5
- package/dist/server/worker-core.d.ts +2 -0
- package/dist/server/worker-core.js +26 -23
- package/dist/server/worker.js +2 -1
- package/dist/utils/encoding.d.ts +9 -0
- package/dist/utils/encoding.js +14 -0
- package/dist/utils/errors-server.d.ts +6 -0
- package/dist/utils/errors-server.js +11 -0
- package/package.json +36 -25
- package/dist/server/rpc/delegate-utils.d.ts +0 -2
- package/dist/server/rpc/delegate-utils.js +0 -5
|
@@ -121,6 +121,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
121
121
|
"onnx-tts": "onnx-tts";
|
|
122
122
|
"parakeet-transcription": "parakeet-transcription";
|
|
123
123
|
"onnx-ocr": "onnx-ocr";
|
|
124
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
124
125
|
llm: "llm";
|
|
125
126
|
whisper: "whisper";
|
|
126
127
|
embeddings: "embeddings";
|
|
@@ -128,6 +129,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
128
129
|
parakeet: "parakeet";
|
|
129
130
|
tts: "tts";
|
|
130
131
|
ocr: "ocr";
|
|
132
|
+
diffusion: "diffusion";
|
|
131
133
|
}>, z.ZodLiteral<"vad">]>>;
|
|
132
134
|
}, z.core.$strip>]>>;
|
|
133
135
|
dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -149,6 +151,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
149
151
|
"onnx-tts": "onnx-tts";
|
|
150
152
|
"parakeet-transcription": "parakeet-transcription";
|
|
151
153
|
"onnx-ocr": "onnx-ocr";
|
|
154
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
152
155
|
llm: "llm";
|
|
153
156
|
whisper: "whisper";
|
|
154
157
|
embeddings: "embeddings";
|
|
@@ -156,6 +159,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
156
159
|
parakeet: "parakeet";
|
|
157
160
|
tts: "tts";
|
|
158
161
|
ocr: "ocr";
|
|
162
|
+
diffusion: "diffusion";
|
|
159
163
|
}>, z.ZodLiteral<"vad">]>>;
|
|
160
164
|
}, z.core.$strip>]>>;
|
|
161
165
|
normalize: z.ZodOptional<z.ZodNumber>;
|
|
@@ -190,6 +194,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
190
194
|
"onnx-tts": "onnx-tts";
|
|
191
195
|
"parakeet-transcription": "parakeet-transcription";
|
|
192
196
|
"onnx-ocr": "onnx-ocr";
|
|
197
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
193
198
|
llm: "llm";
|
|
194
199
|
whisper: "whisper";
|
|
195
200
|
embeddings: "embeddings";
|
|
@@ -197,6 +202,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
197
202
|
parakeet: "parakeet";
|
|
198
203
|
tts: "tts";
|
|
199
204
|
ocr: "ocr";
|
|
205
|
+
diffusion: "diffusion";
|
|
200
206
|
}>, z.ZodLiteral<"vad">]>>;
|
|
201
207
|
}, z.core.$strip>]>;
|
|
202
208
|
srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -218,6 +224,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
218
224
|
"onnx-tts": "onnx-tts";
|
|
219
225
|
"parakeet-transcription": "parakeet-transcription";
|
|
220
226
|
"onnx-ocr": "onnx-ocr";
|
|
227
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
221
228
|
llm: "llm";
|
|
222
229
|
whisper: "whisper";
|
|
223
230
|
embeddings: "embeddings";
|
|
@@ -225,6 +232,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
225
232
|
parakeet: "parakeet";
|
|
226
233
|
tts: "tts";
|
|
227
234
|
ocr: "ocr";
|
|
235
|
+
diffusion: "diffusion";
|
|
228
236
|
}>, z.ZodLiteral<"vad">]>>;
|
|
229
237
|
}, z.core.$strip>]>>;
|
|
230
238
|
dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -246,6 +254,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
246
254
|
"onnx-tts": "onnx-tts";
|
|
247
255
|
"parakeet-transcription": "parakeet-transcription";
|
|
248
256
|
"onnx-ocr": "onnx-ocr";
|
|
257
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
249
258
|
llm: "llm";
|
|
250
259
|
whisper: "whisper";
|
|
251
260
|
embeddings: "embeddings";
|
|
@@ -253,6 +262,7 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
253
262
|
parakeet: "parakeet";
|
|
254
263
|
tts: "tts";
|
|
255
264
|
ocr: "ocr";
|
|
265
|
+
diffusion: "diffusion";
|
|
256
266
|
}>, z.ZodLiteral<"vad">]>>;
|
|
257
267
|
}, z.core.$strip>]>>;
|
|
258
268
|
normalize: z.ZodOptional<z.ZodNumber>;
|
|
@@ -442,6 +452,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
442
452
|
"onnx-tts": "onnx-tts";
|
|
443
453
|
"parakeet-transcription": "parakeet-transcription";
|
|
444
454
|
"onnx-ocr": "onnx-ocr";
|
|
455
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
445
456
|
llm: "llm";
|
|
446
457
|
whisper: "whisper";
|
|
447
458
|
embeddings: "embeddings";
|
|
@@ -449,6 +460,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
449
460
|
parakeet: "parakeet";
|
|
450
461
|
tts: "tts";
|
|
451
462
|
ocr: "ocr";
|
|
463
|
+
diffusion: "diffusion";
|
|
452
464
|
}>, z.ZodLiteral<"vad">]>>;
|
|
453
465
|
}, z.core.$strip>]>>;
|
|
454
466
|
dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -470,6 +482,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
470
482
|
"onnx-tts": "onnx-tts";
|
|
471
483
|
"parakeet-transcription": "parakeet-transcription";
|
|
472
484
|
"onnx-ocr": "onnx-ocr";
|
|
485
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
473
486
|
llm: "llm";
|
|
474
487
|
whisper: "whisper";
|
|
475
488
|
embeddings: "embeddings";
|
|
@@ -477,6 +490,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
477
490
|
parakeet: "parakeet";
|
|
478
491
|
tts: "tts";
|
|
479
492
|
ocr: "ocr";
|
|
493
|
+
diffusion: "diffusion";
|
|
480
494
|
}>, z.ZodLiteral<"vad">]>>;
|
|
481
495
|
}, z.core.$strip>]>>;
|
|
482
496
|
normalize: z.ZodOptional<z.ZodNumber>;
|
|
@@ -511,6 +525,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
511
525
|
"onnx-tts": "onnx-tts";
|
|
512
526
|
"parakeet-transcription": "parakeet-transcription";
|
|
513
527
|
"onnx-ocr": "onnx-ocr";
|
|
528
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
514
529
|
llm: "llm";
|
|
515
530
|
whisper: "whisper";
|
|
516
531
|
embeddings: "embeddings";
|
|
@@ -518,6 +533,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
518
533
|
parakeet: "parakeet";
|
|
519
534
|
tts: "tts";
|
|
520
535
|
ocr: "ocr";
|
|
536
|
+
diffusion: "diffusion";
|
|
521
537
|
}>, z.ZodLiteral<"vad">]>>;
|
|
522
538
|
}, z.core.$strip>]>;
|
|
523
539
|
srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -539,6 +555,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
539
555
|
"onnx-tts": "onnx-tts";
|
|
540
556
|
"parakeet-transcription": "parakeet-transcription";
|
|
541
557
|
"onnx-ocr": "onnx-ocr";
|
|
558
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
542
559
|
llm: "llm";
|
|
543
560
|
whisper: "whisper";
|
|
544
561
|
embeddings: "embeddings";
|
|
@@ -546,6 +563,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
546
563
|
parakeet: "parakeet";
|
|
547
564
|
tts: "tts";
|
|
548
565
|
ocr: "ocr";
|
|
566
|
+
diffusion: "diffusion";
|
|
549
567
|
}>, z.ZodLiteral<"vad">]>>;
|
|
550
568
|
}, z.core.$strip>]>>;
|
|
551
569
|
dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -567,6 +585,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
567
585
|
"onnx-tts": "onnx-tts";
|
|
568
586
|
"parakeet-transcription": "parakeet-transcription";
|
|
569
587
|
"onnx-ocr": "onnx-ocr";
|
|
588
|
+
"sdcpp-generation": "sdcpp-generation";
|
|
570
589
|
llm: "llm";
|
|
571
590
|
whisper: "whisper";
|
|
572
591
|
embeddings: "embeddings";
|
|
@@ -574,6 +593,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
574
593
|
parakeet: "parakeet";
|
|
575
594
|
tts: "tts";
|
|
576
595
|
ocr: "ocr";
|
|
596
|
+
diffusion: "diffusion";
|
|
577
597
|
}>, z.ZodLiteral<"vad">]>>;
|
|
578
598
|
}, z.core.$strip>]>>;
|
|
579
599
|
normalize: z.ZodOptional<z.ZodNumber>;
|
|
@@ -684,7 +704,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
684
704
|
engine?: string | undefined;
|
|
685
705
|
expectedSize?: number | undefined;
|
|
686
706
|
sha256Checksum?: string | undefined;
|
|
687
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
707
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
688
708
|
} | undefined;
|
|
689
709
|
dstVocabSrc?: string | {
|
|
690
710
|
src: string;
|
|
@@ -697,7 +717,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
697
717
|
engine?: string | undefined;
|
|
698
718
|
expectedSize?: number | undefined;
|
|
699
719
|
sha256Checksum?: string | undefined;
|
|
700
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
720
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
701
721
|
} | undefined;
|
|
702
722
|
normalize?: number | undefined;
|
|
703
723
|
pivotModel?: {
|
|
@@ -712,7 +732,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
712
732
|
engine?: string | undefined;
|
|
713
733
|
expectedSize?: number | undefined;
|
|
714
734
|
sha256Checksum?: string | undefined;
|
|
715
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
735
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
716
736
|
};
|
|
717
737
|
mode?: "full" | undefined;
|
|
718
738
|
beamsize?: number | undefined;
|
|
@@ -734,7 +754,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
734
754
|
engine?: string | undefined;
|
|
735
755
|
expectedSize?: number | undefined;
|
|
736
756
|
sha256Checksum?: string | undefined;
|
|
737
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
757
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
738
758
|
} | undefined;
|
|
739
759
|
dstVocabSrc?: string | {
|
|
740
760
|
src: string;
|
|
@@ -747,7 +767,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
747
767
|
engine?: string | undefined;
|
|
748
768
|
expectedSize?: number | undefined;
|
|
749
769
|
sha256Checksum?: string | undefined;
|
|
750
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
770
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
751
771
|
} | undefined;
|
|
752
772
|
normalize?: number | undefined;
|
|
753
773
|
} | undefined;
|
|
@@ -801,7 +821,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
801
821
|
engine?: string | undefined;
|
|
802
822
|
expectedSize?: number | undefined;
|
|
803
823
|
sha256Checksum?: string | undefined;
|
|
804
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
824
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
805
825
|
} | undefined;
|
|
806
826
|
dstVocabSrc?: string | {
|
|
807
827
|
src: string;
|
|
@@ -814,7 +834,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
814
834
|
engine?: string | undefined;
|
|
815
835
|
expectedSize?: number | undefined;
|
|
816
836
|
sha256Checksum?: string | undefined;
|
|
817
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
837
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
818
838
|
} | undefined;
|
|
819
839
|
normalize?: number | undefined;
|
|
820
840
|
pivotModel?: {
|
|
@@ -829,7 +849,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
829
849
|
engine?: string | undefined;
|
|
830
850
|
expectedSize?: number | undefined;
|
|
831
851
|
sha256Checksum?: string | undefined;
|
|
832
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
852
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
833
853
|
};
|
|
834
854
|
mode?: "full" | undefined;
|
|
835
855
|
beamsize?: number | undefined;
|
|
@@ -851,7 +871,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
851
871
|
engine?: string | undefined;
|
|
852
872
|
expectedSize?: number | undefined;
|
|
853
873
|
sha256Checksum?: string | undefined;
|
|
854
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
874
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
855
875
|
} | undefined;
|
|
856
876
|
dstVocabSrc?: string | {
|
|
857
877
|
src: string;
|
|
@@ -864,7 +884,7 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
864
884
|
engine?: string | undefined;
|
|
865
885
|
expectedSize?: number | undefined;
|
|
866
886
|
sha256Checksum?: string | undefined;
|
|
867
|
-
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
|
|
887
|
+
addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
|
|
868
888
|
} | undefined;
|
|
869
889
|
normalize?: number | undefined;
|
|
870
890
|
} | undefined;
|
|
@@ -5,6 +5,7 @@ import { DelegateConnectionFailedError } from "../../utils/errors-server.js";
|
|
|
5
5
|
import { getServerLogger } from "../../logging/index.js";
|
|
6
6
|
import { nowMs } from "../../profiling/index.js";
|
|
7
7
|
import { cacheDelegationConnectionTime, clearPeerConnectionTracking, } from "../rpc/profiling/delegation-profiler.js";
|
|
8
|
+
import { getNextCommandId } from "../rpc/rpc-utils.js";
|
|
8
9
|
const logger = getServerLogger();
|
|
9
10
|
// Map of active RPC instances by public key
|
|
10
11
|
const activeRPCs = new Map();
|
|
@@ -13,7 +14,6 @@ const activeConnections = new Map();
|
|
|
13
14
|
// Track whether the global connection handler has been registered
|
|
14
15
|
let connectionHandlerRegistered = false;
|
|
15
16
|
const HEALTH_CHECK_TIMEOUT_MS = 1500;
|
|
16
|
-
import { getNextCommandId } from "../rpc/delegate-utils.js";
|
|
17
17
|
function isHeartbeatResponse(payload) {
|
|
18
18
|
return (typeof payload === "object" &&
|
|
19
19
|
payload !== null &&
|
|
@@ -75,13 +75,13 @@ async function closeConnection(publicKey) {
|
|
|
75
75
|
// Wait for the close event before returning so Hyperswarm's internal
|
|
76
76
|
// _allConnections is cleaned up before we attempt to rejoin/flush.
|
|
77
77
|
await new Promise((resolve) => {
|
|
78
|
-
const timeout = setTimeout(resolve, 5000);
|
|
79
78
|
existingConnection.on("close", () => {
|
|
80
|
-
clearTimeout(timeout);
|
|
81
79
|
resolve();
|
|
82
80
|
});
|
|
83
81
|
existingConnection.destroy();
|
|
84
82
|
});
|
|
83
|
+
if (activeConnections.get(publicKey) !== existingConnection)
|
|
84
|
+
return;
|
|
85
85
|
activeConnections.delete(publicKey);
|
|
86
86
|
activeRPCs.delete(publicKey);
|
|
87
87
|
clearPeerConnectionTracking(publicKey);
|
|
@@ -3,6 +3,7 @@ import Hyperswarm from "hyperswarm";
|
|
|
3
3
|
import crypto from "bare-crypto";
|
|
4
4
|
import { envSchema } from "../../schemas/provide.js";
|
|
5
5
|
import { getSDKConfig } from "./registry/config-registry.js";
|
|
6
|
+
import { registerSwarm, unregisterSwarm } from "./runtime-lifecycle.js";
|
|
6
7
|
import { getServerLogger } from "../../logging/index.js";
|
|
7
8
|
const logger = getServerLogger();
|
|
8
9
|
function getHyperswarmSeedBuffer() {
|
|
@@ -59,13 +60,14 @@ function createSwarm(firewallConfig) {
|
|
|
59
60
|
const swarmOptions = { seed, firewall, relayThrough: getRelays };
|
|
60
61
|
return new Hyperswarm(swarmOptions);
|
|
61
62
|
}
|
|
62
|
-
let swarm;
|
|
63
|
+
let swarm = null;
|
|
63
64
|
const activeProviderTopics = new Set();
|
|
64
65
|
export function getSwarm({ firewallConfig, } = {}) {
|
|
65
66
|
if (swarm) {
|
|
66
67
|
return swarm;
|
|
67
68
|
}
|
|
68
69
|
swarm = createSwarm(firewallConfig);
|
|
70
|
+
registerSwarm(swarm, { label: "shared-swarm", createdAt: Date.now() });
|
|
69
71
|
return swarm;
|
|
70
72
|
}
|
|
71
73
|
export function registerProviderTopic(topic) {
|
|
@@ -78,8 +80,18 @@ export function hasActiveProviders() {
|
|
|
78
80
|
return activeProviderTopics.size > 0;
|
|
79
81
|
}
|
|
80
82
|
export async function destroySwarm() {
|
|
81
|
-
if (swarm)
|
|
83
|
+
if (!swarm)
|
|
84
|
+
return;
|
|
85
|
+
const ref = swarm;
|
|
86
|
+
swarm = null;
|
|
87
|
+
try {
|
|
88
|
+
await ref.destroy();
|
|
89
|
+
unregisterSwarm(ref);
|
|
82
90
|
activeProviderTopics.clear();
|
|
83
|
-
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
if (swarm === null)
|
|
94
|
+
swarm = ref;
|
|
95
|
+
throw error;
|
|
84
96
|
}
|
|
85
97
|
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { type EmbedParams } from "../../../schemas/index";
|
|
1
|
+
import { type EmbedParams, type EmbedStats } from "../../../schemas/index";
|
|
2
|
+
export interface EmbedResult {
|
|
3
|
+
embedding: number[] | number[][];
|
|
4
|
+
stats?: EmbedStats;
|
|
5
|
+
}
|
|
2
6
|
export declare function embed(params: {
|
|
3
7
|
modelId: string;
|
|
4
8
|
text: string;
|
|
5
|
-
}): Promise<
|
|
9
|
+
}): Promise<EmbedResult>;
|
|
6
10
|
export declare function embed(params: {
|
|
7
11
|
modelId: string;
|
|
8
12
|
text: string[];
|
|
9
|
-
}): Promise<
|
|
10
|
-
export declare function embed(params: EmbedParams): Promise<
|
|
13
|
+
}): Promise<EmbedResult>;
|
|
14
|
+
export declare function embed(params: EmbedParams): Promise<EmbedResult>;
|
|
11
15
|
export declare function normalizeVector(vector: Float32Array): number[];
|
|
12
16
|
//# sourceMappingURL=embed.d.ts.map
|
|
@@ -1,29 +1,40 @@
|
|
|
1
1
|
import { getModel } from "../registry/model-registry.js";
|
|
2
2
|
import { embedParamsSchema } from "../../../schemas/index.js";
|
|
3
|
+
import { buildUnaryResult } from "../../../profiling/model-execution.js";
|
|
3
4
|
import { EmbedNoEmbeddingsError, EmbedFailedError, } from "../../../utils/errors-server.js";
|
|
5
|
+
import { nowMs } from "../../../profiling/index.js";
|
|
4
6
|
export async function embed(params) {
|
|
5
7
|
const { modelId, text } = embedParamsSchema.parse(params);
|
|
6
8
|
const model = getModel(modelId);
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
+
const modelStart = nowMs();
|
|
10
|
+
const response = (await model.run(text));
|
|
11
|
+
const rawEmbeddings = await response.await();
|
|
12
|
+
const modelExecutionMs = nowMs() - modelStart;
|
|
13
|
+
const stats = {
|
|
14
|
+
...(response.stats?.total_time_ms !== undefined && { totalTime: response.stats.total_time_ms }),
|
|
15
|
+
...(response.stats?.tokens_per_second !== undefined && { tokensPerSecond: response.stats.tokens_per_second }),
|
|
16
|
+
...(response.stats?.total_tokens !== undefined && { totalTokens: response.stats.total_tokens }),
|
|
17
|
+
...(response.stats?.backendDevice !== undefined && { backendDevice: response.stats.backendDevice }),
|
|
18
|
+
};
|
|
9
19
|
const embeddingsArray = rawEmbeddings[0];
|
|
10
20
|
if (Array.isArray(text)) {
|
|
11
21
|
if (!embeddingsArray || embeddingsArray.length === 0) {
|
|
12
22
|
throw new EmbedNoEmbeddingsError();
|
|
13
23
|
}
|
|
14
|
-
|
|
24
|
+
const embedding = embeddingsArray.map((embeddingVector) => {
|
|
15
25
|
if (!embeddingVector || embeddingVector.length === 0) {
|
|
16
26
|
throw new EmbedNoEmbeddingsError();
|
|
17
27
|
}
|
|
18
28
|
return normalizeVector(embeddingVector);
|
|
19
29
|
});
|
|
30
|
+
return buildUnaryResult({ embedding }, modelExecutionMs, stats);
|
|
20
31
|
}
|
|
21
32
|
else {
|
|
22
33
|
const embeddingVector = embeddingsArray?.[0];
|
|
23
34
|
if (!embeddingVector || embeddingVector.length === 0) {
|
|
24
35
|
throw new EmbedNoEmbeddingsError();
|
|
25
36
|
}
|
|
26
|
-
return normalizeVector(embeddingVector);
|
|
37
|
+
return buildUnaryResult({ embedding: normalizeVector(embeddingVector) }, modelExecutionMs, stats);
|
|
27
38
|
}
|
|
28
39
|
}
|
|
29
40
|
export function normalizeVector(vector) {
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import { type TranscribeParams } from "../../../schemas/index";
|
|
2
|
-
export declare function transcribe(params: TranscribeParams): AsyncGenerator<string,
|
|
1
|
+
import { type TranscribeParams, type TranscribeStats } from "../../../schemas/index";
|
|
2
|
+
export declare function transcribe(params: TranscribeParams): AsyncGenerator<string, {
|
|
3
|
+
modelExecutionMs: number;
|
|
4
|
+
stats?: TranscribeStats;
|
|
5
|
+
}, void>;
|
|
6
|
+
export declare function transcribeStream(modelId: string, audioInputStream: AsyncIterable<Buffer>, prompt?: string): AsyncGenerator<string, void, void>;
|
|
3
7
|
//# sourceMappingURL=transcribe.d.ts.map
|
|
@@ -2,7 +2,13 @@ import { getModel, getModelConfig, getModelEntry, } from "../registry/model-regi
|
|
|
2
2
|
import { ModelType, } from "../../../schemas/index.js";
|
|
3
3
|
import { createAudioStream } from "../utils/audio-input.js";
|
|
4
4
|
import { getServerLogger } from "../../../logging/index.js";
|
|
5
|
+
import { TranscriptionFailedError } from "../../../utils/errors-server.js";
|
|
6
|
+
import { nowMs } from "../../../profiling/index.js";
|
|
7
|
+
import { buildStreamResult } from "../../../profiling/model-execution.js";
|
|
5
8
|
const logger = getServerLogger();
|
|
9
|
+
function hasRunStreaming(model) {
|
|
10
|
+
return "runStreaming" in model && typeof model.runStreaming === "function";
|
|
11
|
+
}
|
|
6
12
|
const SILENCE_MARKERS = {
|
|
7
13
|
[ModelType.whispercppTranscription]: "[BLANK_AUDIO]",
|
|
8
14
|
[ModelType.parakeetTranscription]: "[No speech detected]",
|
|
@@ -52,10 +58,13 @@ export async function* transcribe(params) {
|
|
|
52
58
|
const silenceMarker = SILENCE_MARKERS[engineType] ?? "";
|
|
53
59
|
const audioFormat = getAudioFormat(modelId, engineType);
|
|
54
60
|
const originalConfig = await applyPrompt(modelId, params.prompt, engineType);
|
|
61
|
+
let modelExecutionMs = 0;
|
|
62
|
+
let response;
|
|
55
63
|
try {
|
|
56
64
|
const model = getModel(modelId);
|
|
57
65
|
const audioStream = await createAudioStream(params.audioChunk, audioFormat);
|
|
58
|
-
const
|
|
66
|
+
const modelStart = nowMs();
|
|
67
|
+
response = (await model.run(audioStream));
|
|
59
68
|
for await (const output of response.iterate()) {
|
|
60
69
|
logger.debug("Streaming Transcription Update:", output);
|
|
61
70
|
const text = output
|
|
@@ -66,6 +75,49 @@ export async function* transcribe(params) {
|
|
|
66
75
|
yield text;
|
|
67
76
|
}
|
|
68
77
|
}
|
|
78
|
+
modelExecutionMs = nowMs() - modelStart;
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
if (originalConfig) {
|
|
82
|
+
await restorePrompt(modelId, originalConfig);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const stats = {
|
|
86
|
+
...(response?.stats?.audioDurationMs !== undefined && { audioDuration: response.stats.audioDurationMs }),
|
|
87
|
+
...(response?.stats?.realTimeFactor !== undefined && { realTimeFactor: response.stats.realTimeFactor }),
|
|
88
|
+
...(response?.stats?.tokensPerSecond !== undefined && { tokensPerSecond: response.stats.tokensPerSecond }),
|
|
89
|
+
...(response?.stats?.totalTokens !== undefined && { totalTokens: response.stats.totalTokens }),
|
|
90
|
+
...(response?.stats?.totalSegments !== undefined && { totalSegments: response.stats.totalSegments }),
|
|
91
|
+
...(response?.stats?.whisperEncodeMs !== undefined && { whisperEncodeTime: response.stats.whisperEncodeMs }),
|
|
92
|
+
...(response?.stats?.whisperDecodeMs !== undefined && { whisperDecodeTime: response.stats.whisperDecodeMs }),
|
|
93
|
+
...(response?.stats?.encoderMs !== undefined && { encoderTime: response.stats.encoderMs }),
|
|
94
|
+
...(response?.stats?.decoderMs !== undefined && { decoderTime: response.stats.decoderMs }),
|
|
95
|
+
...(response?.stats?.melSpecMs !== undefined && { melSpecTime: response.stats.melSpecMs }),
|
|
96
|
+
};
|
|
97
|
+
return buildStreamResult(modelExecutionMs, stats);
|
|
98
|
+
}
|
|
99
|
+
export async function* transcribeStream(modelId, audioInputStream, prompt) {
|
|
100
|
+
const engineType = getEngineModelType(modelId);
|
|
101
|
+
const silenceMarker = SILENCE_MARKERS[engineType] ?? "";
|
|
102
|
+
const originalConfig = await applyPrompt(modelId, prompt, engineType);
|
|
103
|
+
try {
|
|
104
|
+
const model = getModel(modelId);
|
|
105
|
+
if (!hasRunStreaming(model)) {
|
|
106
|
+
throw new TranscriptionFailedError(`Model ${modelId} does not support streaming transcription`);
|
|
107
|
+
}
|
|
108
|
+
const response = await model.runStreaming(audioInputStream);
|
|
109
|
+
for await (const segments of response.iterate()) {
|
|
110
|
+
logger.debug("Live Transcription Update:", segments);
|
|
111
|
+
for (const segment of segments) {
|
|
112
|
+
if (!segment.text)
|
|
113
|
+
continue;
|
|
114
|
+
if (silenceMarker && segment.text.includes(silenceMarker))
|
|
115
|
+
continue;
|
|
116
|
+
if (segment.text.trim()) {
|
|
117
|
+
yield segment.text;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
69
121
|
}
|
|
70
122
|
finally {
|
|
71
123
|
if (originalConfig) {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type TranslateParams, type TranslationStats } from "../../../schemas/index";
|
|
2
2
|
export declare function getLanguage(code: string | undefined): string;
|
|
3
3
|
export declare function isAfrican(code: string | undefined): boolean;
|
|
4
|
-
export declare function translate(params: TranslateParams): AsyncGenerator<string,
|
|
4
|
+
export declare function translate(params: TranslateParams): AsyncGenerator<string, {
|
|
5
|
+
modelExecutionMs: number;
|
|
6
|
+
stats?: TranslationStats;
|
|
7
|
+
}, unknown>;
|
|
5
8
|
//# sourceMappingURL=translate.d.ts.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { getModel } from "../registry/model-registry.js";
|
|
2
2
|
import { translateServerParamsSchema, normalizeModelType, ModelType, AFRICAN_LANGUAGES_MAP, } from "../../../schemas/index.js";
|
|
3
3
|
import { getLangName } from "@qvac/langdetect-text";
|
|
4
|
+
import { nowMs } from "../../../profiling/index.js";
|
|
5
|
+
import { buildStreamResult } from "../../../profiling/model-execution.js";
|
|
4
6
|
export function getLanguage(code) {
|
|
5
7
|
if (!code)
|
|
6
8
|
return "";
|
|
@@ -24,27 +26,22 @@ export async function* translate(params) {
|
|
|
24
26
|
const model = getModel(modelId);
|
|
25
27
|
const fromLanguage = getLanguage(from);
|
|
26
28
|
const toLanguage = getLanguage(to);
|
|
27
|
-
const startTime = Date.now();
|
|
28
|
-
let processedTokens = 0;
|
|
29
29
|
// Check if input is an array and model type is NMT
|
|
30
30
|
if (Array.isArray(text) &&
|
|
31
31
|
canonicalModelType === ModelType.nmtcppTranslation) {
|
|
32
32
|
// Use runBatch for batch processing
|
|
33
|
+
const modelStart = nowMs();
|
|
33
34
|
const translations = await model.runBatch(text);
|
|
35
|
+
const modelExecutionMs = nowMs() - modelStart;
|
|
34
36
|
// Yield each translation with a newline separator
|
|
35
37
|
for (let i = 0; i < translations.length; i++) {
|
|
36
38
|
const translation = translations[i];
|
|
37
|
-
processedTokens++;
|
|
38
39
|
yield translation;
|
|
39
40
|
if (i < translations.length - 1) {
|
|
40
41
|
yield "\n";
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
-
return {
|
|
45
|
-
processedTokens,
|
|
46
|
-
processingTime: endTime - startTime,
|
|
47
|
-
};
|
|
44
|
+
return { modelExecutionMs };
|
|
48
45
|
}
|
|
49
46
|
// Single text processing (for NMT or LLM)
|
|
50
47
|
const singleText = Array.isArray(text) ? text[0] : text;
|
|
@@ -59,70 +56,36 @@ export async function* translate(params) {
|
|
|
59
56
|
: `${context ? `${context}. ` : ""}Translate the following text from ${fromLanguage} into ${toLanguage}. Only output the translation, nothing else.\n\n${fromLanguage}: ${singleText}\n${toLanguage}:`,
|
|
60
57
|
},
|
|
61
58
|
];
|
|
59
|
+
const modelStart = nowMs();
|
|
62
60
|
const response = await model.run(input);
|
|
63
61
|
// Check if the response has an iterate method (like LLM models)
|
|
64
62
|
if (canonicalModelType === ModelType.llamacppCompletion &&
|
|
65
63
|
typeof response.iterate === "function") {
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
const llmResponse = response;
|
|
65
|
+
for await (const token of llmResponse.iterate()) {
|
|
68
66
|
yield token;
|
|
69
67
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// Start the response processing
|
|
77
|
-
const responsePromise = response
|
|
78
|
-
.onUpdate((data) => {
|
|
79
|
-
processedTokens++;
|
|
80
|
-
if (resolveNext) {
|
|
81
|
-
// If there's a pending read, resolve it immediately
|
|
82
|
-
resolveNext({ value: data, done: false });
|
|
83
|
-
resolveNext = null;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
// Otherwise, queue the token
|
|
87
|
-
tokenQueue.push(data);
|
|
88
|
-
}
|
|
89
|
-
})
|
|
90
|
-
.await()
|
|
91
|
-
.then(() => {
|
|
92
|
-
isComplete = true;
|
|
93
|
-
if (resolveNext) {
|
|
94
|
-
resolveNext({ value: undefined, done: true });
|
|
95
|
-
resolveNext = null;
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
// Create an async iterator
|
|
99
|
-
const asyncIterator = {
|
|
100
|
-
async next() {
|
|
101
|
-
if (tokenQueue.length > 0) {
|
|
102
|
-
return { value: tokenQueue.shift(), done: false };
|
|
103
|
-
}
|
|
104
|
-
if (isComplete) {
|
|
105
|
-
return { value: undefined, done: true };
|
|
106
|
-
}
|
|
107
|
-
// Wait for the next token
|
|
108
|
-
return new Promise((resolve) => {
|
|
109
|
-
resolveNext = resolve;
|
|
110
|
-
});
|
|
111
|
-
},
|
|
112
|
-
[Symbol.asyncIterator]() {
|
|
113
|
-
return this;
|
|
114
|
-
},
|
|
68
|
+
const modelExecutionMs = nowMs() - modelStart;
|
|
69
|
+
const stats = {
|
|
70
|
+
...(llmResponse.stats?.TPS !== undefined && { tokensPerSecond: llmResponse.stats.TPS }),
|
|
71
|
+
...(llmResponse.stats?.TTFT !== undefined && { timeToFirstToken: llmResponse.stats.TTFT }),
|
|
72
|
+
...(llmResponse.stats?.CacheTokens !== undefined && { cacheTokens: llmResponse.stats.CacheTokens }),
|
|
73
|
+
...(llmResponse.stats?.generatedTokens !== undefined && { totalTokens: llmResponse.stats.generatedTokens }),
|
|
115
74
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
await responsePromise;
|
|
75
|
+
return buildStreamResult(modelExecutionMs, stats);
|
|
76
|
+
}
|
|
77
|
+
const nmtResponse = response;
|
|
78
|
+
for await (const token of nmtResponse.iterate()) {
|
|
79
|
+
yield token;
|
|
122
80
|
}
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
81
|
+
const modelExecutionMs = nowMs() - modelStart;
|
|
82
|
+
const stats = {
|
|
83
|
+
...(nmtResponse.stats?.totalTime !== undefined && { totalTime: nmtResponse.stats.totalTime }),
|
|
84
|
+
...(nmtResponse.stats?.totalTokens !== undefined && { totalTokens: nmtResponse.stats.totalTokens }),
|
|
85
|
+
...(nmtResponse.stats?.decodeTime !== undefined && { decodeTime: nmtResponse.stats.decodeTime }),
|
|
86
|
+
...(nmtResponse.stats?.encodeTime !== undefined && { encodeTime: nmtResponse.stats.encodeTime }),
|
|
87
|
+
...(nmtResponse.stats?.TPS !== undefined && { tokensPerSecond: nmtResponse.stats.TPS }),
|
|
88
|
+
...(nmtResponse.stats?.TTFT !== undefined && { timeToFirstToken: nmtResponse.stats.TTFT }),
|
|
127
89
|
};
|
|
90
|
+
return buildStreamResult(modelExecutionMs, stats);
|
|
128
91
|
}
|
|
@@ -2,6 +2,7 @@ import { promises as fsPromises } from "bare-fs";
|
|
|
2
2
|
import path from "bare-path";
|
|
3
3
|
import { unregisterModel } from "../registry/model-registry.js";
|
|
4
4
|
import { unregisterAllLoggingStreams } from "../registry/logging-stream-registry.js";
|
|
5
|
+
import { clearFinetuneRuntimeState } from "../plugins/llamacpp-completion/ops/finetune.js";
|
|
5
6
|
import { unregisterAddonLogger, getServerLogger } from "../../../logging/index.js";
|
|
6
7
|
import { unloadModelParamsSchema } from "../../../schemas/index.js";
|
|
7
8
|
import { ModelNotLoadedError } from "../../../utils/errors-server.js";
|
|
@@ -13,6 +14,7 @@ export async function unloadModel(params) {
|
|
|
13
14
|
if (!entry) {
|
|
14
15
|
throw new ModelNotLoadedError(modelId);
|
|
15
16
|
}
|
|
17
|
+
clearFinetuneRuntimeState(modelId);
|
|
16
18
|
if (entry.local?.loader) {
|
|
17
19
|
await entry.local.loader.close();
|
|
18
20
|
}
|
|
@@ -5,4 +5,5 @@ export { parakeetPlugin } from "./parakeet-transcription/plugin";
|
|
|
5
5
|
export { nmtPlugin } from "./nmtcpp-translation/plugin";
|
|
6
6
|
export { ttsPlugin } from "./onnx-tts/plugin";
|
|
7
7
|
export { ocrPlugin } from "./onnx-ocr/plugin";
|
|
8
|
+
export { diffusionPlugin } from "./sdcpp-generation/plugin";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|