@qvac/sdk 0.8.1 → 1.0.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/LICENSE +24 -1
- package/README.md +191 -373
- package/dist/client/api/cancel.d.ts +4 -22
- package/dist/client/api/cancel.js +6 -25
- package/dist/client/api/completion-stream.d.ts +30 -24
- package/dist/client/api/completion-stream.js +70 -121
- package/dist/client/api/delete-cache.js +2 -3
- package/dist/client/api/download-asset.d.ts +5 -6
- package/dist/client/api/download-asset.js +20 -16
- package/dist/client/api/embed.d.ts +4 -21
- package/dist/client/api/embed.js +14 -4
- package/dist/client/api/index.d.ts +2 -6
- package/dist/client/api/index.js +2 -6
- package/dist/client/api/load-model.d.ts +21 -49
- package/dist/client/api/load-model.js +134 -40
- package/dist/client/api/logging-stream.d.ts +4 -7
- package/dist/client/api/logging-stream.js +5 -9
- package/dist/client/api/ping.d.ts +11 -0
- package/dist/client/api/ping.js +18 -0
- package/dist/client/api/provide.d.ts +1 -1
- package/dist/client/api/provide.js +3 -4
- package/dist/client/api/rag.d.ts +21 -216
- package/dist/client/api/rag.js +36 -396
- package/dist/client/api/stop-provider.d.ts +1 -1
- package/dist/client/api/stop-provider.js +3 -4
- package/dist/client/api/text-to-speech.d.ts +2 -2
- package/dist/client/api/text-to-speech.js +3 -3
- package/dist/client/api/transcribe.d.ts +5 -9
- package/dist/client/api/transcribe.js +9 -11
- package/dist/client/api/translate.d.ts +3 -3
- package/dist/client/api/translate.js +15 -15
- package/dist/client/api/unload-model.d.ts +1 -5
- package/dist/client/api/unload-model.js +4 -17
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/logging-stream-registry.d.ts +1 -1
- package/dist/client/logging-stream-registry.js +13 -14
- package/dist/client/rpc/bare-client.d.ts +139 -3
- package/dist/client/rpc/bare-client.js +16 -117
- package/dist/client/rpc/bare-rpc-client.d.ts +4 -0
- package/dist/client/rpc/bare-rpc-client.js +87 -0
- package/dist/client/rpc/expo-rpc-client.d.ts +1 -2
- package/dist/client/rpc/expo-rpc-client.js +14 -57
- package/dist/client/rpc/node-rpc-client.d.ts +8 -3
- package/dist/client/rpc/node-rpc-client.js +62 -218
- package/dist/client/rpc/rpc-client.d.ts +2 -3
- package/dist/client/rpc/rpc-client.js +49 -184
- package/dist/constants/audio.d.ts +2 -1
- package/dist/constants/audio.js +17 -1
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/index.js +0 -1
- package/dist/examples/delegated-inference/consumer.js +2 -3
- package/dist/examples/download-with-cancel.js +4 -3
- package/dist/examples/embed-hyperdrive.d.ts +2 -0
- package/dist/examples/embed-hyperdrive.js +19 -0
- package/dist/examples/kv-cache-cleanup.js +2 -1
- package/dist/examples/kv-cache-custom-key.js +2 -16
- package/dist/examples/kv-cache-example.js +2 -1
- package/dist/examples/llamacpp-file-logging.d.ts +2 -0
- package/dist/examples/{logging-file-transport.js → llamacpp-file-logging.js} +8 -3
- package/dist/examples/llamacpp-filesystem.js +2 -2
- package/dist/examples/llamacpp-http.js +1 -0
- package/dist/examples/llamacpp-hyperdrive.d.ts +2 -0
- package/dist/examples/{llamacpp-p2p.js → llamacpp-hyperdrive.js} +2 -1
- package/dist/examples/llamacpp-multimodal.js +4 -3
- package/dist/examples/llamacpp-native-tools.js +30 -72
- package/dist/examples/multi-model-demo.js +3 -2
- package/dist/examples/parallel-download.js +14 -46
- package/dist/examples/rag/rag-chromadb.js +1 -0
- package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +2 -0
- package/dist/examples/rag/rag-hyperdb-workspaces.js +107 -0
- package/dist/examples/rag/rag-hyperdb.d.ts +2 -0
- package/dist/examples/rag/{rag-hyperdb/ingest.js → rag-hyperdb.js} +5 -10
- package/dist/examples/rag/rag-lancedb.js +1 -0
- package/dist/examples/rag/rag-sqlite.js +1 -0
- package/dist/examples/seed-hyperdrive.d.ts +2 -0
- package/dist/examples/text-to-speech.d.ts +3 -0
- package/dist/examples/{tts/utils.js → text-to-speech.js} +63 -18
- package/dist/examples/translation/translation-indic.js +1 -4
- package/dist/examples/translation/translation-llm-context.js +1 -0
- package/dist/examples/translation/translation-llm.js +2 -2
- package/dist/examples/translation/translation-opus.js +3 -6
- package/dist/examples/translation/translation-stream.js +3 -3
- package/dist/examples/whispercpp-filesystem.js +43 -0
- package/dist/examples/{transcription/whispercpp-microphone-record.js → whispercpp-microphone-record.js} +9 -8
- package/dist/expo/plugins/index.d.ts +0 -3
- package/dist/expo/plugins/index.js +0 -3
- package/dist/expo/plugins/withMobileBundle.d.ts +2 -5
- package/dist/expo/plugins/withMobileBundle.js +40 -121
- package/dist/expo/plugins/withQvacSDK.d.ts +0 -4
- package/dist/expo/plugins/withQvacSDK.js +1 -26
- package/dist/index.d.ts +4 -9
- package/dist/index.js +5 -11
- package/dist/logging/base-logger.js +16 -26
- package/dist/logging/index.d.ts +1 -7
- package/dist/logging/index.js +1 -7
- package/dist/logging/logger.d.ts +2 -0
- package/dist/logging/logger.js +6 -11
- package/dist/logging/stream-logger.d.ts +1 -1
- package/dist/logging/stream-logger.js +3 -6
- package/dist/logging/transport.js +2 -2
- package/dist/logging/types.d.ts +0 -2
- package/dist/logging/utils.d.ts +0 -2
- package/dist/logging/utils.js +0 -62
- package/dist/models/{registry → hyperdrive}/index.js +1 -1
- package/dist/models/hyperdrive/models.d.ts +619 -0
- package/dist/models/hyperdrive/models.js +693 -0
- package/dist/schemas/cancel.d.ts +0 -18
- package/dist/schemas/cancel.js +0 -7
- package/dist/schemas/common.d.ts +166 -3012
- package/dist/schemas/common.js +4 -27
- package/dist/schemas/completion-stream.d.ts +60 -31
- package/dist/schemas/completion-stream.js +44 -20
- package/dist/schemas/delegate.d.ts +0 -9
- package/dist/schemas/delegate.js +2 -6
- package/dist/schemas/download-asset.d.ts +3 -125
- package/dist/schemas/download-asset.js +5 -22
- package/dist/schemas/embed.d.ts +3 -3
- package/dist/schemas/embed.js +2 -9
- package/dist/schemas/index.d.ts +2 -20
- package/dist/schemas/index.js +2 -20
- package/dist/schemas/llamacpp-config.d.ts +12 -243
- package/dist/schemas/llamacpp-config.js +14 -50
- package/dist/schemas/load-model.d.ts +893 -14471
- package/dist/schemas/load-model.js +72 -325
- package/dist/schemas/logging-stream.d.ts +4 -11
- package/dist/schemas/logging-stream.js +3 -4
- package/dist/schemas/ping.d.ts +11 -0
- package/dist/schemas/ping.js +8 -0
- package/dist/schemas/rag.d.ts +52 -183
- package/dist/schemas/rag.js +23 -152
- package/dist/schemas/text-to-speech.d.ts +1 -692
- package/dist/schemas/text-to-speech.js +3 -35
- package/dist/schemas/transcription.d.ts +0 -3
- package/dist/schemas/transcription.js +0 -1
- package/dist/schemas/translate.d.ts +23 -68
- package/dist/schemas/translate.js +11 -37
- package/dist/schemas/translation-config.d.ts +7 -810
- package/dist/schemas/translation-config.js +7 -113
- package/dist/schemas/unload-model.d.ts +0 -2
- package/dist/schemas/unload-model.js +0 -2
- package/dist/schemas/whispercpp-config.d.ts +25 -0
- package/dist/schemas/whispercpp-config.js +18 -0
- package/dist/server/bare/{ops → addons}/cancel.js +1 -2
- package/dist/server/bare/addons/index.d.ts +4 -0
- package/dist/server/bare/addons/index.js +3 -0
- package/dist/server/bare/addons/llamacpp/create-model.d.ts +5 -0
- package/dist/server/bare/addons/llamacpp/create-model.js +67 -0
- package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.d.ts +1 -2
- package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.js +87 -54
- package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +4 -0
- package/dist/server/bare/{ops → addons/llamacpp/handlers}/embed.js +7 -22
- package/dist/server/bare/addons/llamacpp/index.d.ts +4 -0
- package/dist/server/bare/addons/llamacpp/index.js +3 -0
- package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.d.ts +1 -4
- package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.js +19 -54
- package/dist/server/bare/addons/load-model.d.ts +3 -0
- package/dist/server/bare/addons/load-model.js +62 -0
- package/dist/server/bare/addons/translation/create-model.d.ts +4 -0
- package/dist/server/bare/addons/translation/create-model.js +45 -0
- package/dist/server/bare/addons/translation/handlers/translate.d.ts +3 -0
- package/dist/server/bare/{ops → addons/translation/handlers}/translate.js +14 -47
- package/dist/server/bare/addons/translation/index.d.ts +3 -0
- package/dist/server/bare/addons/translation/index.js +2 -0
- package/dist/server/bare/addons/tts/create-model.d.ts +6 -0
- package/dist/server/bare/addons/tts/create-model.js +40 -0
- package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.js +3 -25
- package/dist/server/bare/addons/tts/index.d.ts +3 -0
- package/dist/server/bare/addons/tts/index.js +2 -0
- package/dist/server/bare/addons/unload-model.js +20 -0
- package/dist/server/bare/addons/whispercpp/create-model.d.ts +6 -0
- package/dist/server/bare/addons/whispercpp/create-model.js +55 -0
- package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.d.ts +3 -0
- package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +48 -0
- package/dist/server/bare/addons/whispercpp/index.d.ts +3 -0
- package/dist/server/bare/addons/whispercpp/index.js +2 -0
- package/dist/server/bare/delegate-rpc-client.d.ts +0 -6
- package/dist/server/bare/delegate-rpc-client.js +45 -187
- package/dist/server/bare/hyperswarm.d.ts +0 -3
- package/dist/server/bare/hyperswarm.js +6 -29
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +10 -9
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +4 -7
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +14 -13
- package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
- package/dist/server/bare/rag-hyperdb/index.d.ts +1 -8
- package/dist/server/bare/rag-hyperdb/index.js +1 -8
- package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +5 -0
- package/dist/server/bare/rag-hyperdb/rag-manager.js +65 -0
- package/dist/server/bare/registry/logging-stream-registry.d.ts +7 -24
- package/dist/server/bare/registry/logging-stream-registry.js +20 -99
- package/dist/server/bare/registry/model-registry.d.ts +26 -16
- package/dist/server/bare/registry/model-registry.js +13 -34
- package/dist/server/error-handlers.d.ts +2 -3
- package/dist/server/error-handlers.js +10 -15
- package/dist/server/http-server.d.ts +2 -0
- package/dist/server/http-server.js +189 -0
- package/dist/server/rpc/create-server.js +3 -5
- package/dist/server/rpc/handle-request.d.ts +9 -0
- package/dist/server/rpc/handle-request.js +242 -92
- package/dist/server/rpc/handlers/cancelHandler.js +3 -14
- package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +1 -3
- package/dist/server/rpc/handlers/completion-stream-delegated.js +8 -20
- package/dist/server/rpc/handlers/completion-stream.js +41 -2
- package/dist/server/rpc/handlers/delete-cache.js +2 -4
- package/dist/server/rpc/handlers/download-asset.js +6 -59
- package/dist/server/rpc/handlers/embed.js +19 -2
- package/dist/server/rpc/handlers/index.d.ts +0 -13
- package/dist/server/rpc/handlers/index.js +0 -13
- package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -12
- package/dist/server/rpc/handlers/load-model/download-manager.js +28 -43
- package/dist/server/rpc/handlers/load-model/http.d.ts +1 -2
- package/dist/server/rpc/handlers/load-model/http.js +55 -424
- package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +1 -2
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +171 -364
- package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/index.js +2 -2
- package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -3
- package/dist/server/rpc/handlers/load-model/resolve.js +29 -110
- package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -6
- package/dist/server/rpc/handlers/load-model-delegated.js +20 -60
- package/dist/server/rpc/handlers/{load-model/handler.d.ts → load-model.d.ts} +2 -2
- package/dist/server/rpc/handlers/load-model.js +57 -0
- package/dist/server/rpc/handlers/logging-stream.js +4 -4
- package/dist/server/rpc/handlers/provideHandler/connection.js +10 -12
- package/dist/server/rpc/handlers/provideHandler/handler.js +17 -20
- package/dist/server/rpc/handlers/provideHandler/proxy.js +6 -8
- package/dist/server/rpc/handlers/rag.d.ts +2 -2
- package/dist/server/rpc/handlers/rag.js +43 -130
- package/dist/server/rpc/handlers/stopProvideHandler.js +2 -6
- package/dist/server/rpc/handlers/text-to-speech.js +5 -2
- package/dist/server/rpc/handlers/transcribe-stream.js +24 -2
- package/dist/server/rpc/handlers/translate.js +49 -2
- package/dist/server/rpc/handlers/unload-model.js +3 -12
- package/dist/server/rpc/index.d.ts +1 -1
- package/dist/server/utils/audio/decoder.d.ts +1 -2
- package/dist/server/utils/audio/decoder.js +12 -49
- package/dist/server/utils/cache.d.ts +8 -19
- package/dist/server/utils/cache.js +15 -100
- package/dist/server/utils/hash.d.ts +5 -0
- package/dist/server/utils/hash.js +11 -0
- package/dist/server/utils/index.d.ts +2 -7
- package/dist/server/utils/index.js +2 -7
- package/dist/server/utils/tool-parser.js +14 -28
- package/dist/server/worker.d.ts +5 -4
- package/dist/server/worker.js +89 -22
- package/package.json +41 -148
- package/NOTICE +0 -695
- package/bare-imports.json +0 -44
- package/dist/client/api/get-model-info.d.ts +0 -36
- package/dist/client/api/get-model-info.js +0 -14
- package/dist/client/api/heartbeat.d.ts +0 -30
- package/dist/client/api/heartbeat.js +0 -38
- package/dist/client/api/invoke-plugin.d.ts +0 -15
- package/dist/client/api/invoke-plugin.js +0 -38
- package/dist/client/api/ocr.d.ts +0 -31
- package/dist/client/api/ocr.js +0 -88
- package/dist/client/api/registry.d.ts +0 -14
- package/dist/client/api/registry.js +0 -37
- package/dist/client/config-loader/config-utils.d.ts +0 -5
- package/dist/client/config-loader/config-utils.js +0 -20
- package/dist/client/config-loader/resolve-config.bare.d.ts +0 -9
- package/dist/client/config-loader/resolve-config.bare.js +0 -87
- package/dist/client/config-loader/resolve-config.expo.d.ts +0 -11
- package/dist/client/config-loader/resolve-config.expo.js +0 -62
- package/dist/client/config-loader/resolve-config.node.d.ts +0 -10
- package/dist/client/config-loader/resolve-config.node.js +0 -145
- package/dist/client/init-hooks.d.ts +0 -21
- package/dist/client/init-hooks.js +0 -66
- package/dist/client/rpc/expo-device-info.d.ts +0 -6
- package/dist/client/rpc/expo-device-info.js +0 -32
- package/dist/client/rpc/profiling/index.d.ts +0 -2
- package/dist/client/rpc/profiling/index.js +0 -1
- package/dist/client/rpc/profiling/profiler.d.ts +0 -27
- package/dist/client/rpc/profiling/profiler.js +0 -139
- package/dist/constants/registry.d.ts +0 -2
- package/dist/constants/registry.js +0 -1
- package/dist/examples/cache-management.d.ts +0 -2
- package/dist/examples/cache-management.js +0 -97
- package/dist/examples/config/blind-relay/blind-relay.config.d.ts +0 -5
- package/dist/examples/config/blind-relay/blind-relay.config.js +0 -7
- package/dist/examples/config/default/default.config.d.ts +0 -8
- package/dist/examples/config/default/default.config.js +0 -6
- package/dist/examples/config/plugins/plugins.config.d.ts +0 -5
- package/dist/examples/config/plugins/plugins.config.js +0 -4
- package/dist/examples/config-reload.d.ts +0 -2
- package/dist/examples/config-reload.js +0 -49
- package/dist/examples/default-config-usage.d.ts +0 -17
- package/dist/examples/default-config-usage.js +0 -47
- package/dist/examples/delegated-inference/consumer-profiled.d.ts +0 -2
- package/dist/examples/delegated-inference/consumer-profiled.js +0 -67
- package/dist/examples/download-with-blind-relays.d.ts +0 -2
- package/dist/examples/download-with-blind-relays.js +0 -49
- package/dist/examples/embed-p2p.d.ts +0 -2
- package/dist/examples/embed-p2p.js +0 -54
- package/dist/examples/llamacpp-p2p.d.ts +0 -2
- package/dist/examples/llamacpp-sharded.d.ts +0 -2
- package/dist/examples/llamacpp-sharded.js +0 -53
- package/dist/examples/logging-file-transport.d.ts +0 -2
- package/dist/examples/logging-streaming.d.ts +0 -2
- package/dist/examples/logging-streaming.js +0 -75
- package/dist/examples/mcp-websearch.d.ts +0 -13
- package/dist/examples/mcp-websearch.js +0 -176
- package/dist/examples/ocr-fasttext.d.ts +0 -2
- package/dist/examples/ocr-fasttext.js +0 -52
- package/dist/examples/plugins.d.ts +0 -14
- package/dist/examples/plugins.js +0 -129
- package/dist/examples/profiling/basic.d.ts +0 -2
- package/dist/examples/profiling/basic.js +0 -71
- package/dist/examples/profiling/per-call.d.ts +0 -2
- package/dist/examples/profiling/per-call.js +0 -30
- package/dist/examples/quickstart.d.ts +0 -2
- package/dist/examples/quickstart.js +0 -28
- package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/cancellation.js +0 -75
- package/dist/examples/rag/rag-hyperdb/ingest.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/pipeline.js +0 -74
- package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/workspaces.js +0 -178
- package/dist/examples/registry-query.d.ts +0 -2
- package/dist/examples/registry-query.js +0 -87
- package/dist/examples/seed-p2p.d.ts +0 -2
- package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +0 -2
- package/dist/examples/transcription/parakeet-ctc-filesystem.js +0 -40
- package/dist/examples/transcription/parakeet-microphone-record.d.ts +0 -2
- package/dist/examples/transcription/parakeet-microphone-record.js +0 -95
- package/dist/examples/transcription/parakeet-sortformer.d.ts +0 -2
- package/dist/examples/transcription/parakeet-sortformer.js +0 -115
- package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +0 -2
- package/dist/examples/transcription/parakeet-tdt-filesystem.js +0 -44
- package/dist/examples/transcription/whispercpp-filesystem.js +0 -69
- package/dist/examples/transcription/whispercpp-prompt.d.ts +0 -2
- package/dist/examples/transcription/whispercpp-prompt.js +0 -67
- package/dist/examples/translation/translation-bergamot-batch.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot-batch.js +0 -49
- package/dist/examples/translation/translation-bergamot-pivot.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot-pivot.js +0 -73
- package/dist/examples/translation/translation-bergamot.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot.js +0 -39
- package/dist/examples/translation/translation-llm-afriquegemma.d.ts +0 -2
- package/dist/examples/translation/translation-llm-afriquegemma.js +0 -39
- package/dist/examples/tts/chatterbox.d.ts +0 -2
- package/dist/examples/tts/chatterbox.js +0 -59
- package/dist/examples/tts/supertonic.d.ts +0 -2
- package/dist/examples/tts/supertonic.js +0 -51
- package/dist/examples/tts/utils.d.ts +0 -17
- package/dist/expo/plugins/resolve-sdk-package-dir.d.ts +0 -15
- package/dist/expo/plugins/resolve-sdk-package-dir.js +0 -31
- package/dist/expo/plugins/withAndroidArchitecture.d.ts +0 -8
- package/dist/expo/plugins/withAndroidArchitecture.js +0 -52
- package/dist/expo/plugins/withAndroidNdkVersion.d.ts +0 -8
- package/dist/expo/plugins/withAndroidNdkVersion.js +0 -31
- package/dist/expo/plugins/withDeviceInfo.d.ts +0 -10
- package/dist/expo/plugins/withDeviceInfo.js +0 -48
- package/dist/logging/addon.d.ts +0 -6
- package/dist/logging/addon.js +0 -75
- package/dist/logging/client-logger.d.ts +0 -3
- package/dist/logging/client-logger.js +0 -24
- package/dist/logging/namespaces.d.ts +0 -6
- package/dist/logging/namespaces.js +0 -6
- package/dist/logging/registry.d.ts +0 -31
- package/dist/logging/registry.js +0 -62
- package/dist/logging/server-logger.d.ts +0 -3
- package/dist/logging/server-logger.js +0 -16
- package/dist/models/registry/models.d.ts +0 -10417
- package/dist/models/registry/models.js +0 -10757
- package/dist/models/update-models/codegen.d.ts +0 -3
- package/dist/models/update-models/codegen.js +0 -135
- package/dist/models/update-models/history.d.ts +0 -24
- package/dist/models/update-models/history.js +0 -107
- package/dist/models/update-models/index.d.ts +0 -2
- package/dist/models/update-models/index.js +0 -125
- package/dist/models/update-models/naming.d.ts +0 -4
- package/dist/models/update-models/naming.js +0 -370
- package/dist/models/update-models/processing.d.ts +0 -8
- package/dist/models/update-models/processing.js +0 -67
- package/dist/models/update-models/registry.d.ts +0 -4
- package/dist/models/update-models/registry.js +0 -67
- package/dist/models/update-models/shards.d.ts +0 -4
- package/dist/models/update-models/shards.js +0 -57
- package/dist/models/update-models/types.d.ts +0 -60
- package/dist/models/update-models/types.js +0 -1
- package/dist/models/update-models/utils.d.ts +0 -3
- package/dist/models/update-models/utils.js +0 -21
- package/dist/pear/pre.d.ts +0 -18
- package/dist/pear/pre.js +0 -433
- package/dist/profiling/aggregator.d.ts +0 -15
- package/dist/profiling/aggregator.js +0 -100
- package/dist/profiling/clock.d.ts +0 -12
- package/dist/profiling/clock.js +0 -51
- package/dist/profiling/controller.d.ts +0 -33
- package/dist/profiling/controller.js +0 -123
- package/dist/profiling/envelope.d.ts +0 -10
- package/dist/profiling/envelope.js +0 -36
- package/dist/profiling/events.d.ts +0 -20
- package/dist/profiling/events.js +0 -37
- package/dist/profiling/exporters.d.ts +0 -10
- package/dist/profiling/exporters.js +0 -236
- package/dist/profiling/index.d.ts +0 -36
- package/dist/profiling/index.js +0 -31
- package/dist/profiling/ring-buffer.d.ts +0 -19
- package/dist/profiling/ring-buffer.js +0 -83
- package/dist/profiling/types.d.ts +0 -47
- package/dist/profiling/types.js +0 -1
- package/dist/schemas/archive.d.ts +0 -9
- package/dist/schemas/archive.js +0 -17
- package/dist/schemas/engine-addon-map.d.ts +0 -5
- package/dist/schemas/engine-addon-map.js +0 -52
- package/dist/schemas/get-model-info.d.ts +0 -120
- package/dist/schemas/get-model-info.js +0 -58
- package/dist/schemas/heartbeat.d.ts +0 -17
- package/dist/schemas/heartbeat.js +0 -10
- package/dist/schemas/json-schema.d.ts +0 -16
- package/dist/schemas/json-schema.js +0 -2
- package/dist/schemas/mcp-adapter.d.ts +0 -47
- package/dist/schemas/mcp-adapter.js +0 -1
- package/dist/schemas/model-src-utils.d.ts +0 -148
- package/dist/schemas/model-src-utils.js +0 -35
- package/dist/schemas/model-types.d.ts +0 -183
- package/dist/schemas/model-types.js +0 -168
- package/dist/schemas/ocr.d.ts +0 -125
- package/dist/schemas/ocr.js +0 -57
- package/dist/schemas/path-validation.d.ts +0 -10
- package/dist/schemas/path-validation.js +0 -22
- package/dist/schemas/plugin.d.ts +0 -226
- package/dist/schemas/plugin.js +0 -158
- package/dist/schemas/profiling.d.ts +0 -105
- package/dist/schemas/profiling.js +0 -66
- package/dist/schemas/registry.d.ts +0 -356
- package/dist/schemas/registry.js +0 -93
- package/dist/schemas/reload-config.d.ts +0 -476
- package/dist/schemas/reload-config.js +0 -44
- package/dist/schemas/runtime-context.d.ts +0 -19
- package/dist/schemas/runtime-context.js +0 -7
- package/dist/schemas/sdk-config.d.ts +0 -2973
- package/dist/schemas/sdk-config.js +0 -136
- package/dist/schemas/sdk-errors-client.d.ts +0 -31
- package/dist/schemas/sdk-errors-client.js +0 -143
- package/dist/schemas/sdk-errors-registry.d.ts +0 -6
- package/dist/schemas/sdk-errors-registry.js +0 -8
- package/dist/schemas/sdk-errors-server.d.ts +0 -89
- package/dist/schemas/sdk-errors-server.js +0 -451
- package/dist/schemas/shard.d.ts +0 -21
- package/dist/schemas/shard.js +0 -17
- package/dist/schemas/tools.d.ts +0 -65
- package/dist/schemas/tools.js +0 -43
- package/dist/schemas/transcription-config.d.ts +0 -383
- package/dist/schemas/transcription-config.js +0 -95
- package/dist/scripts/run-security-tests-bare.d.ts +0 -2
- package/dist/scripts/run-security-tests-bare.js +0 -78
- package/dist/scripts/run-security-tests.d.ts +0 -2
- package/dist/scripts/run-security-tests.js +0 -22
- package/dist/scripts/run-unit-tests.d.ts +0 -2
- package/dist/scripts/run-unit-tests.js +0 -17
- package/dist/server/bare/ops/embed.d.ts +0 -12
- package/dist/server/bare/ops/load-model.d.ts +0 -9
- package/dist/server/bare/ops/load-model.js +0 -85
- package/dist/server/bare/ops/transcribe.d.ts +0 -3
- package/dist/server/bare/ops/transcribe.js +0 -75
- package/dist/server/bare/ops/translate.d.ts +0 -5
- package/dist/server/bare/ops/unload-model.js +0 -41
- package/dist/server/bare/plugins/index.d.ts +0 -8
- package/dist/server/bare/plugins/index.js +0 -7
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +0 -6
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +0 -34
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +0 -220
- package/dist/server/bare/plugins/llamacpp-completion/plugin.js +0 -155
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +0 -54
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +0 -87
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +0 -367
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +0 -201
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +0 -10
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +0 -110
- package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +0 -86
- package/dist/server/bare/plugins/onnx-ocr/plugin.js +0 -117
- package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +0 -373
- package/dist/server/bare/plugins/onnx-tts/plugin.js +0 -182
- package/dist/server/bare/plugins/onnx-tts/wav-helper.d.ts +0 -14
- package/dist/server/bare/plugins/onnx-tts/wav-helper.js +0 -107
- package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +0 -317
- package/dist/server/bare/plugins/parakeet-transcription/plugin.js +0 -154
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +0 -237
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +0 -86
- package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/chunk.js +0 -7
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +0 -14
- package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +0 -18
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +0 -4
- package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/reindex.js +0 -16
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +0 -7
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +0 -39
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +0 -15
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +0 -136
- package/dist/server/bare/registry/config-registry.d.ts +0 -14
- package/dist/server/bare/registry/config-registry.js +0 -82
- package/dist/server/bare/registry/model-config-registry.d.ts +0 -4
- package/dist/server/bare/registry/model-config-registry.js +0 -15
- package/dist/server/bare/registry/model-config-utils.d.ts +0 -15
- package/dist/server/bare/registry/model-config-utils.js +0 -112
- package/dist/server/bare/registry/registry-client.d.ts +0 -5
- package/dist/server/bare/registry/registry-client.js +0 -37
- package/dist/server/bare/registry/runtime-context-registry.d.ts +0 -7
- package/dist/server/bare/registry/runtime-context-registry.js +0 -26
- package/dist/server/bare/utils/audio-input.d.ts +0 -10
- package/dist/server/bare/utils/audio-input.js +0 -33
- package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
- package/dist/server/bare/utils/loader-adapter.js +0 -9
- package/dist/server/env.d.ts +0 -22
- package/dist/server/env.js +0 -57
- package/dist/server/plugins/index.d.ts +0 -2
- package/dist/server/plugins/index.js +0 -1
- package/dist/server/plugins/registry.d.ts +0 -9
- package/dist/server/plugins/registry.js +0 -79
- package/dist/server/rpc/delegate-transport.d.ts +0 -19
- package/dist/server/rpc/delegate-transport.js +0 -236
- package/dist/server/rpc/delegate-utils.d.ts +0 -2
- package/dist/server/rpc/delegate-utils.js +0 -5
- package/dist/server/rpc/handler-registry.d.ts +0 -3
- package/dist/server/rpc/handler-registry.js +0 -113
- package/dist/server/rpc/handler-utils.d.ts +0 -23
- package/dist/server/rpc/handler-utils.js +0 -170
- package/dist/server/rpc/handlers/cancel-delegated.d.ts +0 -4
- package/dist/server/rpc/handlers/cancel-delegated.js +0 -71
- package/dist/server/rpc/handlers/get-model-info.d.ts +0 -3
- package/dist/server/rpc/handlers/get-model-info.js +0 -164
- package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +0 -4
- package/dist/server/rpc/handlers/heartbeat-delegated.js +0 -32
- package/dist/server/rpc/handlers/heartbeat.d.ts +0 -3
- package/dist/server/rpc/handlers/heartbeat.js +0 -3
- package/dist/server/rpc/handlers/load-model/download-stats.d.ts +0 -6
- package/dist/server/rpc/handlers/load-model/download-stats.js +0 -87
- package/dist/server/rpc/handlers/load-model/handler.js +0 -187
- package/dist/server/rpc/handlers/load-model/registry.d.ts +0 -11
- package/dist/server/rpc/handlers/load-model/registry.js +0 -548
- package/dist/server/rpc/handlers/load-model/types.d.ts +0 -29
- package/dist/server/rpc/handlers/load-model/types.js +0 -1
- package/dist/server/rpc/handlers/ocr-stream.d.ts +0 -3
- package/dist/server/rpc/handlers/ocr-stream.js +0 -4
- package/dist/server/rpc/handlers/plugin-dispatch.d.ts +0 -15
- package/dist/server/rpc/handlers/plugin-dispatch.js +0 -59
- package/dist/server/rpc/handlers/plugin-invoke.d.ts +0 -4
- package/dist/server/rpc/handlers/plugin-invoke.js +0 -92
- package/dist/server/rpc/handlers/registry.d.ts +0 -5
- package/dist/server/rpc/handlers/registry.js +0 -157
- package/dist/server/rpc/handlers/unload-model-delegated.d.ts +0 -3
- package/dist/server/rpc/handlers/unload-model-delegated.js +0 -32
- package/dist/server/rpc/profiling/context.d.ts +0 -18
- package/dist/server/rpc/profiling/context.js +0 -38
- package/dist/server/rpc/profiling/delegation-profiler.d.ts +0 -32
- package/dist/server/rpc/profiling/delegation-profiler.js +0 -154
- package/dist/server/rpc/profiling/index.d.ts +0 -5
- package/dist/server/rpc/profiling/index.js +0 -4
- package/dist/server/rpc/profiling/operation-metrics.d.ts +0 -25
- package/dist/server/rpc/profiling/operation-metrics.js +0 -199
- package/dist/server/rpc/profiling/operation-wrappers.d.ts +0 -18
- package/dist/server/rpc/profiling/operation-wrappers.js +0 -124
- package/dist/server/rpc/profiling/profiler.d.ts +0 -13
- package/dist/server/rpc/profiling/profiler.js +0 -97
- package/dist/server/utils/archive.d.ts +0 -4
- package/dist/server/utils/archive.js +0 -179
- package/dist/server/utils/checksum.d.ts +0 -4
- package/dist/server/utils/checksum.js +0 -31
- package/dist/server/utils/config-transform.d.ts +0 -3
- package/dist/server/utils/config-transform.js +0 -23
- package/dist/server/utils/formatting.d.ts +0 -19
- package/dist/server/utils/formatting.js +0 -61
- package/dist/server/utils/gguf-tensor-extractor.d.ts +0 -15
- package/dist/server/utils/gguf-tensor-extractor.js +0 -314
- package/dist/server/utils/path-security.d.ts +0 -12
- package/dist/server/utils/path-security.js +0 -25
- package/dist/server/utils/shard-utils.d.ts +0 -48
- package/dist/server/utils/shard-utils.js +0 -125
- package/dist/server/utils/tool-integration.d.ts +0 -13
- package/dist/server/utils/tool-integration.js +0 -43
- package/dist/server/worker-core.d.ts +0 -6
- package/dist/server/worker-core.js +0 -88
- package/dist/utils/errors-base.d.ts +0 -3
- package/dist/utils/errors-base.js +0 -13
- package/dist/utils/errors-client.d.ts +0 -137
- package/dist/utils/errors-client.js +0 -240
- package/dist/utils/errors-server.d.ts +0 -236
- package/dist/utils/errors-server.js +0 -412
- package/dist/utils/global-singleton.d.ts +0 -2
- package/dist/utils/global-singleton.js +0 -10
- package/dist/utils/mcp-adapter.d.ts +0 -12
- package/dist/utils/mcp-adapter.js +0 -103
- package/dist/utils/object.d.ts +0 -2
- package/dist/utils/object.js +0 -3
- package/dist/utils/path-sanitize.d.ts +0 -17
- package/dist/utils/path-sanitize.js +0 -54
- package/dist/utils/tool-helpers.d.ts +0 -25
- package/dist/utils/tool-helpers.js +0 -112
- package/expo/plugins/patches/android-link.mjs +0 -63
- package/expo/plugins/patches/ios-link.mjs +0 -63
- /package/dist/examples/{seed-p2p.js → seed-hyperdrive.js} +0 -0
- /package/dist/examples/{transcription/whispercpp-filesystem.d.ts → whispercpp-filesystem.d.ts} +0 -0
- /package/dist/examples/{transcription/whispercpp-microphone-record.d.ts → whispercpp-microphone-record.d.ts} +0 -0
- /package/dist/models/{registry → hyperdrive}/index.d.ts +0 -0
- /package/dist/server/bare/{ops → addons}/cancel.d.ts +0 -0
- /package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.d.ts +0 -0
- /package/dist/server/bare/{ops → addons}/unload-model.d.ts +0 -0
|
@@ -1,35 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
// Define Zod schemas for tool parameters
|
|
4
|
-
const weatherSchema = z.object({
|
|
5
|
-
city: z.string().describe("City name"),
|
|
6
|
-
country: z.string().describe("Country code").optional(),
|
|
7
|
-
});
|
|
8
|
-
const horoscopeSchema = z.object({
|
|
9
|
-
sign: z.string().describe("An astrological sign like Taurus or Aquarius"),
|
|
10
|
-
});
|
|
11
|
-
// Map tool names to their schemas for runtime validation
|
|
12
|
-
const toolSchemas = {
|
|
13
|
-
get_weather: weatherSchema,
|
|
14
|
-
get_horoscope: horoscopeSchema,
|
|
15
|
-
};
|
|
16
|
-
// Simple tool definitions - just name, description, and Zod schema!
|
|
1
|
+
import { completion, loadModel, unloadModel, QWEN_3_1_7B_INST_Q4, } from "../index.js";
|
|
2
|
+
// Tool definitions
|
|
17
3
|
const tools = [
|
|
18
4
|
{
|
|
5
|
+
type: "function",
|
|
19
6
|
name: "get_weather",
|
|
20
7
|
description: "Get current weather for a city",
|
|
21
|
-
parameters:
|
|
8
|
+
parameters: {
|
|
9
|
+
type: "object",
|
|
10
|
+
properties: {
|
|
11
|
+
city: {
|
|
12
|
+
type: "string",
|
|
13
|
+
description: "City name",
|
|
14
|
+
},
|
|
15
|
+
country: {
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "ISO country code",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
required: ["city"],
|
|
21
|
+
},
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
+
type: "function",
|
|
24
25
|
name: "get_horoscope",
|
|
25
26
|
description: "Get today's horoscope for an astrological sign",
|
|
26
|
-
parameters:
|
|
27
|
+
parameters: {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {
|
|
30
|
+
sign: {
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "An astrological sign like Taurus or Aquarius",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ["sign"],
|
|
36
|
+
},
|
|
27
37
|
},
|
|
28
38
|
];
|
|
29
39
|
try {
|
|
30
40
|
// Load model from provided file path with tools support enabled
|
|
31
41
|
const modelId = await loadModel({
|
|
32
|
-
modelSrc:
|
|
42
|
+
modelSrc: QWEN_3_1_7B_INST_Q4,
|
|
33
43
|
modelType: "llm",
|
|
34
44
|
modelConfig: {
|
|
35
45
|
ctx_size: 4096,
|
|
@@ -78,67 +88,15 @@ try {
|
|
|
78
88
|
if (toolCalls.length > 0) {
|
|
79
89
|
for (const call of toolCalls) {
|
|
80
90
|
console.log(` - ${call.name}(${JSON.stringify(call.arguments)})`);
|
|
81
|
-
const schema = toolSchemas[call.name];
|
|
82
|
-
if (schema) {
|
|
83
|
-
const validated = schema.safeParse(call.arguments);
|
|
84
|
-
if (validated.success) {
|
|
85
|
-
console.log(` ✓ Arguments validated with Zod`);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
console.log(` ✗ Validation failed:`, validated.error);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
94
|
console.log(" No tool calls detected in response");
|
|
95
95
|
}
|
|
96
96
|
console.log("\n📊 Performance Stats:", stats);
|
|
97
|
-
// Execute tool calls and send results back to the model
|
|
98
|
-
if (toolCalls.length > 0) {
|
|
99
|
-
console.log("\n\n🔧 Simulating Tool Execution...");
|
|
100
|
-
// Simulate tool execution (in a real app, you'd call actual APIs)
|
|
101
|
-
const toolResults = toolCalls.map((call) => {
|
|
102
|
-
let result = "";
|
|
103
|
-
if (call.name === "get_weather") {
|
|
104
|
-
const args = call.arguments;
|
|
105
|
-
result = `The weather in ${args.city} is sunny, 22°C with light clouds.`;
|
|
106
|
-
}
|
|
107
|
-
else if (call.name === "get_horoscope") {
|
|
108
|
-
const args = call.arguments;
|
|
109
|
-
result = `Horoscope for ${args.sign}: Today is a great day for new beginnings and creative endeavors!`;
|
|
110
|
-
}
|
|
111
|
-
console.log(` ✓ ${call.name}: ${result}`);
|
|
112
|
-
return { toolCallId: call.id, result };
|
|
113
|
-
});
|
|
114
|
-
// Add tool results to conversation history
|
|
115
|
-
history.push({
|
|
116
|
-
role: "assistant",
|
|
117
|
-
content: await result.text,
|
|
118
|
-
});
|
|
119
|
-
// Add tool results as tool messages
|
|
120
|
-
for (const toolResult of toolResults) {
|
|
121
|
-
history.push({
|
|
122
|
-
role: "tool",
|
|
123
|
-
content: toolResult.result,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
// Send follow-up question with tool results
|
|
127
|
-
console.log("\n\n🤖 Follow-up Response with Tool Results:");
|
|
128
|
-
const followUpResult = completion({
|
|
129
|
-
modelId,
|
|
130
|
-
history,
|
|
131
|
-
stream: true,
|
|
132
|
-
tools,
|
|
133
|
-
});
|
|
134
|
-
for await (const token of followUpResult.tokenStream) {
|
|
135
|
-
process.stdout.write(token);
|
|
136
|
-
}
|
|
137
|
-
const followUpStats = await followUpResult.stats;
|
|
138
|
-
console.log("\n\n📊 Follow-up Stats:", followUpStats);
|
|
139
|
-
}
|
|
140
97
|
console.log("\n\n🎉 Completed!");
|
|
141
98
|
await unloadModel({ modelId, clearStorage: false });
|
|
99
|
+
process.exit(0);
|
|
142
100
|
}
|
|
143
101
|
catch (error) {
|
|
144
102
|
console.error("❌ Error:", error);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { completion, LLAMA_3_2_1B_INST_Q4_0, loadModel,
|
|
1
|
+
import { completion, LLAMA_3_2_1B_INST_Q4_0, loadModel, QWEN_3_1_7B_INST_Q4, unloadModel, } from "@qvac/sdk";
|
|
2
2
|
try {
|
|
3
3
|
const alice = await loadModel({
|
|
4
|
-
modelSrc:
|
|
4
|
+
modelSrc: QWEN_3_1_7B_INST_Q4,
|
|
5
5
|
modelType: "llm",
|
|
6
6
|
modelConfig: {
|
|
7
7
|
ctx_size: 4096,
|
|
@@ -67,6 +67,7 @@ try {
|
|
|
67
67
|
console.log("📊 Bob Stats: ", await bobResponse2.stats);
|
|
68
68
|
await unloadModel({ modelId: alice, clearStorage: false });
|
|
69
69
|
await unloadModel({ modelId: bob, clearStorage: false });
|
|
70
|
+
process.exit(0);
|
|
70
71
|
}
|
|
71
72
|
catch (error) {
|
|
72
73
|
console.error("❌ Error:", error);
|
|
@@ -1,51 +1,19 @@
|
|
|
1
|
-
import { LLAMA_3_2_1B_INST_Q4_0,
|
|
2
|
-
function now() {
|
|
3
|
-
return Date.now();
|
|
4
|
-
}
|
|
5
|
-
const assets = [
|
|
6
|
-
{ name: "Llama 3.2 1B", src: LLAMA_3_2_1B_INST_Q4_0 },
|
|
7
|
-
{ name: "Whisper Tiny", src: WHISPER_TINY },
|
|
8
|
-
{ name: "VAD Silero", src: VAD_SILERO_5_1_2 },
|
|
9
|
-
{ name: "GTE Large FP16", src: GTE_LARGE_FP16 },
|
|
10
|
-
];
|
|
11
|
-
const timers = {};
|
|
12
|
-
console.log(`\n=== Parallel Download (${assets.length} assets) ===\n`);
|
|
13
|
-
const wallStart = now();
|
|
1
|
+
import { LLAMA_3_2_1B_INST_Q4_0, downloadAsset, WHISPER_LARGE_3, } from "@qvac/sdk";
|
|
14
2
|
try {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
t.end = now();
|
|
27
|
-
console.log(`[${asset.name}] done at ${((t.end - wallStart) / 1000).toFixed(1)}s`);
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
});
|
|
3
|
+
const llamaDownloadPromise = downloadAsset({
|
|
4
|
+
assetSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
5
|
+
onProgress: (progress) => {
|
|
6
|
+
console.log("💬 Llama progress:", progress);
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
const whisperDownloadPromise = downloadAsset({
|
|
10
|
+
assetSrc: WHISPER_LARGE_3,
|
|
11
|
+
onProgress: (progress) => {
|
|
12
|
+
console.log("🔊 Whisper progress:", progress);
|
|
13
|
+
},
|
|
31
14
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
console.log(`\n=== Results ===\n`);
|
|
35
|
-
for (let i = 0; i < assets.length; i++) {
|
|
36
|
-
const asset = assets[i];
|
|
37
|
-
const result = results[i];
|
|
38
|
-
const t = timers[asset.name];
|
|
39
|
-
const status = result.status === "fulfilled" ? "OK" : "FAILED";
|
|
40
|
-
const reason = result.status === "rejected" ? ` — ${result.reason}` : "";
|
|
41
|
-
const timeToFirst = t.firstProgress != null
|
|
42
|
-
? `${((t.firstProgress - t.start) / 1000).toFixed(1)}s`
|
|
43
|
-
: "N/A";
|
|
44
|
-
const total = t.end != null ? `${((t.end - t.start) / 1000).toFixed(1)}s` : "N/A";
|
|
45
|
-
console.log(`${status} ${asset.name}: first-progress=${timeToFirst}, total=${total}${reason}`);
|
|
46
|
-
}
|
|
47
|
-
console.log(`\nWall time: ${((wallEnd - wallStart) / 1000).toFixed(1)}s`);
|
|
48
|
-
void close();
|
|
15
|
+
await Promise.all([llamaDownloadPromise, whisperDownloadPromise]);
|
|
16
|
+
process.exit(0);
|
|
49
17
|
}
|
|
50
18
|
catch (error) {
|
|
51
19
|
console.error("❌ Error:", error);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { loadModel, unloadModel, GTE_LARGE_FP16, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, } from "@qvac/sdk";
|
|
2
|
+
try {
|
|
3
|
+
console.log("🚀 RAG Workspaces with Chunking Example\n");
|
|
4
|
+
// Load model
|
|
5
|
+
const modelId = await loadModel({
|
|
6
|
+
modelSrc: GTE_LARGE_FP16,
|
|
7
|
+
modelType: "embeddings",
|
|
8
|
+
onProgress: (p) => process.stdout.write(`\rLoading: ${Math.round(p.percentage * 100)}%`),
|
|
9
|
+
});
|
|
10
|
+
console.log("\n");
|
|
11
|
+
// Medical article (will be chunked)
|
|
12
|
+
const medicalArticle = `
|
|
13
|
+
COVID-19: A Comprehensive Overview
|
|
14
|
+
|
|
15
|
+
COVID-19 is a respiratory illness caused by the SARS-CoV-2 virus, first identified in December 2019
|
|
16
|
+
in Wuhan, China. The virus spreads primarily through respiratory droplets when an infected person
|
|
17
|
+
coughs, sneezes, or talks.
|
|
18
|
+
|
|
19
|
+
Common symptoms include fever, cough, fatigue, and loss of taste or smell. Some patients may
|
|
20
|
+
experience shortness of breath, muscle aches, sore throat, and headaches. Symptoms typically
|
|
21
|
+
appear 2-14 days after exposure to the virus.
|
|
22
|
+
|
|
23
|
+
Vaccines have been developed using various technologies including mRNA, viral vector, and
|
|
24
|
+
inactivated virus approaches. These vaccines have proven effective in preventing severe illness,
|
|
25
|
+
hospitalization, and death. Booster doses are recommended to maintain immunity.
|
|
26
|
+
|
|
27
|
+
Treatment options vary based on severity. Mild cases often require only supportive care including
|
|
28
|
+
rest and hydration. Severe cases may require hospitalization, oxygen therapy, and antiviral
|
|
29
|
+
medications such as remdesivir or Paxlovid.
|
|
30
|
+
`;
|
|
31
|
+
// Tech documents (shorter, won't be chunked)
|
|
32
|
+
const techDocs = [
|
|
33
|
+
"Artificial intelligence is transforming industries through automation and advanced data analysis capabilities.",
|
|
34
|
+
"Deep learning neural networks enable breakthroughs in computer vision and natural language processing.",
|
|
35
|
+
];
|
|
36
|
+
// Save medical article with chunking
|
|
37
|
+
console.log("📚 Saving medical article with chunking...");
|
|
38
|
+
const medicalResult = await ragSaveEmbeddings({
|
|
39
|
+
modelId,
|
|
40
|
+
workspace: "medical",
|
|
41
|
+
documents: medicalArticle,
|
|
42
|
+
chunk: true,
|
|
43
|
+
chunkOpts: {
|
|
44
|
+
chunkSize: 100,
|
|
45
|
+
chunkOverlap: 10,
|
|
46
|
+
chunkStrategy: "paragraph",
|
|
47
|
+
splitStrategy: "token",
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
console.log(`✅ Created ${medicalResult.processed.length} chunks from medical article`);
|
|
51
|
+
// Save tech docs without chunking
|
|
52
|
+
console.log("\n📚 Saving tech documents...");
|
|
53
|
+
const techResult = await ragSaveEmbeddings({
|
|
54
|
+
modelId,
|
|
55
|
+
workspace: "technology",
|
|
56
|
+
documents: techDocs,
|
|
57
|
+
chunk: false,
|
|
58
|
+
});
|
|
59
|
+
console.log(`✅ Saved ${techResult.processed.length} tech documents`);
|
|
60
|
+
// Test searches
|
|
61
|
+
const searches = [
|
|
62
|
+
{ workspace: "medical", query: "COVID symptoms fever", label: "Medical" },
|
|
63
|
+
{ workspace: "medical", query: "vaccine technology", label: "Medical" },
|
|
64
|
+
{ workspace: "technology", query: "neural networks", label: "Tech" },
|
|
65
|
+
{ workspace: "technology", query: "COVID", label: "Tech (isolation test)" },
|
|
66
|
+
];
|
|
67
|
+
console.log("\n🔍 Running searches:");
|
|
68
|
+
for (const { workspace, query, label } of searches) {
|
|
69
|
+
const results = await ragSearch({ modelId, workspace, query, topK: 1 });
|
|
70
|
+
console.log(`\n${label}: "${query}"`);
|
|
71
|
+
if (results.length > 0 && results[0]) {
|
|
72
|
+
console.log(` ✓ Score: ${results[0].score.toFixed(3)}`);
|
|
73
|
+
console.log(` ✓ Match: ${results[0].content.substring(0, 80)}...`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.log(` ✗ No results (workspace isolation working correctly)`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Test default workspace
|
|
80
|
+
console.log("\n📁 Testing default workspace...");
|
|
81
|
+
await ragSaveEmbeddings({
|
|
82
|
+
modelId,
|
|
83
|
+
documents: ["Default workspace content for testing"],
|
|
84
|
+
chunk: false,
|
|
85
|
+
});
|
|
86
|
+
const defaultSearch = await ragSearch({
|
|
87
|
+
modelId,
|
|
88
|
+
query: "default workspace",
|
|
89
|
+
});
|
|
90
|
+
console.log(`Default workspace: ${defaultSearch?.[0]?.content === "Default workspace content for testing" ? "✅ Working" : "❌ Failed"}`);
|
|
91
|
+
// Cleanup example
|
|
92
|
+
const firstChunk = medicalResult.processed.find((p) => p.status === "fulfilled" && p.id);
|
|
93
|
+
if (firstChunk?.id) {
|
|
94
|
+
await ragDeleteEmbeddings({
|
|
95
|
+
modelId,
|
|
96
|
+
workspace: "medical",
|
|
97
|
+
ids: [firstChunk.id],
|
|
98
|
+
});
|
|
99
|
+
console.log("\n🗑️ Deleted one medical chunk");
|
|
100
|
+
}
|
|
101
|
+
await unloadModel({ modelId });
|
|
102
|
+
process.exit(0);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error("❌ Error:", error);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { loadModel, unloadModel, GTE_LARGE_FP16,
|
|
1
|
+
import { loadModel, unloadModel, GTE_LARGE_FP16, ragSaveEmbeddings, ragSearch, } from "@qvac/sdk";
|
|
2
2
|
try {
|
|
3
3
|
// Get query from command line or use default
|
|
4
4
|
const query = process.argv[2] || "machine learning algorithms";
|
|
5
|
-
const workspace = "ingest-example";
|
|
6
5
|
console.log(`🔍 Query: "${query}"`);
|
|
7
6
|
const modelId = await loadModel({
|
|
8
7
|
modelSrc: GTE_LARGE_FP16,
|
|
@@ -21,18 +20,16 @@ try {
|
|
|
21
20
|
"Cloud computing delivers computing services over the internet, allowing users to access resources like storage, processing power, and applications on-demand from anywhere.",
|
|
22
21
|
"Cybersecurity protects digital systems, networks, and data from malicious attacks, unauthorized access, and various forms of cyber threats through multiple layers of defense.",
|
|
23
22
|
];
|
|
24
|
-
console.log("📚
|
|
25
|
-
const
|
|
23
|
+
console.log("📚 Embedding documents...");
|
|
24
|
+
const docs = await ragSaveEmbeddings({
|
|
26
25
|
modelId,
|
|
27
|
-
workspace,
|
|
28
26
|
documents: samples,
|
|
29
27
|
chunk: false,
|
|
30
28
|
});
|
|
31
|
-
console.log(
|
|
29
|
+
console.log("🔍 Documents:", docs);
|
|
32
30
|
console.log("🔎 Searching for similar documents...");
|
|
33
31
|
const results = await ragSearch({
|
|
34
32
|
modelId,
|
|
35
|
-
workspace,
|
|
36
33
|
query,
|
|
37
34
|
topK: 3,
|
|
38
35
|
});
|
|
@@ -44,10 +41,8 @@ try {
|
|
|
44
41
|
console.log("=".repeat(100));
|
|
45
42
|
console.log();
|
|
46
43
|
});
|
|
47
|
-
// Cleanup: close and delete workspace
|
|
48
|
-
await ragCloseWorkspace({ workspace, deleteOnClose: true });
|
|
49
|
-
console.log(`\n🗑️ Deleted '${workspace}' workspace`);
|
|
50
44
|
await unloadModel({ modelId });
|
|
45
|
+
process.exit(0);
|
|
51
46
|
}
|
|
52
47
|
catch (error) {
|
|
53
48
|
console.error("❌ Error:", error);
|
|
@@ -1,10 +1,61 @@
|
|
|
1
|
+
import { loadModel, textToSpeech, unloadModel, TTS_PIPER_NORMAN_EN_US_ONNX_MEDIUM, TTS_PIPER_NORMAN_EN_US_ONNX_MEDIUM_CONFIG, } from "@qvac/sdk";
|
|
1
2
|
import { writeFileSync, unlinkSync } from "fs";
|
|
2
3
|
import { spawnSync } from "child_process";
|
|
3
4
|
import { platform } from "os";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
// Get eSpeakDataPath from command line arguments or use default
|
|
6
|
+
const eSpeakDataPath = process.argv[2];
|
|
7
|
+
console.log(`Using eSpeak data path: ${eSpeakDataPath}`);
|
|
8
|
+
if (!eSpeakDataPath) {
|
|
9
|
+
console.error("eSpeakDataPath is required");
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
const modelId = await loadModel({
|
|
14
|
+
modelSrc: TTS_PIPER_NORMAN_EN_US_ONNX_MEDIUM,
|
|
15
|
+
modelType: "tts",
|
|
16
|
+
configSrc: TTS_PIPER_NORMAN_EN_US_ONNX_MEDIUM_CONFIG,
|
|
17
|
+
eSpeakDataPath,
|
|
18
|
+
modelConfig: {
|
|
19
|
+
language: "en",
|
|
20
|
+
},
|
|
21
|
+
onProgress: (progress) => {
|
|
22
|
+
console.log(progress);
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
console.log(`Model loaded: ${modelId}`);
|
|
26
|
+
// Test TTS
|
|
27
|
+
console.log("🎵 Testing Text-to-Speech...");
|
|
28
|
+
const result = textToSpeech({
|
|
29
|
+
modelId,
|
|
30
|
+
text: "Hello, how are you today? This is a test of the TTS system.",
|
|
31
|
+
inputType: "text",
|
|
32
|
+
stream: false,
|
|
33
|
+
});
|
|
34
|
+
const audioBuffer = await result.buffer;
|
|
35
|
+
console.log(`TTS complete. Total bytes: ${audioBuffer.length}`);
|
|
36
|
+
// Save and play audio
|
|
37
|
+
console.log("💾 Saving audio to file...");
|
|
38
|
+
createWav(audioBuffer, 22050, "tts-output.wav");
|
|
39
|
+
console.log("✅ Audio saved to tts-output.wav");
|
|
40
|
+
console.log("🔊 Playing audio...");
|
|
41
|
+
const audioData = int16ArrayToBuffer(audioBuffer);
|
|
42
|
+
const wavBuffer = Buffer.concat([
|
|
43
|
+
createWavHeader(audioData.length),
|
|
44
|
+
audioData,
|
|
45
|
+
]);
|
|
46
|
+
playAudio(wavBuffer);
|
|
47
|
+
console.log("✅ Audio playback complete");
|
|
48
|
+
// Unload the model
|
|
49
|
+
await unloadModel({ modelId });
|
|
50
|
+
console.log("Model unloaded");
|
|
51
|
+
process.exit(0);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error("❌ Error:", error);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
// Function to create WAV header for 16-bit PCM audio
|
|
58
|
+
function createWavHeader(dataLength, sampleRate = 22050) {
|
|
8
59
|
const header = Buffer.alloc(44);
|
|
9
60
|
// RIFF header
|
|
10
61
|
header.write("RIFF", 0);
|
|
@@ -24,30 +75,24 @@ export function createWavHeader(dataLength, sampleRate) {
|
|
|
24
75
|
header.writeUInt32LE(dataLength, 40);
|
|
25
76
|
return header;
|
|
26
77
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
for (let i = 0; i < samples.length; i++) {
|
|
33
|
-
const value = Math.max(-32768, Math.min(32767, Math.round(samples[i] ?? 0)));
|
|
78
|
+
// Function to convert Int16Array to Buffer
|
|
79
|
+
function int16ArrayToBuffer(int16Array) {
|
|
80
|
+
const buffer = Buffer.alloc(int16Array.length * 2);
|
|
81
|
+
for (let i = 0; i < int16Array.length; i++) {
|
|
82
|
+
const value = int16Array[i] ?? 0;
|
|
34
83
|
buffer.writeInt16LE(value, i * 2);
|
|
35
84
|
}
|
|
36
85
|
return buffer;
|
|
37
86
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
export function createWav(audioBuffer, sampleRate, filename) {
|
|
87
|
+
// Function to create and save WAV file (similar to reference implementation)
|
|
88
|
+
export function createWav(audioBuffer, sampleRate = 22050, filename = "output.wav") {
|
|
42
89
|
const audioData = int16ArrayToBuffer(audioBuffer);
|
|
43
90
|
const wavHeader = createWavHeader(audioData.length, sampleRate);
|
|
44
91
|
const wavFile = Buffer.concat([wavHeader, audioData]);
|
|
45
92
|
writeFileSync(filename, wavFile);
|
|
46
93
|
console.log(`WAV file saved as: ${filename}`);
|
|
47
94
|
}
|
|
48
|
-
|
|
49
|
-
* Play audio using system audio players
|
|
50
|
-
*/
|
|
95
|
+
// Function to play audio using system audio players
|
|
51
96
|
export function playAudio(audioBuffer) {
|
|
52
97
|
const currentPlatform = platform();
|
|
53
98
|
const tempFile = `/tmp/audio-${Date.now()}.wav`;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { loadModel, translate, unloadModel, MARIAN_EN_HI_INDIC_1B_Q4_0, } from "@qvac/sdk";
|
|
2
|
-
// NOTE: @qvac/translation-nmtcpp version 0.1.6 does not work well with IndicTrans models
|
|
3
|
-
// This example is expected to fail
|
|
4
|
-
// A fix is in progress for future releases
|
|
5
2
|
try {
|
|
6
3
|
const modelId = await loadModel({
|
|
7
4
|
modelSrc: MARIAN_EN_HI_INDIC_1B_Q4_0,
|
|
@@ -10,7 +7,6 @@ try {
|
|
|
10
7
|
console.log(progress);
|
|
11
8
|
},
|
|
12
9
|
modelConfig: {
|
|
13
|
-
engine: "IndicTrans",
|
|
14
10
|
from: "eng_Latn",
|
|
15
11
|
to: "hin_Deva",
|
|
16
12
|
},
|
|
@@ -26,6 +22,7 @@ try {
|
|
|
26
22
|
const translatedText = await result.text;
|
|
27
23
|
console.log(`Translated text EN -> HI: ${text} -> "${translatedText}"`);
|
|
28
24
|
await unloadModel({ modelId });
|
|
25
|
+
process.exit(0);
|
|
29
26
|
}
|
|
30
27
|
catch (error) {
|
|
31
28
|
console.error("❌ Error:", error);
|
|
@@ -22,6 +22,7 @@ try {
|
|
|
22
22
|
const translatedTextExplicit = await resultExplicit.text;
|
|
23
23
|
console.log(`${engText} -> "${translatedTextExplicit}"`); // "banco" (not "orilla")
|
|
24
24
|
await unloadModel({ modelId, clearStorage: false });
|
|
25
|
+
process.exit(0);
|
|
25
26
|
}
|
|
26
27
|
catch (error) {
|
|
27
28
|
console.error("❌ Error:", error);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { translate, loadModel,
|
|
1
|
+
import { translate, loadModel, SALAMANDRATA_2B_INST_Q4 } from "@qvac/sdk";
|
|
2
2
|
try {
|
|
3
3
|
const modelId = await loadModel({
|
|
4
4
|
modelSrc: SALAMANDRATA_2B_INST_Q4,
|
|
@@ -30,7 +30,7 @@ try {
|
|
|
30
30
|
const translatedTextAutodetect = await resultAutodetect.text;
|
|
31
31
|
console.log(`Explicit source: ${engText} -> "${translatedTextExplicit}"`);
|
|
32
32
|
console.log(`Autodetected source: ${espText} -> "${translatedTextAutodetect}"`);
|
|
33
|
-
|
|
33
|
+
process.exit(0);
|
|
34
34
|
}
|
|
35
35
|
catch (error) {
|
|
36
36
|
console.error("❌ Error:", error);
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { loadModel, translate, unloadModel,
|
|
1
|
+
import { loadModel, translate, unloadModel, MARIAN_OPUS_EN_IT_Q0F32, } from "@qvac/sdk";
|
|
2
2
|
try {
|
|
3
3
|
const modelId = await loadModel({
|
|
4
|
-
modelSrc:
|
|
4
|
+
modelSrc: MARIAN_OPUS_EN_IT_Q0F32,
|
|
5
5
|
modelType: "nmt",
|
|
6
6
|
modelConfig: {
|
|
7
|
-
engine: "Opus",
|
|
8
7
|
from: "en",
|
|
9
8
|
to: "it",
|
|
10
|
-
temperature: 0.2,
|
|
11
|
-
norepeatngramsize: 3,
|
|
12
|
-
lengthpenalty: 1.2,
|
|
13
9
|
},
|
|
14
10
|
onProgress: (progress) => {
|
|
15
11
|
console.log(progress);
|
|
@@ -26,6 +22,7 @@ try {
|
|
|
26
22
|
const translatedText = await result.text;
|
|
27
23
|
console.log(`Translated text EN -> IT: ${text} -> "${translatedText}"`);
|
|
28
24
|
await unloadModel({ modelId });
|
|
25
|
+
process.exit(0);
|
|
29
26
|
}
|
|
30
27
|
catch (error) {
|
|
31
28
|
console.error("❌ Error:", error);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { loadModel, translate,
|
|
1
|
+
import { loadModel, translate, MARIAN_OPUS_EN_IT_Q0F32, unloadModel, } from "@qvac/sdk";
|
|
2
2
|
try {
|
|
3
3
|
const modelId = await loadModel({
|
|
4
|
-
modelSrc:
|
|
4
|
+
modelSrc: MARIAN_OPUS_EN_IT_Q0F32,
|
|
5
5
|
modelType: "nmt",
|
|
6
6
|
modelConfig: {
|
|
7
|
-
engine: "Opus",
|
|
8
7
|
from: "en",
|
|
9
8
|
to: "it",
|
|
10
9
|
},
|
|
@@ -28,6 +27,7 @@ try {
|
|
|
28
27
|
console.log(`Processing stats:`, stats);
|
|
29
28
|
}
|
|
30
29
|
await unloadModel({ modelId, clearStorage: false });
|
|
30
|
+
process.exit(0);
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
33
|
console.error("❌ Error:", error);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { loadModel, unloadModel, transcribe, WHISPER_TINY, VAD_SILERO_5_1_2, } from "@qvac/sdk";
|
|
2
|
+
// Parse command line arguments
|
|
3
|
+
const args = process.argv.slice(2);
|
|
4
|
+
if (!args[0]) {
|
|
5
|
+
console.error("Usage: bun run examples/whispercpp-filesystem.ts <wav-file-path>");
|
|
6
|
+
process.exit(1);
|
|
7
|
+
}
|
|
8
|
+
const audioFilePath = args[0];
|
|
9
|
+
try {
|
|
10
|
+
console.log("🎤 Starting Whisper transcription example...");
|
|
11
|
+
// Load the Whisper model with VAD
|
|
12
|
+
console.log("📥 Loading Whisper model...");
|
|
13
|
+
const modelId = await loadModel({
|
|
14
|
+
modelSrc: WHISPER_TINY,
|
|
15
|
+
modelType: "whisper",
|
|
16
|
+
vadModelSrc: VAD_SILERO_5_1_2,
|
|
17
|
+
modelConfig: {
|
|
18
|
+
mode: "caption",
|
|
19
|
+
output_format: "plaintext",
|
|
20
|
+
min_seconds: 2,
|
|
21
|
+
max_seconds: 6,
|
|
22
|
+
audio_format: "f32le",
|
|
23
|
+
},
|
|
24
|
+
onProgress: (progress) => {
|
|
25
|
+
console.log(progress);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
console.log(`✅ Whisper model loaded with ID: ${modelId}`);
|
|
29
|
+
// Perform transcription
|
|
30
|
+
console.log("🎧 Transcribing audio...");
|
|
31
|
+
const text = await transcribe({ modelId, audioChunk: audioFilePath });
|
|
32
|
+
console.log("📝 Transcription result:");
|
|
33
|
+
console.log(text);
|
|
34
|
+
// Unload the model when done
|
|
35
|
+
console.log("🧹 Unloading Whisper model...");
|
|
36
|
+
await unloadModel({ modelId });
|
|
37
|
+
console.log("✅ Whisper model unloaded successfully");
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error("❌ Error:", error);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|