edgeflowjs 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +200 -66
- package/dist/backends/index.d.ts +9 -2
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +13 -13
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/onnx.d.ts +49 -4
- package/dist/backends/onnx.d.ts.map +1 -1
- package/dist/backends/onnx.js +165 -76
- package/dist/backends/onnx.js.map +1 -1
- package/dist/backends/transformers-adapter.d.ts +99 -0
- package/dist/backends/transformers-adapter.d.ts.map +1 -0
- package/dist/backends/transformers-adapter.js +171 -0
- package/dist/backends/transformers-adapter.js.map +1 -0
- package/dist/backends/webgpu.d.ts +7 -5
- package/dist/backends/webgpu.d.ts.map +1 -1
- package/dist/backends/webgpu.js +7 -5
- package/dist/backends/webgpu.js.map +1 -1
- package/dist/backends/webnn.d.ts +6 -5
- package/dist/backends/webnn.d.ts.map +1 -1
- package/dist/backends/webnn.js +6 -5
- package/dist/backends/webnn.js.map +1 -1
- package/dist/core/composer.d.ts +118 -0
- package/dist/core/composer.d.ts.map +1 -0
- package/dist/core/composer.js +163 -0
- package/dist/core/composer.js.map +1 -0
- package/dist/core/device-profiler.d.ts +75 -0
- package/dist/core/device-profiler.d.ts.map +1 -0
- package/dist/core/device-profiler.js +131 -0
- package/dist/core/device-profiler.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/memory.d.ts +22 -2
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +49 -13
- package/dist/core/memory.js.map +1 -1
- package/dist/core/plugin.d.ts +100 -0
- package/dist/core/plugin.d.ts.map +1 -0
- package/dist/core/plugin.js +106 -0
- package/dist/core/plugin.js.map +1 -0
- package/dist/core/runtime.d.ts +4 -0
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +18 -0
- package/dist/core/runtime.js.map +1 -1
- package/dist/core/scheduler.d.ts +17 -0
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +101 -3
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker.d.ts +202 -0
- package/dist/core/worker.d.ts.map +1 -0
- package/dist/core/worker.js +477 -0
- package/dist/core/worker.js.map +1 -0
- package/dist/edgeflow.browser.js +9789 -4379
- package/dist/edgeflow.browser.js.map +4 -4
- package/dist/edgeflow.browser.min.js +435 -5
- package/dist/edgeflow.browser.min.js.map +4 -4
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -12
- package/dist/index.js.map +1 -1
- package/dist/pipelines/automatic-speech-recognition.d.ts +63 -0
- package/dist/pipelines/automatic-speech-recognition.d.ts.map +1 -0
- package/dist/pipelines/automatic-speech-recognition.js +269 -0
- package/dist/pipelines/automatic-speech-recognition.js.map +1 -0
- package/dist/pipelines/base.d.ts +6 -1
- package/dist/pipelines/base.d.ts.map +1 -1
- package/dist/pipelines/base.js +12 -2
- package/dist/pipelines/base.js.map +1 -1
- package/dist/pipelines/feature-extraction.d.ts +5 -40
- package/dist/pipelines/feature-extraction.d.ts.map +1 -1
- package/dist/pipelines/feature-extraction.js +44 -63
- package/dist/pipelines/feature-extraction.js.map +1 -1
- package/dist/pipelines/image-classification.d.ts +4 -36
- package/dist/pipelines/image-classification.d.ts.map +1 -1
- package/dist/pipelines/image-classification.js +22 -60
- package/dist/pipelines/image-classification.js.map +1 -1
- package/dist/pipelines/image-segmentation.d.ts +221 -0
- package/dist/pipelines/image-segmentation.d.ts.map +1 -0
- package/dist/pipelines/image-segmentation.js +535 -0
- package/dist/pipelines/image-segmentation.js.map +1 -0
- package/dist/pipelines/index.d.ts +18 -0
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +51 -2
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/object-detection.d.ts +44 -0
- package/dist/pipelines/object-detection.d.ts.map +1 -0
- package/dist/pipelines/object-detection.js +218 -0
- package/dist/pipelines/object-detection.js.map +1 -0
- package/dist/pipelines/question-answering.d.ts +41 -0
- package/dist/pipelines/question-answering.d.ts.map +1 -0
- package/dist/pipelines/question-answering.js +164 -0
- package/dist/pipelines/question-answering.js.map +1 -0
- package/dist/pipelines/text-classification.d.ts +3 -39
- package/dist/pipelines/text-classification.d.ts.map +1 -1
- package/dist/pipelines/text-classification.js +29 -67
- package/dist/pipelines/text-classification.js.map +1 -1
- package/dist/pipelines/text-generation.d.ts +281 -0
- package/dist/pipelines/text-generation.d.ts.map +1 -0
- package/dist/pipelines/text-generation.js +766 -0
- package/dist/pipelines/text-generation.js.map +1 -0
- package/dist/pipelines/zero-shot-classification.d.ts +45 -0
- package/dist/pipelines/zero-shot-classification.d.ts.map +1 -0
- package/dist/pipelines/zero-shot-classification.js +140 -0
- package/dist/pipelines/zero-shot-classification.js.map +1 -0
- package/dist/tools/benchmark.d.ts +92 -0
- package/dist/tools/benchmark.d.ts.map +1 -0
- package/dist/tools/benchmark.js +213 -0
- package/dist/tools/benchmark.js.map +1 -0
- package/dist/tools/debugger.d.ts +258 -0
- package/dist/tools/debugger.d.ts.map +1 -0
- package/dist/tools/debugger.js +624 -0
- package/dist/tools/debugger.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/monitor.d.ts +284 -0
- package/dist/tools/monitor.d.ts.map +1 -0
- package/dist/tools/monitor.js +921 -0
- package/dist/tools/monitor.js.map +1 -0
- package/dist/tools/quantization.d.ts +235 -0
- package/dist/tools/quantization.d.ts.map +1 -0
- package/dist/tools/quantization.js +830 -0
- package/dist/tools/quantization.js.map +1 -0
- package/dist/utils/hub.d.ts +162 -0
- package/dist/utils/hub.d.ts.map +1 -0
- package/dist/utils/hub.js +311 -0
- package/dist/utils/hub.js.map +1 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +5 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/model-loader.d.ts.map +1 -1
- package/dist/utils/model-loader.js +106 -30
- package/dist/utils/model-loader.js.map +1 -1
- package/dist/utils/offline.d.ts +147 -0
- package/dist/utils/offline.d.ts.map +1 -0
- package/dist/utils/offline.js +405 -0
- package/dist/utils/offline.js.map +1 -0
- package/dist/utils/preprocessor.d.ts +82 -6
- package/dist/utils/preprocessor.d.ts.map +1 -1
- package/dist/utils/preprocessor.js +278 -21
- package/dist/utils/preprocessor.js.map +1 -1
- package/dist/utils/tokenizer.d.ts +197 -72
- package/dist/utils/tokenizer.d.ts.map +1 -1
- package/dist/utils/tokenizer.js +558 -274
- package/dist/utils/tokenizer.js.map +1 -1
- package/package.json +26 -11
package/dist/index.d.ts
CHANGED
|
@@ -38,11 +38,14 @@ export { EdgeFlowError, ErrorCodes } from './core/types.js';
|
|
|
38
38
|
export { EdgeFlowTensor, tensor, zeros, ones, full, random, randn, arange, linspace, eye, add, sub, mul, div, matmul, softmax, relu, sigmoid, tanh, sum, mean, argmax, concat, } from './core/tensor.js';
|
|
39
39
|
export { InferenceScheduler, getScheduler, setScheduler, configureScheduler, } from './core/scheduler.js';
|
|
40
40
|
export { MemoryManager, MemoryScope, ModelCache, withMemoryScope, withMemoryScopeSync, getMemoryManager, getMemoryStats, release, gc, } from './core/memory.js';
|
|
41
|
-
export {
|
|
42
|
-
export {
|
|
43
|
-
export {
|
|
44
|
-
export {
|
|
45
|
-
export {
|
|
41
|
+
export { registerPlugin, getPluginPipeline, getPluginMiddleware, listPlugins, unregisterPlugin, type EdgeFlowPlugin, type PluginPipelineEntry, type PluginBackendEntry, type PluginMiddleware, } from './core/plugin.js';
|
|
42
|
+
export { getDeviceProfile, recommendQuantization, recommendModelVariant, resetDeviceProfile, type DeviceProfile, type DeviceTier, type ModelRecommendation, } from './core/device-profiler.js';
|
|
43
|
+
export { compose, parallel, type CompositionStage, type CompositionResult, type ComposedPipeline, } from './core/composer.js';
|
|
44
|
+
export { RuntimeManager, LoadedModelImpl, loadModel, loadModelFromBuffer, runInference, runInferenceNamed, runBatchInference, getRuntimeManager, registerRuntime, getBestRuntime, getAvailableRuntimes, } from './core/runtime.js';
|
|
45
|
+
export { WebGPURuntime, createWebGPURuntime, WebNNRuntime, createWebNNRuntime, WASMRuntime, createWASMRuntime, registerAllBackends, ONNXRuntime, createONNXRuntime, isOnnxAvailable, setOnnxModule, configureOnnxAssets, type OnnxAssetPaths, TransformersAdapterRuntime, useTransformersBackend, getTransformersAdapter, type TransformersAdapterOptions, type TransformersPipelineFactory, } from './backends/index.js';
|
|
46
|
+
export { pipeline, createPipelines, BasePipeline, registerPipeline, getPipelineFactory, SENTIMENT_LABELS, EMOTION_LABELS, IMAGENET_LABELS, type PipelineResult, type TextClassificationResult, type FeatureExtractionResult, type ImageClassificationResult, type ObjectDetectionResult, TextClassificationPipeline, SentimentAnalysisPipeline, FeatureExtractionPipeline, ImageClassificationPipeline, TextGenerationPipeline, ImageSegmentationPipeline, createTextClassificationPipeline, createSentimentAnalysisPipeline, createFeatureExtractionPipeline, createImageClassificationPipeline, createTextGenerationPipeline, createImageSegmentationPipeline, type PipelineFactoryOptions, type TextClassificationOptions, type FeatureExtractionOptions, type ImageClassificationOptions, type ImageInput, type TextGenerationOptions, type TextGenerationResult, type GenerationStreamEvent, type ChatMessage, type ChatOptions, type ChatTemplateType, type LLMLoadProgress, type ImageSegmentationOptions, type ImageSegmentationResult, type PointPrompt, type BoxPrompt, type ModelLoadProgress, } from './pipelines/index.js';
|
|
47
|
+
export { Tokenizer, createBasicTokenizer, loadTokenizer, loadTokenizerFromHub, type TokenizerModel, type TokenizerOptions, ImagePreprocessor, AudioPreprocessor, preprocessText, createImagePreprocessor, createAudioPreprocessor, type ImagePreprocessorOptions, type AudioPreprocessorOptions, type TextPreprocessorOptions, Cache, InferenceCache, ModelDownloadCache, createCache, type CacheStrategy, type CacheOptions, type CacheStats, loadModelData, preloadModel, preloadModels, isModelCached, getCachedModel, deleteCachedModel, clearModelCache, getModelCacheStats, getPreloadStatus, cancelPreload, getPreloadedModel, type DownloadProgress, type ModelLoaderOptions, type PreloadOptions, fromHub, fromTask, downloadModel, downloadTokenizer, downloadConfig, modelExists, getModelInfo, getDefaultModel, POPULAR_MODELS, type HubOptions, type HubDownloadProgress, type ModelConfig, type ModelBundle, type PopularModelTask, } from './utils/index.js';
|
|
48
|
+
export { quantize, type QuantizationOptions, type QuantizationResult, prune, type PruningOptions, type PruningResult, analyzeModel, type ModelAnalysis, benchmark, type BenchmarkOptions, type BenchmarkResult, exportModel, quantizeModel, quantizeTensor, dequantizeTensor, pruneModel, pruneTensor, analyzeModelDetailed, exportModelAdvanced, dequantizeInt8, dequantizeUint8, dequantizeFloat16, float16ToFloat32, type QuantizationMethod, type AdvancedQuantizationOptions, type QuantizationProgress, type AdvancedQuantizationResult, type LayerQuantizationStats, type QuantizationStats, type AdvancedPruningOptions, type AdvancedPruningResult, type DetailedModelAnalysis, type ExportFormat, type ExportOptions, EdgeFlowDebugger, getDebugger, enableDebugging, disableDebugging, inspectTensor, formatTensorInspection, createAsciiHistogram, createTensorHeatmap, visualizeModelArchitecture, type DebuggerConfig, type TensorInspection, type TensorStats, type HistogramData, type InferenceTrace, type OperationTrace, type DebugEvent, type DebugPerformanceMetrics, PerformanceMonitor, getMonitor, startMonitoring, stopMonitoring, generateDashboardHTML, generateAsciiDashboard, type MonitorConfig, type PerformanceSample, type InferenceMetrics, type MemoryMetrics, type SystemMetrics, type AlertConfig, type AlertEvent, type WidgetData, runBenchmark, compareBenchmarks, benchmarkSuite, benchmarkMemory, formatBenchmarkResult, formatComparisonResult, type DetailedBenchmarkOptions, type DetailedBenchmarkResult, type CompareBenchmarkResult, type MemoryBenchmarkResult, } from './tools/index.js';
|
|
46
49
|
/**
|
|
47
50
|
* Check if edgeFlow is supported in the current environment
|
|
48
51
|
*/
|
|
@@ -58,7 +61,7 @@ export declare function preload(models: string[]): Promise<void>;
|
|
|
58
61
|
/**
|
|
59
62
|
* edgeFlow.js version
|
|
60
63
|
*/
|
|
61
|
-
export declare const VERSION = "0.
|
|
64
|
+
export declare const VERSION = "0.3.0";
|
|
62
65
|
/**
|
|
63
66
|
* Get framework info
|
|
64
67
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,YAAY,EAEV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,MAAM,EAGN,WAAW,EACX,mBAAmB,EACnB,OAAO,EAGP,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EAGX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAGhB,WAAW,EACX,gBAAgB,EAGhB,YAAY,EACZ,cAAc,EACd,eAAe,EAGf,eAAe,EACf,eAAe,EAGf,SAAS,EACT,aAAa,EACb,aAAa,EAGb,SAAS,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EACL,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,YAAY,EAEV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,MAAM,EAGN,WAAW,EACX,mBAAmB,EACnB,OAAO,EAGP,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EAGX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAGhB,WAAW,EACX,gBAAgB,EAGhB,YAAY,EACZ,cAAc,EACd,eAAe,EAGf,eAAe,EACf,eAAe,EAGf,SAAS,EACT,aAAa,EACb,aAAa,EAGb,SAAS,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EACL,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EAGnB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,KAAK,cAAc,EAGnB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAEL,QAAQ,EACR,eAAe,EAGf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAGlB,gBAAgB,EAChB,cAAc,EACd,eAAe,EAGf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG1B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EAGzB,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAG/B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EAGf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAGpB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAEL,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAGrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAG5B,KAAK,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EAGf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAGnB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAEL,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAGlB,YAAY,EACZ,KAAK,aAAa,EAGlB,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAGpB,WAAW,EAGX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,aAAa,EAGlB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAG5B,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EAGf,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAM1B;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAGpD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQtE;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAWf;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAmBD;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -41,12 +41,22 @@ export { EdgeFlowTensor, tensor, zeros, ones, full, random, randn, arange, linsp
|
|
|
41
41
|
export { InferenceScheduler, getScheduler, setScheduler, configureScheduler, } from './core/scheduler.js';
|
|
42
42
|
// Memory management
|
|
43
43
|
export { MemoryManager, MemoryScope, ModelCache, withMemoryScope, withMemoryScopeSync, getMemoryManager, getMemoryStats, release, gc, } from './core/memory.js';
|
|
44
|
+
// Plugin system
|
|
45
|
+
export { registerPlugin, getPluginPipeline, getPluginMiddleware, listPlugins, unregisterPlugin, } from './core/plugin.js';
|
|
46
|
+
// Device profiling
|
|
47
|
+
export { getDeviceProfile, recommendQuantization, recommendModelVariant, resetDeviceProfile, } from './core/device-profiler.js';
|
|
48
|
+
// Pipeline composition
|
|
49
|
+
export { compose, parallel, } from './core/composer.js';
|
|
44
50
|
// Runtime management
|
|
45
|
-
export { RuntimeManager, LoadedModelImpl, loadModel, loadModelFromBuffer, runInference, runBatchInference, getRuntimeManager, registerRuntime, getBestRuntime, getAvailableRuntimes, } from './core/runtime.js';
|
|
51
|
+
export { RuntimeManager, LoadedModelImpl, loadModel, loadModelFromBuffer, runInference, runInferenceNamed, runBatchInference, getRuntimeManager, registerRuntime, getBestRuntime, getAvailableRuntimes, } from './core/runtime.js';
|
|
46
52
|
// ============================================================================
|
|
47
53
|
// Backend Exports
|
|
48
54
|
// ============================================================================
|
|
49
|
-
export { WebGPURuntime, createWebGPURuntime, WebNNRuntime, createWebNNRuntime, WASMRuntime, createWASMRuntime, registerAllBackends,
|
|
55
|
+
export { WebGPURuntime, createWebGPURuntime, WebNNRuntime, createWebNNRuntime, WASMRuntime, createWASMRuntime, registerAllBackends,
|
|
56
|
+
// ONNX backend + asset/module injection (for Web Worker consumers)
|
|
57
|
+
ONNXRuntime, createONNXRuntime, isOnnxAvailable, setOnnxModule, configureOnnxAssets,
|
|
58
|
+
// transformers.js adapter
|
|
59
|
+
TransformersAdapterRuntime, useTransformersBackend, getTransformersAdapter, } from './backends/index.js';
|
|
50
60
|
// ============================================================================
|
|
51
61
|
// Pipeline Exports
|
|
52
62
|
// ============================================================================
|
|
@@ -58,35 +68,45 @@ BasePipeline, registerPipeline, getPipelineFactory,
|
|
|
58
68
|
// Labels
|
|
59
69
|
SENTIMENT_LABELS, EMOTION_LABELS, IMAGENET_LABELS,
|
|
60
70
|
// Pipelines
|
|
61
|
-
TextClassificationPipeline, SentimentAnalysisPipeline, FeatureExtractionPipeline, ImageClassificationPipeline,
|
|
71
|
+
TextClassificationPipeline, SentimentAnalysisPipeline, FeatureExtractionPipeline, ImageClassificationPipeline, TextGenerationPipeline, ImageSegmentationPipeline,
|
|
62
72
|
// Factory functions
|
|
63
|
-
createTextClassificationPipeline, createSentimentAnalysisPipeline, createFeatureExtractionPipeline, createImageClassificationPipeline, } from './pipelines/index.js';
|
|
73
|
+
createTextClassificationPipeline, createSentimentAnalysisPipeline, createFeatureExtractionPipeline, createImageClassificationPipeline, createTextGenerationPipeline, createImageSegmentationPipeline, } from './pipelines/index.js';
|
|
64
74
|
// ============================================================================
|
|
65
75
|
// Utility Exports
|
|
66
76
|
// ============================================================================
|
|
67
77
|
export {
|
|
68
78
|
// Tokenizer
|
|
69
|
-
Tokenizer, createBasicTokenizer, loadTokenizer,
|
|
79
|
+
Tokenizer, createBasicTokenizer, loadTokenizer, loadTokenizerFromHub,
|
|
70
80
|
// Preprocessor
|
|
71
81
|
ImagePreprocessor, AudioPreprocessor, preprocessText, createImagePreprocessor, createAudioPreprocessor,
|
|
72
82
|
// Cache
|
|
73
83
|
Cache, InferenceCache, ModelDownloadCache, createCache,
|
|
74
84
|
// Model Loader (Preloading, Sharding, Resume, Caching)
|
|
75
|
-
loadModelData, preloadModel, preloadModels, isModelCached, getCachedModel, deleteCachedModel, clearModelCache, getModelCacheStats, getPreloadStatus, cancelPreload, getPreloadedModel,
|
|
85
|
+
loadModelData, preloadModel, preloadModels, isModelCached, getCachedModel, deleteCachedModel, clearModelCache, getModelCacheStats, getPreloadStatus, cancelPreload, getPreloadedModel,
|
|
86
|
+
// HuggingFace Hub Integration
|
|
87
|
+
fromHub, fromTask, downloadModel, downloadTokenizer, downloadConfig, modelExists, getModelInfo, getDefaultModel, POPULAR_MODELS, } from './utils/index.js';
|
|
76
88
|
// ============================================================================
|
|
77
89
|
// Tools Exports
|
|
78
90
|
// ============================================================================
|
|
79
91
|
export {
|
|
80
|
-
// Quantization
|
|
92
|
+
// Quantization (basic)
|
|
81
93
|
quantize,
|
|
82
|
-
// Pruning
|
|
94
|
+
// Pruning (basic)
|
|
83
95
|
prune,
|
|
84
|
-
// Analysis
|
|
96
|
+
// Analysis (basic)
|
|
85
97
|
analyzeModel,
|
|
86
|
-
// Benchmarking
|
|
98
|
+
// Benchmarking (basic)
|
|
87
99
|
benchmark,
|
|
88
100
|
// Export
|
|
89
|
-
exportModel,
|
|
101
|
+
exportModel,
|
|
102
|
+
// Advanced Quantization
|
|
103
|
+
quantizeModel, quantizeTensor, dequantizeTensor, pruneModel, pruneTensor, analyzeModelDetailed, exportModelAdvanced, dequantizeInt8, dequantizeUint8, dequantizeFloat16, float16ToFloat32,
|
|
104
|
+
// Debugging Tools
|
|
105
|
+
EdgeFlowDebugger, getDebugger, enableDebugging, disableDebugging, inspectTensor, formatTensorInspection, createAsciiHistogram, createTensorHeatmap, visualizeModelArchitecture,
|
|
106
|
+
// Performance Monitor
|
|
107
|
+
PerformanceMonitor, getMonitor, startMonitoring, stopMonitoring, generateDashboardHTML, generateAsciiDashboard,
|
|
108
|
+
// Benchmark utilities
|
|
109
|
+
runBenchmark, compareBenchmarks, benchmarkSuite, benchmarkMemory, formatBenchmarkResult, formatComparisonResult, } from './tools/index.js';
|
|
90
110
|
// ============================================================================
|
|
91
111
|
// Convenience Functions
|
|
92
112
|
// ============================================================================
|
|
@@ -130,7 +150,7 @@ export async function preload(models) {
|
|
|
130
150
|
/**
|
|
131
151
|
* edgeFlow.js version
|
|
132
152
|
*/
|
|
133
|
-
export const VERSION = '0.
|
|
153
|
+
export const VERSION = '0.3.0';
|
|
134
154
|
/**
|
|
135
155
|
* Get framework info
|
|
136
156
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAuDH,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE5D,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,kBAAkB,CAAC;AAE1B,YAAY;AACZ,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,kBAAkB,CAAC;AAE1B,qBAAqB;AACrB,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgeFlow.js - Automatic Speech Recognition Pipeline
|
|
3
|
+
*
|
|
4
|
+
* Transcribe audio to text using Whisper ONNX models (encoder + decoder).
|
|
5
|
+
*/
|
|
6
|
+
import { BasePipeline, PipelineResult } from './base.js';
|
|
7
|
+
import { EdgeFlowTensor } from '../core/tensor.js';
|
|
8
|
+
import { PipelineConfig, PipelineOptions } from '../core/types.js';
|
|
9
|
+
import { type AudioInput } from '../utils/preprocessor.js';
|
|
10
|
+
import { Tokenizer } from '../utils/tokenizer.js';
|
|
11
|
+
export interface ASROptions extends PipelineOptions {
|
|
12
|
+
language?: string;
|
|
13
|
+
task?: 'transcribe' | 'translate';
|
|
14
|
+
returnTimestamps?: boolean | 'word' | 'chunk';
|
|
15
|
+
maxDuration?: number;
|
|
16
|
+
chunkDuration?: number;
|
|
17
|
+
chunkOverlap?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface WordTimestamp {
|
|
20
|
+
word: string;
|
|
21
|
+
start: number;
|
|
22
|
+
end: number;
|
|
23
|
+
confidence?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ChunkTimestamp {
|
|
26
|
+
text: string;
|
|
27
|
+
start: number;
|
|
28
|
+
end: number;
|
|
29
|
+
}
|
|
30
|
+
export interface ASRResult extends PipelineResult {
|
|
31
|
+
text: string;
|
|
32
|
+
language?: string;
|
|
33
|
+
words?: WordTimestamp[];
|
|
34
|
+
chunks?: ChunkTimestamp[];
|
|
35
|
+
}
|
|
36
|
+
export declare class AutomaticSpeechRecognitionPipeline extends BasePipeline<AudioInput | AudioInput[], ASRResult | ASRResult[]> {
|
|
37
|
+
private audioPreprocessor;
|
|
38
|
+
private tokenizer;
|
|
39
|
+
private encoderModel;
|
|
40
|
+
private decoderModel;
|
|
41
|
+
private encoderUrl;
|
|
42
|
+
private decoderUrl;
|
|
43
|
+
private tokenizerUrl;
|
|
44
|
+
constructor(config?: PipelineConfig);
|
|
45
|
+
initialize(): Promise<void>;
|
|
46
|
+
setTokenizer(tokenizer: Tokenizer): void;
|
|
47
|
+
run(input: AudioInput | AudioInput[], options?: PipelineOptions): Promise<ASRResult | ASRResult[]>;
|
|
48
|
+
private transcribeSingle;
|
|
49
|
+
private buildInitialTokens;
|
|
50
|
+
private getLanguageToken;
|
|
51
|
+
/**
|
|
52
|
+
* Autoregressive decoder loop similar to text-generation.
|
|
53
|
+
* Feeds encoder hidden states + growing token sequence to decoder.
|
|
54
|
+
*/
|
|
55
|
+
private autoregressiveDecode;
|
|
56
|
+
private extractTimestamps;
|
|
57
|
+
processLongAudio(audio: AudioInput, options?: ASROptions): Promise<ASRResult>;
|
|
58
|
+
protected preprocess(input: AudioInput | AudioInput[]): Promise<EdgeFlowTensor[]>;
|
|
59
|
+
protected postprocess(outputs: EdgeFlowTensor[], options?: PipelineOptions): Promise<ASRResult | ASRResult[]>;
|
|
60
|
+
private decodeOutput;
|
|
61
|
+
}
|
|
62
|
+
export declare function createASRPipeline(config?: PipelineConfig): AutomaticSpeechRecognitionPipeline;
|
|
63
|
+
//# sourceMappingURL=automatic-speech-recognition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automatic-speech-recognition.d.ts","sourceRoot":"","sources":["../../src/pipelines/automatic-speech-recognition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAe,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA4BlD,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAMD,qBAAa,kCAAmC,SAAQ,YAAY,CAAC,UAAU,GAAG,UAAU,EAAE,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IACtH,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,CAAC,EAAE,cAAc;IAmBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1C,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIzB,GAAG,CAChB,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,EAChC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YAgBrB,gBAAgB;IAuC9B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;YACW,oBAAoB;IA2ClC,OAAO,CAAC,iBAAiB;IA8BnB,gBAAgB,CACpB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC;cA4CL,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAmBvE,WAAW,CACzB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;IAsBnC,OAAO,CAAC,YAAY;CAgCrB;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,kCAAkC,CAE7F"}
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgeFlow.js - Automatic Speech Recognition Pipeline
|
|
3
|
+
*
|
|
4
|
+
* Transcribe audio to text using Whisper ONNX models (encoder + decoder).
|
|
5
|
+
*/
|
|
6
|
+
import { BasePipeline, registerPipeline } from './base.js';
|
|
7
|
+
import { EdgeFlowTensor } from '../core/tensor.js';
|
|
8
|
+
import { AudioPreprocessor } from '../utils/preprocessor.js';
|
|
9
|
+
import { Tokenizer } from '../utils/tokenizer.js';
|
|
10
|
+
import { loadModelData } from '../utils/model-loader.js';
|
|
11
|
+
import { loadModelFromBuffer, runInference, runInferenceNamed } from '../core/runtime.js';
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Default Model (Whisper-tiny, quantized encoder + decoder)
|
|
14
|
+
// ============================================================================
|
|
15
|
+
const DEFAULT_MODELS = {
|
|
16
|
+
encoder: 'https://huggingface.co/Xenova/whisper-tiny/resolve/main/onnx/encoder_model_quantized.onnx',
|
|
17
|
+
decoder: 'https://huggingface.co/Xenova/whisper-tiny/resolve/main/onnx/decoder_model_merged_quantized.onnx',
|
|
18
|
+
tokenizer: 'https://huggingface.co/Xenova/whisper-tiny/resolve/main/tokenizer.json',
|
|
19
|
+
};
|
|
20
|
+
// Whisper special tokens
|
|
21
|
+
const SOT_TOKEN = 50258; // <|startoftranscript|>
|
|
22
|
+
const TRANSLATE_TOKEN = 50358; // <|translate|>
|
|
23
|
+
const TRANSCRIBE_TOKEN = 50359; // <|transcribe|>
|
|
24
|
+
const EOT_TOKEN = 50257; // <|endoftext|>
|
|
25
|
+
const NO_TIMESTAMPS_TOKEN = 50363; // <|notimestamps|>
|
|
26
|
+
const EN_TOKEN = 50259; // <|en|>
|
|
27
|
+
const MAX_DECODER_TOKENS = 448;
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// ASR Pipeline
|
|
30
|
+
// ============================================================================
|
|
31
|
+
export class AutomaticSpeechRecognitionPipeline extends BasePipeline {
|
|
32
|
+
audioPreprocessor;
|
|
33
|
+
tokenizer = null;
|
|
34
|
+
encoderModel = null;
|
|
35
|
+
decoderModel = null;
|
|
36
|
+
encoderUrl;
|
|
37
|
+
decoderUrl;
|
|
38
|
+
tokenizerUrl;
|
|
39
|
+
constructor(config) {
|
|
40
|
+
super(config ?? {
|
|
41
|
+
task: 'automatic-speech-recognition',
|
|
42
|
+
model: 'default',
|
|
43
|
+
});
|
|
44
|
+
this.encoderUrl = DEFAULT_MODELS.encoder;
|
|
45
|
+
this.decoderUrl = DEFAULT_MODELS.decoder;
|
|
46
|
+
this.tokenizerUrl = DEFAULT_MODELS.tokenizer;
|
|
47
|
+
this.audioPreprocessor = new AudioPreprocessor({
|
|
48
|
+
sampleRate: 16000,
|
|
49
|
+
nMels: 80,
|
|
50
|
+
nFft: 400,
|
|
51
|
+
hopLength: 160,
|
|
52
|
+
maxDuration: 30,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async initialize() {
|
|
56
|
+
await super.initialize();
|
|
57
|
+
if (!this.tokenizer) {
|
|
58
|
+
this.tokenizer = await Tokenizer.fromUrl(this.tokenizerUrl);
|
|
59
|
+
}
|
|
60
|
+
if (!this.encoderModel) {
|
|
61
|
+
const data = await loadModelData(this.encoderUrl, { cache: this.config.cache ?? true });
|
|
62
|
+
this.encoderModel = await loadModelFromBuffer(data);
|
|
63
|
+
}
|
|
64
|
+
if (!this.decoderModel) {
|
|
65
|
+
const data = await loadModelData(this.decoderUrl, { cache: this.config.cache ?? true });
|
|
66
|
+
this.decoderModel = await loadModelFromBuffer(data);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
setTokenizer(tokenizer) {
|
|
70
|
+
this.tokenizer = tokenizer;
|
|
71
|
+
}
|
|
72
|
+
async run(input, options) {
|
|
73
|
+
await this.initialize();
|
|
74
|
+
const isBatch = Array.isArray(input);
|
|
75
|
+
const inputs = isBatch ? input : [input];
|
|
76
|
+
const opts = options ?? {};
|
|
77
|
+
const results = [];
|
|
78
|
+
for (const audio of inputs) {
|
|
79
|
+
const result = await this.transcribeSingle(audio, opts);
|
|
80
|
+
results.push(result);
|
|
81
|
+
}
|
|
82
|
+
return isBatch ? results : results[0];
|
|
83
|
+
}
|
|
84
|
+
async transcribeSingle(audio, options) {
|
|
85
|
+
const startTime = performance.now();
|
|
86
|
+
// 1. Preprocess audio → mel spectrogram
|
|
87
|
+
const melTensor = await this.audioPreprocessor.process(audio);
|
|
88
|
+
const melInput = new EdgeFlowTensor(melTensor.toFloat32Array(), [1, ...melTensor.shape], 'float32');
|
|
89
|
+
// 2. Run encoder
|
|
90
|
+
const encoderOutputs = await runInference(this.encoderModel, [melInput]);
|
|
91
|
+
const encoderHidden = encoderOutputs[0];
|
|
92
|
+
// 3. Autoregressive decoder loop
|
|
93
|
+
const task = options.task ?? 'transcribe';
|
|
94
|
+
const initialTokens = this.buildInitialTokens(task, options.language);
|
|
95
|
+
const generatedTokens = await this.autoregressiveDecode(encoderHidden, initialTokens);
|
|
96
|
+
// 4. Decode tokens to text
|
|
97
|
+
const text = this.tokenizer.decode(generatedTokens, true);
|
|
98
|
+
const result = {
|
|
99
|
+
text: text.trim(),
|
|
100
|
+
processingTime: performance.now() - startTime,
|
|
101
|
+
};
|
|
102
|
+
if (options.returnTimestamps) {
|
|
103
|
+
result.chunks = this.extractTimestamps(generatedTokens, text);
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
buildInitialTokens(task, language) {
|
|
108
|
+
const tokens = [SOT_TOKEN];
|
|
109
|
+
tokens.push(language ? this.getLanguageToken(language) : EN_TOKEN);
|
|
110
|
+
tokens.push(task === 'translate' ? TRANSLATE_TOKEN : TRANSCRIBE_TOKEN);
|
|
111
|
+
tokens.push(NO_TIMESTAMPS_TOKEN);
|
|
112
|
+
return tokens;
|
|
113
|
+
}
|
|
114
|
+
getLanguageToken(language) {
|
|
115
|
+
// Whisper language tokens start at 50259 for English
|
|
116
|
+
const langMap = {
|
|
117
|
+
en: 50259, zh: 50260, de: 50261, es: 50262, ru: 50263,
|
|
118
|
+
ko: 50264, fr: 50265, ja: 50266, pt: 50267, tr: 50268,
|
|
119
|
+
pl: 50269, ca: 50270, nl: 50271, ar: 50272, sv: 50273,
|
|
120
|
+
it: 50274, id: 50275, hi: 50276, fi: 50277, vi: 50278,
|
|
121
|
+
};
|
|
122
|
+
return langMap[language.toLowerCase()] ?? EN_TOKEN;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Autoregressive decoder loop similar to text-generation.
|
|
126
|
+
* Feeds encoder hidden states + growing token sequence to decoder.
|
|
127
|
+
*/
|
|
128
|
+
async autoregressiveDecode(encoderHidden, initialTokens) {
|
|
129
|
+
const tokens = [...initialTokens];
|
|
130
|
+
for (let step = 0; step < MAX_DECODER_TOKENS; step++) {
|
|
131
|
+
const decoderInputIds = new EdgeFlowTensor(BigInt64Array.from(tokens.map(t => BigInt(t))), [1, tokens.length], 'int64');
|
|
132
|
+
const namedInputs = new Map();
|
|
133
|
+
namedInputs.set('input_ids', decoderInputIds);
|
|
134
|
+
namedInputs.set('encoder_hidden_states', encoderHidden);
|
|
135
|
+
const decoderOutputs = await runInferenceNamed(this.decoderModel, namedInputs);
|
|
136
|
+
const logits = decoderOutputs[0].toFloat32Array();
|
|
137
|
+
// Get logits for the last token position
|
|
138
|
+
const vocabSize = logits.length / tokens.length;
|
|
139
|
+
const lastTokenLogits = logits.slice((tokens.length - 1) * vocabSize);
|
|
140
|
+
// Greedy: argmax
|
|
141
|
+
let bestId = 0;
|
|
142
|
+
let bestVal = lastTokenLogits[0] ?? -Infinity;
|
|
143
|
+
for (let i = 1; i < lastTokenLogits.length; i++) {
|
|
144
|
+
if ((lastTokenLogits[i] ?? -Infinity) > bestVal) {
|
|
145
|
+
bestVal = lastTokenLogits[i] ?? -Infinity;
|
|
146
|
+
bestId = i;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (bestId === EOT_TOKEN)
|
|
150
|
+
break;
|
|
151
|
+
tokens.push(bestId);
|
|
152
|
+
}
|
|
153
|
+
// Strip initial tokens to return only generated tokens
|
|
154
|
+
return tokens.slice(initialTokens.length);
|
|
155
|
+
}
|
|
156
|
+
extractTimestamps(_tokenIds, text) {
|
|
157
|
+
// Simplified timestamp extraction: split by punctuation
|
|
158
|
+
const words = text.split(/\s+/).filter(w => w.length > 0);
|
|
159
|
+
const chunks = [];
|
|
160
|
+
const wordsPerSecond = 2.5;
|
|
161
|
+
let chunkText = '';
|
|
162
|
+
let chunkStart = 0;
|
|
163
|
+
for (let i = 0; i < words.length; i++) {
|
|
164
|
+
chunkText += (chunkText ? ' ' : '') + words[i];
|
|
165
|
+
if ((i + 1) % 5 === 0 || i === words.length - 1) {
|
|
166
|
+
const duration = chunkText.split(/\s+/).length / wordsPerSecond;
|
|
167
|
+
chunks.push({
|
|
168
|
+
text: chunkText,
|
|
169
|
+
start: chunkStart,
|
|
170
|
+
end: chunkStart + duration,
|
|
171
|
+
});
|
|
172
|
+
chunkStart = chunkStart + duration;
|
|
173
|
+
chunkText = '';
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return chunks;
|
|
177
|
+
}
|
|
178
|
+
async processLongAudio(audio, options = {}) {
|
|
179
|
+
const chunkDuration = options.chunkDuration ?? 30;
|
|
180
|
+
const chunkOverlap = options.chunkOverlap ?? 5;
|
|
181
|
+
const rawTensor = await this.audioPreprocessor.processRaw(audio);
|
|
182
|
+
const audioData = rawTensor.toFloat32Array();
|
|
183
|
+
const sampleRate = 16000;
|
|
184
|
+
const chunkSamples = chunkDuration * sampleRate;
|
|
185
|
+
const overlapSamples = chunkOverlap * sampleRate;
|
|
186
|
+
const stepSamples = chunkSamples - overlapSamples;
|
|
187
|
+
const chunks = [];
|
|
188
|
+
for (let start = 0; start < audioData.length; start += stepSamples) {
|
|
189
|
+
const end = Math.min(start + chunkSamples, audioData.length);
|
|
190
|
+
const chunkAudio = audioData.slice(start, end);
|
|
191
|
+
const chunkResult = await this.run(new Float32Array(chunkAudio), options);
|
|
192
|
+
if (chunkResult.chunks) {
|
|
193
|
+
const timeOffset = start / sampleRate;
|
|
194
|
+
chunkResult.chunks = chunkResult.chunks.map(c => ({
|
|
195
|
+
...c,
|
|
196
|
+
start: c.start + timeOffset,
|
|
197
|
+
end: c.end + timeOffset,
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
chunks.push(chunkResult);
|
|
201
|
+
}
|
|
202
|
+
const mergedText = chunks.map(c => c.text).join(' ');
|
|
203
|
+
const mergedChunks = chunks.flatMap(c => c.chunks ?? []);
|
|
204
|
+
return {
|
|
205
|
+
text: mergedText,
|
|
206
|
+
chunks: mergedChunks,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
async preprocess(input) {
|
|
210
|
+
const inputs = Array.isArray(input) ? input : [input];
|
|
211
|
+
const tensors = await Promise.all(inputs.map(audio => this.audioPreprocessor.process(audio)));
|
|
212
|
+
if (tensors.length === 1) {
|
|
213
|
+
const t = tensors[0];
|
|
214
|
+
return [new EdgeFlowTensor(t.toFloat32Array(), [1, ...t.shape], 'float32')];
|
|
215
|
+
}
|
|
216
|
+
return tensors;
|
|
217
|
+
}
|
|
218
|
+
async postprocess(outputs, options) {
|
|
219
|
+
const opts = options ?? {};
|
|
220
|
+
const returnTimestamps = opts.returnTimestamps ?? false;
|
|
221
|
+
if (!outputs[0]) {
|
|
222
|
+
return { text: '' };
|
|
223
|
+
}
|
|
224
|
+
const outputData = outputs[0].toFloat32Array();
|
|
225
|
+
const shape = outputs[0].shape;
|
|
226
|
+
const text = this.decodeOutput(outputData, shape);
|
|
227
|
+
const result = { text };
|
|
228
|
+
if (returnTimestamps) {
|
|
229
|
+
result.chunks = this.extractTimestamps([], text);
|
|
230
|
+
}
|
|
231
|
+
return result;
|
|
232
|
+
}
|
|
233
|
+
decodeOutput(data, shape) {
|
|
234
|
+
const seqLen = shape[1] ?? data.length;
|
|
235
|
+
const vocabSize = shape[2] ?? 1;
|
|
236
|
+
const tokenIds = [];
|
|
237
|
+
if (vocabSize > 1) {
|
|
238
|
+
for (let i = 0; i < seqLen; i++) {
|
|
239
|
+
const offset = i * vocabSize;
|
|
240
|
+
let maxIdx = 0;
|
|
241
|
+
let maxVal = data[offset] ?? -Infinity;
|
|
242
|
+
for (let j = 1; j < vocabSize; j++) {
|
|
243
|
+
if ((data[offset + j] ?? -Infinity) > maxVal) {
|
|
244
|
+
maxVal = data[offset + j] ?? -Infinity;
|
|
245
|
+
maxIdx = j;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
tokenIds.push(maxIdx);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
for (let i = 0; i < data.length; i++) {
|
|
253
|
+
tokenIds.push(Math.round(data[i] ?? 0));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (this.tokenizer) {
|
|
257
|
+
return this.tokenizer.decode(tokenIds, true);
|
|
258
|
+
}
|
|
259
|
+
return tokenIds.join(' ');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// ============================================================================
|
|
263
|
+
// Factory
|
|
264
|
+
// ============================================================================
|
|
265
|
+
export function createASRPipeline(config) {
|
|
266
|
+
return new AutomaticSpeechRecognitionPipeline(config);
|
|
267
|
+
}
|
|
268
|
+
registerPipeline('automatic-speech-recognition', (config) => new AutomaticSpeechRecognitionPipeline(config));
|
|
269
|
+
//# sourceMappingURL=automatic-speech-recognition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automatic-speech-recognition.js","sourceRoot":"","sources":["../../src/pipelines/automatic-speech-recognition.ts"],"names":[],"mappings":"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"}
|
package/dist/pipelines/base.d.ts
CHANGED
|
@@ -58,7 +58,12 @@ export declare abstract class BasePipeline<TInput, TOutput extends PipelineResul
|
|
|
58
58
|
protected isReady: boolean;
|
|
59
59
|
constructor(config: PipelineConfig);
|
|
60
60
|
/**
|
|
61
|
-
* Initialize the pipeline (load model)
|
|
61
|
+
* Initialize the pipeline (load model).
|
|
62
|
+
*
|
|
63
|
+
* Skips model loading when `config.model === 'default'` — concrete
|
|
64
|
+
* subclasses that define their own DEFAULT_MODELS handle all model
|
|
65
|
+
* loading in their overridden `initialize()` methods, so the base
|
|
66
|
+
* should not attempt to fetch a URL called "default".
|
|
62
67
|
*/
|
|
63
68
|
initialize(): Promise<void>;
|
|
64
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/pipelines/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAMD;;GAEG;AACH,8BAAsB,YAAY,CAAC,MAAM,EAAE,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE;IAC1F,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IACrD,SAAS,CAAC,OAAO,UAAS;gBAEd,MAAM,EAAE,cAAc;IAMlC
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/pipelines/base.ts"],"names":[],"mappings":"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"}
|
package/dist/pipelines/base.js
CHANGED
|
@@ -24,11 +24,21 @@ export class BasePipeline {
|
|
|
24
24
|
this.downloadCache = new ModelDownloadCache();
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* Initialize the pipeline (load model)
|
|
27
|
+
* Initialize the pipeline (load model).
|
|
28
|
+
*
|
|
29
|
+
* Skips model loading when `config.model === 'default'` — concrete
|
|
30
|
+
* subclasses that define their own DEFAULT_MODELS handle all model
|
|
31
|
+
* loading in their overridden `initialize()` methods, so the base
|
|
32
|
+
* should not attempt to fetch a URL called "default".
|
|
28
33
|
*/
|
|
29
34
|
async initialize() {
|
|
30
35
|
if (this.isReady && this.model)
|
|
31
36
|
return;
|
|
37
|
+
// Skip generic model loading for subclasses that manage their own models.
|
|
38
|
+
if (this.config.model === 'default') {
|
|
39
|
+
this.isReady = true;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
32
42
|
// Check model cache first
|
|
33
43
|
const cachedModel = this.modelCache.get(this.config.model);
|
|
34
44
|
if (cachedModel) {
|
|
@@ -36,7 +46,7 @@ export class BasePipeline {
|
|
|
36
46
|
this.isReady = true;
|
|
37
47
|
return;
|
|
38
48
|
}
|
|
39
|
-
// Load model
|
|
49
|
+
// Load model using the explicit URL from config
|
|
40
50
|
this.model = await this.loadModelWithCache(this.config.model);
|
|
41
51
|
this.isReady = true;
|
|
42
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/pipelines/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA8CvD,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAgB,YAAY;IACtB,KAAK,GAAuB,IAAI,CAAC;IACxB,MAAM,CAAiB;IACvB,UAAU,CAAa;IACvB,aAAa,CAAqB;IAC3C,OAAO,GAAG,KAAK,CAAC;IAE1B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAChD,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/pipelines/base.ts"],"names":[],"mappings":"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"}
|