@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,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default Config Example
|
|
3
|
-
*
|
|
4
|
-
* This example demonstrates how to use a config file with the SDK.
|
|
5
|
-
*
|
|
6
|
-
* Supported config formats:
|
|
7
|
-
* - qvac.config.json (JSON)
|
|
8
|
-
* - qvac.config.js (JavaScript with default export)
|
|
9
|
-
* - qvac.config.ts (TypeScript with default export)
|
|
10
|
-
*
|
|
11
|
-
* Config resolution order:
|
|
12
|
-
* 1. QVAC_CONFIG_PATH environment variable (used here for demo purposes)
|
|
13
|
-
* 2. Config file in project root - auto-discovered, no env var needed
|
|
14
|
-
* 3. SDK defaults
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=default-config-usage.d.ts.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default Config Example
|
|
3
|
-
*
|
|
4
|
-
* This example demonstrates how to use a config file with the SDK.
|
|
5
|
-
*
|
|
6
|
-
* Supported config formats:
|
|
7
|
-
* - qvac.config.json (JSON)
|
|
8
|
-
* - qvac.config.js (JavaScript with default export)
|
|
9
|
-
* - qvac.config.ts (TypeScript with default export)
|
|
10
|
-
*
|
|
11
|
-
* Config resolution order:
|
|
12
|
-
* 1. QVAC_CONFIG_PATH environment variable (used here for demo purposes)
|
|
13
|
-
* 2. Config file in project root - auto-discovered, no env var needed
|
|
14
|
-
* 3. SDK defaults
|
|
15
|
-
*/
|
|
16
|
-
// Note: This example uses .js file for the config
|
|
17
|
-
// However it could be .json or .ts as well, depending on your needs.
|
|
18
|
-
const configDir = import.meta.dirname ?? process.cwd();
|
|
19
|
-
process.env["QVAC_CONFIG_PATH"] =
|
|
20
|
-
`${configDir}/config/default/default.config.js`;
|
|
21
|
-
console.log(`🔍 Using config from: ${process.env["QVAC_CONFIG_PATH"]}`);
|
|
22
|
-
const { loadModel, unloadModel, completion, LLAMA_3_2_1B_INST_Q4_0 } = await import("@qvac/sdk");
|
|
23
|
-
try {
|
|
24
|
-
console.log("🚀 Loading model with configured settings...\n");
|
|
25
|
-
const modelId = await loadModel({
|
|
26
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
27
|
-
modelType: "llm",
|
|
28
|
-
});
|
|
29
|
-
console.log("\n💬 Running completion...\n");
|
|
30
|
-
const result = completion({
|
|
31
|
-
modelId,
|
|
32
|
-
history: [
|
|
33
|
-
{ role: "user", content: "Say 'Config works!' in exactly 3 words." },
|
|
34
|
-
],
|
|
35
|
-
stream: true,
|
|
36
|
-
});
|
|
37
|
-
for await (const token of result.tokenStream) {
|
|
38
|
-
process.stdout.write(token);
|
|
39
|
-
}
|
|
40
|
-
console.log("\n");
|
|
41
|
-
await unloadModel({ modelId });
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
console.error("❌ Error:", error);
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
47
|
-
export {};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { close, completion, LLAMA_3_2_1B_INST_Q4_0, loadModel, profiler, } from "@qvac/sdk";
|
|
2
|
-
const topicHex = process.argv[2];
|
|
3
|
-
if (!topicHex) {
|
|
4
|
-
console.error("❌ Usage: bun run consumer-profiled.ts <topic> <publicKey>");
|
|
5
|
-
process.exit(1);
|
|
6
|
-
}
|
|
7
|
-
const providerPublicKey = process.argv[3];
|
|
8
|
-
if (!providerPublicKey) {
|
|
9
|
-
console.error("❌ Usage: bun run consumer-profiled.ts <topic> <publicKey>");
|
|
10
|
-
process.exit(1);
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
profiler.enable({ mode: "verbose", includeServerBreakdown: true });
|
|
14
|
-
console.log("✓ Profiler enabled");
|
|
15
|
-
console.log(`\n📡 Topic: ${topicHex}`);
|
|
16
|
-
console.log(`🔑 Provider: ${providerPublicKey}\n`);
|
|
17
|
-
console.log("→ Loading model (delegated, unary)...");
|
|
18
|
-
const modelId = await loadModel({
|
|
19
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
20
|
-
modelType: "llm",
|
|
21
|
-
delegate: {
|
|
22
|
-
topic: topicHex,
|
|
23
|
-
providerPublicKey,
|
|
24
|
-
timeout: 30_000,
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
console.log(`✓ Model loaded: ${modelId}\n`);
|
|
28
|
-
console.log("→ Running completion (delegated, streamed)...");
|
|
29
|
-
const response = completion({
|
|
30
|
-
modelId,
|
|
31
|
-
history: [{ role: "user", content: "Say hello in exactly 5 words." }],
|
|
32
|
-
stream: true,
|
|
33
|
-
});
|
|
34
|
-
process.stdout.write(" Response: ");
|
|
35
|
-
for await (const token of response.tokenStream) {
|
|
36
|
-
process.stdout.write(token);
|
|
37
|
-
}
|
|
38
|
-
await response.stats;
|
|
39
|
-
console.log("\n✓ Completion done\n");
|
|
40
|
-
console.log("=== Profiler Summary ===");
|
|
41
|
-
console.log(profiler.exportSummary());
|
|
42
|
-
console.log("=== Profiler Table ===");
|
|
43
|
-
console.log(profiler.exportTable());
|
|
44
|
-
// Look for delegation-specific metrics
|
|
45
|
-
const json = profiler.exportJSON();
|
|
46
|
-
const delegationMetrics = Object.keys(json.aggregates).filter((k) => k.includes("delegation") || k.includes("delegated"));
|
|
47
|
-
if (delegationMetrics.length > 0) {
|
|
48
|
-
console.log("=== Delegation Metrics ===");
|
|
49
|
-
for (const key of delegationMetrics) {
|
|
50
|
-
const agg = json.aggregates[key];
|
|
51
|
-
if (agg) {
|
|
52
|
-
console.log(` ${key}: ${agg.avg.toFixed(2)}ms (count: ${agg.count})`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
console.log("⚠️ No delegation-specific metrics found");
|
|
58
|
-
console.log(" (delegation profiling may need to be triggered)");
|
|
59
|
-
}
|
|
60
|
-
profiler.disable();
|
|
61
|
-
void close();
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error("❌ Error:", error);
|
|
65
|
-
profiler.disable();
|
|
66
|
-
process.exit(1);
|
|
67
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// Set config path before importing SDK - the SDK loads config during initialization
|
|
2
|
-
// This example uses a config file that defines blind relay public keys for improved P2P connectivity
|
|
3
|
-
// Blind relays help establish connections through NAT/firewalls by acting as intermediaries
|
|
4
|
-
const configDir = import.meta.dirname ?? process.cwd();
|
|
5
|
-
process.env["QVAC_CONFIG_PATH"] =
|
|
6
|
-
`${configDir}/config/blind-relay/blind-relay.config.js`;
|
|
7
|
-
import { downloadAsset, close, LLAMA_3_2_1B_INST_Q4_0, loadModel, getModelInfo, unloadModel, } from "@qvac/sdk";
|
|
8
|
-
console.log(`🚀 Download with Blind Relays Example`);
|
|
9
|
-
console.log(`${"=".repeat(60)}\n`);
|
|
10
|
-
try {
|
|
11
|
-
// Config is loaded from examples/config/qvac.config.json (set via QVAC_CONFIG_PATH above)
|
|
12
|
-
// The config contains swarmRelays - an array of Hyperswarm relay public keys
|
|
13
|
-
// These relays help with NAT traversal and firewall bypassing for P2P downloads
|
|
14
|
-
console.log(`📥 Starting model download from Hyperdrive...\n`);
|
|
15
|
-
const startTime = Date.now();
|
|
16
|
-
const modelId = await loadModel({
|
|
17
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
18
|
-
modelType: "llm",
|
|
19
|
-
});
|
|
20
|
-
console.log(`Model loaded with ID: ${modelId}`);
|
|
21
|
-
const firstStatus = await getModelInfo(LLAMA_3_2_1B_INST_Q4_0);
|
|
22
|
-
console.log(`First status: ${JSON.stringify(firstStatus)}`);
|
|
23
|
-
await unloadModel({ modelId });
|
|
24
|
-
// Download model with progress tracking
|
|
25
|
-
await downloadAsset({
|
|
26
|
-
assetSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
27
|
-
onProgress: (progress) => {
|
|
28
|
-
const downloadedMB = (progress.downloaded / 1024 / 1024).toFixed(2);
|
|
29
|
-
const totalMB = (progress.total / 1024 / 1024).toFixed(2);
|
|
30
|
-
const percentage = progress.percentage.toFixed(1);
|
|
31
|
-
const elapsedSeconds = (Date.now() - startTime) / 1000;
|
|
32
|
-
const speedMBps = (progress.downloaded /
|
|
33
|
-
1024 /
|
|
34
|
-
1024 /
|
|
35
|
-
elapsedSeconds).toFixed(2);
|
|
36
|
-
console.log(`📊 ${percentage}% - ${downloadedMB}MB / ${totalMB}MB (${speedMBps} MB/s)`);
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
console.log(`\n✅ Model downloaded successfully using blind relays!`);
|
|
40
|
-
console.log(`Blind relays helped establish peer connections through NAT/firewalls\n`);
|
|
41
|
-
await close();
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
console.error("❌ Error:", error);
|
|
45
|
-
console.log(`\nIf download failed, check the relay public keys in:`);
|
|
46
|
-
console.log(` examples/config/qvac.config.json`);
|
|
47
|
-
console.log(` (Mock keys in this example won't work in practice!)`);
|
|
48
|
-
process.exit(1);
|
|
49
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { embed, GTE_LARGE_FP16, loadModel, unloadModel } from "@qvac/sdk";
|
|
2
|
-
function cosineSimilarity(vecA, vecB) {
|
|
3
|
-
let dotProduct = 0;
|
|
4
|
-
for (let i = 0; i < vecA.length; i++) {
|
|
5
|
-
dotProduct += vecA[i] * vecB[i];
|
|
6
|
-
}
|
|
7
|
-
return dotProduct;
|
|
8
|
-
}
|
|
9
|
-
try {
|
|
10
|
-
const modelId = await loadModel({
|
|
11
|
-
modelSrc: GTE_LARGE_FP16,
|
|
12
|
-
modelType: "embeddings",
|
|
13
|
-
onProgress: (progress) => {
|
|
14
|
-
console.log(progress);
|
|
15
|
-
},
|
|
16
|
-
modelConfig: {
|
|
17
|
-
gpuLayers: 99,
|
|
18
|
-
device: "gpu",
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
console.log("\n📝 Example 1: Single Text Embedding");
|
|
22
|
-
console.log("=".repeat(50));
|
|
23
|
-
const singleEmbedding = await embed({ modelId, text: "Hello, world!" });
|
|
24
|
-
console.log("Input: 'Hello, world!'");
|
|
25
|
-
console.log("Embedding dimensions:", singleEmbedding.length);
|
|
26
|
-
console.log("First 10 values:", singleEmbedding.slice(0, 10));
|
|
27
|
-
console.log("\n📝 Example 2: Batch Text Embeddings");
|
|
28
|
-
console.log("=".repeat(50));
|
|
29
|
-
const texts = [
|
|
30
|
-
"The quick brown fox jumps over the lazy dog",
|
|
31
|
-
"A fast auburn fox leaps over a sleepy canine",
|
|
32
|
-
"Python is a programming language",
|
|
33
|
-
];
|
|
34
|
-
const batchEmbeddings = await embed({ modelId, text: texts });
|
|
35
|
-
console.log("Input: Array of", texts.length, "texts");
|
|
36
|
-
console.log("Output: Array of", batchEmbeddings.length, "embeddings");
|
|
37
|
-
const [emb1, emb2, emb3] = batchEmbeddings;
|
|
38
|
-
if (!emb1 || !emb2 || !emb3) {
|
|
39
|
-
throw new Error("Expected 3 embeddings");
|
|
40
|
-
}
|
|
41
|
-
console.log("Each embedding dimensions:", emb1.length);
|
|
42
|
-
console.log("\n🔍 Similarity Analysis");
|
|
43
|
-
console.log("=".repeat(50));
|
|
44
|
-
const similarity1 = cosineSimilarity(emb1, emb2);
|
|
45
|
-
const similarity2 = cosineSimilarity(emb1, emb3);
|
|
46
|
-
console.log("Similarity between texts 1 and 2 (similar meaning):", similarity1.toFixed(4));
|
|
47
|
-
console.log("Similarity between texts 1 and 3 (different topics):", similarity2.toFixed(4));
|
|
48
|
-
console.log("\n💡 Higher values indicate more similar meanings");
|
|
49
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error("❌ Error:", error);
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { completion, loadModel, unloadModel, VERBOSITY } from "@qvac/sdk";
|
|
2
|
-
// Sharded models can be loaded from:
|
|
3
|
-
// 1. HTTP archives: "https://example.com/model.tar.gz"
|
|
4
|
-
// 2. HTTP pattern: "https://example.com/model-00001-of-00005.gguf"
|
|
5
|
-
// 3. Hyperdrive: use any sharded model source/constant, eg: LLAMA_3_2_1B_INST_Q4_0_SHARD
|
|
6
|
-
// 4. Local filesystem: pass the path to the first shard file (Note: All shards must be in the same directory)
|
|
7
|
-
// 5. Local archive: pass the path to the archive file (.tar, .tar.gz, .tgz)
|
|
8
|
-
try {
|
|
9
|
-
const modelId = await loadModel({
|
|
10
|
-
modelSrc: "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q4_0-00001-of-00002.gguf",
|
|
11
|
-
modelType: "llm",
|
|
12
|
-
modelConfig: {
|
|
13
|
-
device: "gpu",
|
|
14
|
-
ctx_size: 2048,
|
|
15
|
-
verbosity: VERBOSITY.ERROR,
|
|
16
|
-
},
|
|
17
|
-
onProgress: (progress) => {
|
|
18
|
-
// For sharded models, progress.shardInfo contains detailed progress for both
|
|
19
|
-
// individual shards AND overall download progress across all shards
|
|
20
|
-
if (progress.shardInfo) {
|
|
21
|
-
// For pattern-based or Hyperdrive shards
|
|
22
|
-
const { shardInfo } = progress;
|
|
23
|
-
console.log(`📥 Downloading ${shardInfo.shardName} (${shardInfo.currentShard}/${shardInfo.totalShards})\n` +
|
|
24
|
-
` File: ${progress.percentage.toFixed(1)}% (${(progress.downloaded / 1024 / 1024).toFixed(2)}MB / ${(progress.total / 1024 / 1024).toFixed(2)}MB)\n` +
|
|
25
|
-
` Overall: ${shardInfo.overallPercentage.toFixed(1)}% (${(shardInfo.overallDownloaded / 1024 / 1024).toFixed(2)}MB / ${(shardInfo.overallTotal / 1024 / 1024).toFixed(2)}MB)`);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
// For archive-based shards
|
|
29
|
-
console.log(`📥 Progress: ${progress.percentage.toFixed(1)}% ` +
|
|
30
|
-
`(${(progress.downloaded / 1024 / 1024).toFixed(2)}MB / ${(progress.total / 1024 / 1024).toFixed(2)}MB)`);
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
const history = [
|
|
35
|
-
{
|
|
36
|
-
role: "user",
|
|
37
|
-
content: "What are the benefits of sharding large language models? Use emojis in your response.",
|
|
38
|
-
},
|
|
39
|
-
];
|
|
40
|
-
const result = completion({ modelId, history, stream: true });
|
|
41
|
-
console.log("\n🤖 Model response:");
|
|
42
|
-
for await (const token of result.tokenStream) {
|
|
43
|
-
process.stdout.write(token);
|
|
44
|
-
}
|
|
45
|
-
const stats = await result.stats;
|
|
46
|
-
console.log("\n\n📊 Performance Stats:", stats);
|
|
47
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
48
|
-
process.exit(0);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
console.error("❌ Error:", error);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { loadModel, completion, unloadModel, loggingStream, SDK_LOG_ID, LLAMA_3_2_1B_INST_Q4_0, GTE_LARGE_FP16, VERBOSITY, embed, } from "@qvac/sdk";
|
|
2
|
-
try {
|
|
3
|
-
console.log("🚀 Starting log streaming demo...\n");
|
|
4
|
-
// Note: To configure logging (level and console output), use config file:
|
|
5
|
-
// { "loggerLevel": "debug", "loggerConsoleOutput": false } in qvac.config.json/js/ts
|
|
6
|
-
// Subscribe to SDK server logs in background
|
|
7
|
-
console.log("📡 Starting SDK server log stream...\n");
|
|
8
|
-
(async () => {
|
|
9
|
-
for await (const log of loggingStream({ id: SDK_LOG_ID })) {
|
|
10
|
-
console.log(`[SDK] [${log.level.toUpperCase()}] [${log.namespace}] ${log.message}`);
|
|
11
|
-
}
|
|
12
|
-
})().catch(() => {
|
|
13
|
-
// Stream terminated - normal on shutdown
|
|
14
|
-
});
|
|
15
|
-
// Load models
|
|
16
|
-
console.log("📥 Loading models (watch SDK logs above)...\n");
|
|
17
|
-
const llmModelId = await loadModel({
|
|
18
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
19
|
-
modelType: "llm",
|
|
20
|
-
modelConfig: {
|
|
21
|
-
ctx_size: 2048,
|
|
22
|
-
temp: 0.7,
|
|
23
|
-
verbosity: VERBOSITY.ERROR, // Only log errors, remaining logs are captured by loggingStream
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
const embedModelId = await loadModel({
|
|
27
|
-
modelSrc: GTE_LARGE_FP16,
|
|
28
|
-
modelType: "embeddings",
|
|
29
|
-
});
|
|
30
|
-
console.log("📡 Starting model-specific log streams...\n");
|
|
31
|
-
(async () => {
|
|
32
|
-
for await (const log of loggingStream({ id: llmModelId })) {
|
|
33
|
-
const timestamp = new Date(log.timestamp).toISOString();
|
|
34
|
-
console.log(`[LLM] [${timestamp}] [${log.level.toUpperCase()}] ${log.namespace}: ${log.message}`);
|
|
35
|
-
}
|
|
36
|
-
})().catch(() => {
|
|
37
|
-
// Stream terminated - this is normal when model unloads
|
|
38
|
-
});
|
|
39
|
-
(async () => {
|
|
40
|
-
for await (const log of loggingStream({ id: embedModelId })) {
|
|
41
|
-
const timestamp = new Date(log.timestamp).toISOString();
|
|
42
|
-
console.log(`[EMBED] [${timestamp}] [${log.level.toUpperCase()}] ${log.namespace}: ${log.message}`);
|
|
43
|
-
}
|
|
44
|
-
})().catch(() => {
|
|
45
|
-
// Stream terminated - this is normal when model unloads
|
|
46
|
-
});
|
|
47
|
-
const messages = [
|
|
48
|
-
{ role: "user", content: "Count from 1 to 5 and explain each number." },
|
|
49
|
-
];
|
|
50
|
-
const result = completion({
|
|
51
|
-
modelId: llmModelId,
|
|
52
|
-
history: messages,
|
|
53
|
-
stream: true,
|
|
54
|
-
});
|
|
55
|
-
const embedding = await embed({
|
|
56
|
-
modelId: embedModelId,
|
|
57
|
-
text: messages[0]?.content ?? "Hello, world!",
|
|
58
|
-
});
|
|
59
|
-
console.log("📝 Response:\n");
|
|
60
|
-
for await (const token of result.tokenStream) {
|
|
61
|
-
process.stdout.write(token);
|
|
62
|
-
}
|
|
63
|
-
console.log("Embedding (first 20 elements)", embedding.slice(0, 20));
|
|
64
|
-
console.log("Embeddings length", embedding.length);
|
|
65
|
-
console.log("\n💡 Notice three log streams running:\n" +
|
|
66
|
-
" - [SDK] = SDK server operations\n" +
|
|
67
|
-
" - [LLM] = LLM model inference logs\n" +
|
|
68
|
-
" - [EMBED] = Embedding model logs\n");
|
|
69
|
-
await unloadModel({ modelId: llmModelId, clearStorage: false });
|
|
70
|
-
await unloadModel({ modelId: embedModelId, clearStorage: false });
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
console.error("❌ Error:", error);
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP DuckDuckGo Search Example
|
|
3
|
-
*
|
|
4
|
-
* A web search example using DuckDuckGo - no API key required!
|
|
5
|
-
* The server provides tools to search the web and get answers.
|
|
6
|
-
*
|
|
7
|
-
* Prerequisites:
|
|
8
|
-
* - Install MCP SDK: bun add @modelcontextprotocol/sdk
|
|
9
|
-
*
|
|
10
|
-
* Run with: bun run examples/mcp-websearch.ts
|
|
11
|
-
*/
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=mcp-websearch.d.ts.map
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP DuckDuckGo Search Example
|
|
3
|
-
*
|
|
4
|
-
* A web search example using DuckDuckGo - no API key required!
|
|
5
|
-
* The server provides tools to search the web and get answers.
|
|
6
|
-
*
|
|
7
|
-
* Prerequisites:
|
|
8
|
-
* - Install MCP SDK: bun add @modelcontextprotocol/sdk
|
|
9
|
-
*
|
|
10
|
-
* Run with: bun run examples/mcp-websearch.ts
|
|
11
|
-
*/
|
|
12
|
-
import { completion, loadModel, unloadModel, QWEN3_1_7B_INST_Q4, } from "../index.js";
|
|
13
|
-
// MCP SDK is a user-installed optional dependency
|
|
14
|
-
// Install with: bun add @modelcontextprotocol/sdk
|
|
15
|
-
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
16
|
-
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
17
|
-
function parseSearchResults(mcpResult) {
|
|
18
|
-
try {
|
|
19
|
-
const result = mcpResult;
|
|
20
|
-
// Extract text content from MCP response
|
|
21
|
-
const textContent = result.content?.find((c) => c.type === "text");
|
|
22
|
-
if (!textContent?.text) {
|
|
23
|
-
return JSON.stringify(mcpResult);
|
|
24
|
-
}
|
|
25
|
-
// Parse the JSON array of search results
|
|
26
|
-
const rawResults = JSON.parse(textContent.text);
|
|
27
|
-
// Extract just the useful fields (title, url, snippet)
|
|
28
|
-
const cleanResults = rawResults.slice(0, 5).map((r) => ({
|
|
29
|
-
title: r.title ?? "Unknown",
|
|
30
|
-
url: r.url ?? "",
|
|
31
|
-
snippet: r.snippet ?? "",
|
|
32
|
-
}));
|
|
33
|
-
// Format as concise text for LLM
|
|
34
|
-
return cleanResults
|
|
35
|
-
.map((r, i) => `[${i + 1}] ${r.title}\n URL: ${r.url}\n ${r.snippet}`)
|
|
36
|
-
.join("\n\n");
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
// If parsing fails, return a truncated version
|
|
40
|
-
const str = typeof mcpResult === "string" ? mcpResult : JSON.stringify(mcpResult);
|
|
41
|
-
return str.slice(0, 2000);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
let mcpClient = null;
|
|
45
|
-
try {
|
|
46
|
-
console.log("🦆 MCP DuckDuckGo Search Example\n");
|
|
47
|
-
// ============================================================
|
|
48
|
-
// STEP 1: Connect to DuckDuckGo MCP server
|
|
49
|
-
// ============================================================
|
|
50
|
-
console.log("1️⃣ Starting DuckDuckGo MCP server...");
|
|
51
|
-
mcpClient = new Client({
|
|
52
|
-
name: "qvac-ddg-example",
|
|
53
|
-
version: "1.0.0",
|
|
54
|
-
});
|
|
55
|
-
const transport = new StdioClientTransport({
|
|
56
|
-
command: "npx",
|
|
57
|
-
args: ["-y", "@oevortex/ddg_search"],
|
|
58
|
-
});
|
|
59
|
-
await mcpClient.connect(transport);
|
|
60
|
-
console.log(" ✓ MCP server connected\n");
|
|
61
|
-
// ============================================================
|
|
62
|
-
// STEP 2: Load model
|
|
63
|
-
// ============================================================
|
|
64
|
-
console.log("2️⃣ Loading model...");
|
|
65
|
-
const modelId = await loadModel({
|
|
66
|
-
modelSrc: QWEN3_1_7B_INST_Q4,
|
|
67
|
-
modelType: "llm",
|
|
68
|
-
modelConfig: {
|
|
69
|
-
ctx_size: 4096,
|
|
70
|
-
tools: true,
|
|
71
|
-
},
|
|
72
|
-
onProgress: (progress) => process.stdout.write(`\r Loading: ${progress.percentage.toFixed(1)}%`),
|
|
73
|
-
});
|
|
74
|
-
console.log(`\n ✓ Model loaded\n`);
|
|
75
|
-
// ============================================================
|
|
76
|
-
// STEP 3: Ask AI to search the web (with MCP client)
|
|
77
|
-
// ============================================================
|
|
78
|
-
const history = [
|
|
79
|
-
{
|
|
80
|
-
role: "system",
|
|
81
|
-
content: `You are a helpful assistant with access to web search.
|
|
82
|
-
Use the search tool when you need current information.
|
|
83
|
-
Always cite your sources with the URL.`,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
role: "user",
|
|
87
|
-
content: "What is the current weather in New York City?",
|
|
88
|
-
},
|
|
89
|
-
];
|
|
90
|
-
console.log("3️⃣ Asking AI to search the web...\n");
|
|
91
|
-
console.log("🤖 AI Response:");
|
|
92
|
-
// Pass MCP client directly to completion - tools are adapted internally!
|
|
93
|
-
const result = completion({
|
|
94
|
-
modelId,
|
|
95
|
-
history,
|
|
96
|
-
stream: true,
|
|
97
|
-
mcp: [{ client: mcpClient, includeResources: false }],
|
|
98
|
-
});
|
|
99
|
-
for await (const token of result.tokenStream) {
|
|
100
|
-
process.stdout.write(token);
|
|
101
|
-
}
|
|
102
|
-
const toolCalls = await result.toolCalls;
|
|
103
|
-
console.log("\n");
|
|
104
|
-
// ============================================================
|
|
105
|
-
// STEP 4: Execute tool calls using call() - automatic MCP routing!
|
|
106
|
-
// ============================================================
|
|
107
|
-
if (toolCalls.length > 0) {
|
|
108
|
-
console.log("4️⃣ Executing search...\n");
|
|
109
|
-
const toolResults = [];
|
|
110
|
-
for (const toolCall of toolCalls) {
|
|
111
|
-
console.log(`🔍 ${toolCall.name}(${JSON.stringify(toolCall.arguments)})`);
|
|
112
|
-
if (!toolCall.invoke) {
|
|
113
|
-
console.log(` ⚠️ No handler found for tool "${toolCall.name}"`);
|
|
114
|
-
continue;
|
|
115
|
-
}
|
|
116
|
-
// Use invoke() - automatically routes to the correct MCP client!
|
|
117
|
-
const mcpResult = await toolCall.invoke();
|
|
118
|
-
// Parse and clean up the search results
|
|
119
|
-
const cleanResult = parseSearchResults(mcpResult);
|
|
120
|
-
console.log(` ✓ Got search results:`);
|
|
121
|
-
console.log(cleanResult
|
|
122
|
-
.split("\n")
|
|
123
|
-
.map((l) => ` ${l}`)
|
|
124
|
-
.join("\n"));
|
|
125
|
-
console.log();
|
|
126
|
-
toolResults.push({ id: toolCall.id, result: cleanResult });
|
|
127
|
-
}
|
|
128
|
-
// ============================================================
|
|
129
|
-
// STEP 5: Continue with search results
|
|
130
|
-
// ============================================================
|
|
131
|
-
console.log("5️⃣ Getting AI response with search results...\n");
|
|
132
|
-
history.push({
|
|
133
|
-
role: "assistant",
|
|
134
|
-
content: await result.text,
|
|
135
|
-
});
|
|
136
|
-
for (const tr of toolResults) {
|
|
137
|
-
history.push({
|
|
138
|
-
role: "tool",
|
|
139
|
-
content: tr.result,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
console.log("🤖 Final Response:");
|
|
143
|
-
const finalResult = completion({
|
|
144
|
-
modelId,
|
|
145
|
-
history,
|
|
146
|
-
stream: true,
|
|
147
|
-
mcp: [{ client: mcpClient, includeResources: false }],
|
|
148
|
-
});
|
|
149
|
-
for await (const token of finalResult.tokenStream) {
|
|
150
|
-
process.stdout.write(token);
|
|
151
|
-
}
|
|
152
|
-
console.log("\n");
|
|
153
|
-
}
|
|
154
|
-
// ============================================================
|
|
155
|
-
// Cleanup
|
|
156
|
-
// ============================================================
|
|
157
|
-
console.log("6️⃣ Cleaning up...");
|
|
158
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
159
|
-
console.log(" ✓ Done\n");
|
|
160
|
-
console.log("🎉 Example completed!");
|
|
161
|
-
process.exit(0);
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
console.error("❌ Error:", error);
|
|
165
|
-
process.exit(1);
|
|
166
|
-
}
|
|
167
|
-
finally {
|
|
168
|
-
if (mcpClient) {
|
|
169
|
-
try {
|
|
170
|
-
await mcpClient.close();
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
// Ignore close errors
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { close, loadModel, ocr, OCR_LATIN_RECOGNIZER_1, unloadModel, } from "@qvac/sdk";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
|
-
const imagePath = process.argv[2] || path.join(__dirname, "image/basic_test.bmp");
|
|
6
|
-
try {
|
|
7
|
-
console.log("🚀 Loading OCR model...");
|
|
8
|
-
const modelId = await loadModel({
|
|
9
|
-
modelSrc: OCR_LATIN_RECOGNIZER_1,
|
|
10
|
-
modelType: "ocr",
|
|
11
|
-
modelConfig: {
|
|
12
|
-
langList: ["en"],
|
|
13
|
-
useGPU: true,
|
|
14
|
-
timeout: 30000,
|
|
15
|
-
magRatio: 1.5,
|
|
16
|
-
defaultRotationAngles: [90, 180, 270],
|
|
17
|
-
contrastRetry: false,
|
|
18
|
-
lowConfidenceThreshold: 0.5,
|
|
19
|
-
recognizerBatchSize: 1,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
console.log(`✅ Model loaded successfully! Model ID: ${modelId}`);
|
|
23
|
-
console.log(`\n🔍 Running OCR on: ${imagePath}`);
|
|
24
|
-
const { blocks } = ocr({
|
|
25
|
-
modelId,
|
|
26
|
-
image: imagePath,
|
|
27
|
-
options: {
|
|
28
|
-
paragraph: false,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
const result = await blocks;
|
|
32
|
-
console.log("\n📝 OCR Results:");
|
|
33
|
-
console.log("================================");
|
|
34
|
-
for (const block of result) {
|
|
35
|
-
console.log(`\n📄 Text: ${block.text}`);
|
|
36
|
-
if (block.bbox) {
|
|
37
|
-
console.log(` 📍 BBox: [${block.bbox.join(", ")}]`);
|
|
38
|
-
}
|
|
39
|
-
if (block.confidence !== undefined) {
|
|
40
|
-
console.log(` ✓ Confidence: ${block.confidence}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
console.log("\n================================");
|
|
44
|
-
console.log("\n🔄 Unloading model...");
|
|
45
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
46
|
-
console.log("✅ Model unloaded successfully.");
|
|
47
|
-
process.exit(0);
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error("❌ Error during OCR processing:", error);
|
|
51
|
-
await close();
|
|
52
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin Selection Example
|
|
3
|
-
*
|
|
4
|
-
* Config: examples/config/plugins/plugins.config.json
|
|
5
|
-
* Selected: llamacpp-completion (LLM), nmtcpp-translation (NMT)
|
|
6
|
-
*
|
|
7
|
-
* Demonstrates:
|
|
8
|
-
* 1. LLM completion -> works (plugin selected)
|
|
9
|
-
* 2. NMT translation -> works (plugin selected)
|
|
10
|
-
* 3. Embeddings -> fails (plugin not selected)
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=plugins.d.ts.map
|