react-native-executorch 0.5.15 → 0.6.0-nightly-897eae9-20251213

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.
Files changed (277) hide show
  1. package/README.md +42 -36
  2. package/android/CMakeLists.txt +13 -25
  3. package/android/build.gradle +2 -3
  4. package/android/libs/classes.jar +0 -0
  5. package/android/src/main/cpp/CMakeLists.txt +2 -1
  6. package/common/rnexecutorch/RnExecutorchInstaller.cpp +18 -0
  7. package/common/rnexecutorch/TokenizerModule.cpp +3 -3
  8. package/common/rnexecutorch/data_processing/Numerical.cpp +31 -23
  9. package/common/rnexecutorch/data_processing/Numerical.h +6 -1
  10. package/common/rnexecutorch/data_processing/dsp.cpp +0 -46
  11. package/common/rnexecutorch/host_objects/JsiConversions.h +16 -0
  12. package/common/rnexecutorch/host_objects/ModelHostObject.h +26 -11
  13. package/common/rnexecutorch/jsi/OwningArrayBuffer.h +19 -2
  14. package/common/rnexecutorch/metaprogramming/TypeConcepts.h +0 -20
  15. package/common/rnexecutorch/models/BaseModel.cpp +12 -11
  16. package/common/rnexecutorch/models/BaseModel.h +18 -10
  17. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +3 -11
  18. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +0 -1
  19. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -12
  20. package/common/rnexecutorch/models/llm/LLM.cpp +25 -8
  21. package/common/rnexecutorch/models/llm/LLM.h +4 -4
  22. package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +1 -1
  23. package/common/rnexecutorch/models/ocr/utils/RecognitionHandlerUtils.cpp +7 -4
  24. package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +8 -13
  25. package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +1 -3
  26. package/common/rnexecutorch/models/speech_to_text/asr/ASR.cpp +12 -19
  27. package/common/rnexecutorch/models/speech_to_text/asr/ASR.h +4 -5
  28. package/common/rnexecutorch/models/text_to_image/Constants.h +9 -0
  29. package/common/rnexecutorch/models/text_to_image/Decoder.cpp +32 -0
  30. package/common/rnexecutorch/models/text_to_image/Decoder.h +24 -0
  31. package/common/rnexecutorch/models/text_to_image/Encoder.cpp +44 -0
  32. package/common/rnexecutorch/models/text_to_image/Encoder.h +32 -0
  33. package/common/rnexecutorch/models/text_to_image/Scheduler.cpp +152 -0
  34. package/common/rnexecutorch/models/text_to_image/Scheduler.h +41 -0
  35. package/common/rnexecutorch/models/text_to_image/TextToImage.cpp +141 -0
  36. package/common/rnexecutorch/models/text_to_image/TextToImage.h +64 -0
  37. package/common/rnexecutorch/models/text_to_image/UNet.cpp +38 -0
  38. package/common/rnexecutorch/models/text_to_image/UNet.h +28 -0
  39. package/common/rnexecutorch/models/voice_activity_detection/Constants.h +27 -0
  40. package/common/rnexecutorch/models/voice_activity_detection/Types.h +12 -0
  41. package/common/rnexecutorch/models/voice_activity_detection/Utils.cpp +15 -0
  42. package/common/rnexecutorch/models/voice_activity_detection/Utils.h +13 -0
  43. package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.cpp +160 -0
  44. package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.h +36 -0
  45. package/common/rnexecutorch/tests/CMakeLists.txt +30 -0
  46. package/common/rnexecutorch/tests/NumericalTest.cpp +110 -0
  47. package/common/rnexecutorch/tests/README.md +30 -13
  48. package/common/rnexecutorch/threads/GlobalThreadPool.h +4 -0
  49. package/common/runner/arange_util.cpp +44 -0
  50. package/common/runner/arange_util.h +37 -0
  51. package/common/runner/constants.h +28 -0
  52. package/common/runner/io_manager.h +240 -0
  53. package/common/runner/irunner.h +87 -16
  54. package/common/runner/kernel_includes.h +23 -0
  55. package/common/runner/runner.cpp +151 -66
  56. package/common/runner/runner.h +39 -22
  57. package/common/runner/sampler.cpp +8 -1
  58. package/common/runner/sampler.h +4 -2
  59. package/common/runner/stats.h +1 -4
  60. package/common/runner/text_decoder_runner.cpp +26 -12
  61. package/common/runner/text_decoder_runner.h +52 -31
  62. package/common/runner/text_prefiller.cpp +46 -12
  63. package/common/runner/text_prefiller.h +38 -4
  64. package/common/runner/text_token_generator.h +51 -26
  65. package/common/runner/util.h +53 -8
  66. package/ios/RnExecutorch.xcodeproj/project.pbxproj +0 -23
  67. package/lib/module/Error.js +1 -0
  68. package/lib/module/Error.js.map +1 -1
  69. package/lib/module/constants/directories.js +1 -1
  70. package/lib/module/constants/directories.js.map +1 -1
  71. package/lib/module/constants/modelUrls.js +32 -1
  72. package/lib/module/constants/modelUrls.js.map +1 -1
  73. package/lib/module/constants/ocr/models.js +7 -7
  74. package/lib/module/constants/ocr/models.js.map +1 -1
  75. package/lib/module/constants/ocr/symbols.js +3 -2
  76. package/lib/module/constants/ocr/symbols.js.map +1 -1
  77. package/lib/module/controllers/LLMController.js +10 -1
  78. package/lib/module/controllers/LLMController.js.map +1 -1
  79. package/lib/module/controllers/OCRController.js +3 -3
  80. package/lib/module/controllers/OCRController.js.map +1 -1
  81. package/lib/module/controllers/VerticalOCRController.js +2 -2
  82. package/lib/module/controllers/VerticalOCRController.js.map +1 -1
  83. package/lib/module/hooks/computer_vision/useOCR.js +3 -3
  84. package/lib/module/hooks/computer_vision/useOCR.js.map +1 -1
  85. package/lib/module/hooks/{useNonStaticModule.js → computer_vision/useTextToImage.js} +21 -16
  86. package/lib/module/hooks/computer_vision/useTextToImage.js.map +1 -0
  87. package/lib/module/hooks/computer_vision/useVerticalOCR.js +3 -3
  88. package/lib/module/hooks/computer_vision/useVerticalOCR.js.map +1 -1
  89. package/lib/module/hooks/natural_language_processing/useLLM.js +3 -3
  90. package/lib/module/hooks/natural_language_processing/useLLM.js.map +1 -1
  91. package/lib/module/hooks/natural_language_processing/useTokenizer.js +5 -5
  92. package/lib/module/hooks/natural_language_processing/useTokenizer.js.map +1 -1
  93. package/lib/module/hooks/natural_language_processing/useVAD.js +13 -0
  94. package/lib/module/hooks/natural_language_processing/useVAD.js.map +1 -0
  95. package/lib/module/index.js +7 -2
  96. package/lib/module/index.js.map +1 -1
  97. package/lib/module/modules/computer_vision/OCRModule.js +2 -2
  98. package/lib/module/modules/computer_vision/OCRModule.js.map +1 -1
  99. package/lib/module/modules/computer_vision/TextToImageModule.js +48 -0
  100. package/lib/module/modules/computer_vision/TextToImageModule.js.map +1 -0
  101. package/lib/module/modules/computer_vision/VerticalOCRModule.js +2 -2
  102. package/lib/module/modules/computer_vision/VerticalOCRModule.js.map +1 -1
  103. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js +7 -4
  104. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js.map +1 -1
  105. package/lib/module/modules/natural_language_processing/VADModule.js +19 -0
  106. package/lib/module/modules/natural_language_processing/VADModule.js.map +1 -0
  107. package/lib/module/types/llm.js.map +1 -1
  108. package/lib/module/types/vad.js +2 -0
  109. package/lib/module/types/vad.js.map +1 -0
  110. package/lib/module/utils/ResourceFetcher.js +2 -1
  111. package/lib/module/utils/ResourceFetcher.js.map +1 -1
  112. package/lib/module/utils/ResourceFetcherUtils.js +6 -6
  113. package/lib/module/utils/ResourceFetcherUtils.js.map +1 -1
  114. package/lib/typescript/Error.d.ts +1 -0
  115. package/lib/typescript/Error.d.ts.map +1 -1
  116. package/lib/typescript/constants/modelUrls.d.ts +23 -0
  117. package/lib/typescript/constants/modelUrls.d.ts.map +1 -1
  118. package/lib/typescript/constants/ocr/symbols.d.ts +1 -1
  119. package/lib/typescript/constants/ocr/symbols.d.ts.map +1 -1
  120. package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/OCRController.d.ts +1 -1
  122. package/lib/typescript/controllers/OCRController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/VerticalOCRController.d.ts +1 -1
  124. package/lib/typescript/controllers/VerticalOCRController.d.ts.map +1 -1
  125. package/lib/typescript/hooks/computer_vision/useOCR.d.ts +1 -1
  126. package/lib/typescript/hooks/computer_vision/useOCR.d.ts.map +1 -1
  127. package/lib/typescript/hooks/computer_vision/useTextToImage.d.ts +22 -0
  128. package/lib/typescript/hooks/computer_vision/useTextToImage.d.ts.map +1 -0
  129. package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts +1 -1
  130. package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts.map +1 -1
  131. package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts.map +1 -1
  132. package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts +2 -2
  133. package/lib/typescript/hooks/natural_language_processing/useVAD.d.ts +16 -0
  134. package/lib/typescript/hooks/natural_language_processing/useVAD.d.ts.map +1 -0
  135. package/lib/typescript/index.d.ts +8 -1
  136. package/lib/typescript/index.d.ts.map +1 -1
  137. package/lib/typescript/modules/computer_vision/OCRModule.d.ts +1 -1
  138. package/lib/typescript/modules/computer_vision/OCRModule.d.ts.map +1 -1
  139. package/lib/typescript/modules/computer_vision/TextToImageModule.d.ts +16 -0
  140. package/lib/typescript/modules/computer_vision/TextToImageModule.d.ts.map +1 -0
  141. package/lib/typescript/modules/computer_vision/VerticalOCRModule.d.ts +1 -1
  142. package/lib/typescript/modules/computer_vision/VerticalOCRModule.d.ts.map +1 -1
  143. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts +3 -2
  144. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts.map +1 -1
  145. package/lib/typescript/modules/natural_language_processing/VADModule.d.ts +10 -0
  146. package/lib/typescript/modules/natural_language_processing/VADModule.d.ts.map +1 -0
  147. package/lib/typescript/types/llm.d.ts +2 -0
  148. package/lib/typescript/types/llm.d.ts.map +1 -1
  149. package/lib/typescript/types/vad.d.ts +5 -0
  150. package/lib/typescript/types/vad.d.ts.map +1 -0
  151. package/lib/typescript/utils/ResourceFetcher.d.ts +29 -0
  152. package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -1
  153. package/lib/typescript/utils/ResourceFetcherUtils.d.ts +2 -2
  154. package/lib/typescript/utils/ResourceFetcherUtils.d.ts.map +1 -1
  155. package/package.json +11 -8
  156. package/react-native-executorch.podspec +9 -9
  157. package/src/Error.ts +1 -0
  158. package/src/constants/directories.ts +1 -1
  159. package/src/constants/modelUrls.ts +36 -1
  160. package/src/constants/ocr/models.ts +7 -7
  161. package/src/constants/ocr/symbols.ts +3 -2
  162. package/src/controllers/LLMController.ts +12 -1
  163. package/src/controllers/OCRController.ts +3 -3
  164. package/src/controllers/VerticalOCRController.ts +2 -2
  165. package/src/hooks/computer_vision/useOCR.ts +4 -5
  166. package/src/hooks/computer_vision/useTextToImage.ts +92 -0
  167. package/src/hooks/computer_vision/useVerticalOCR.ts +4 -5
  168. package/src/hooks/natural_language_processing/useLLM.ts +3 -4
  169. package/src/hooks/natural_language_processing/useTokenizer.ts +5 -5
  170. package/src/hooks/natural_language_processing/useVAD.ts +15 -0
  171. package/src/index.ts +20 -1
  172. package/src/modules/computer_vision/OCRModule.ts +2 -2
  173. package/src/modules/computer_vision/TextToImageModule.ts +93 -0
  174. package/src/modules/computer_vision/VerticalOCRModule.ts +2 -2
  175. package/src/modules/natural_language_processing/SpeechToTextModule.ts +8 -4
  176. package/src/modules/natural_language_processing/VADModule.ts +27 -0
  177. package/src/types/llm.ts +2 -0
  178. package/src/types/vad.ts +4 -0
  179. package/src/utils/ResourceFetcher.ts +2 -1
  180. package/src/utils/ResourceFetcherUtils.ts +8 -8
  181. package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
  182. package/third-party/android/libs/executorch/arm64-v8a/libexecutorch.so +0 -0
  183. package/third-party/android/libs/executorch/x86_64/libexecutorch.so +0 -0
  184. package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
  185. package/third-party/include/c10/macros/Export.h +0 -78
  186. package/third-party/include/c10/macros/Macros.h +1 -520
  187. package/third-party/include/c10/util/BFloat16-inl.h +1 -339
  188. package/third-party/include/c10/util/BFloat16.h +1 -122
  189. package/third-party/include/c10/util/Half-inl.h +1 -347
  190. package/third-party/include/c10/util/Half.h +6 -419
  191. package/third-party/include/c10/util/TypeSafeSignMath.h +1 -133
  192. package/third-party/include/c10/util/bit_cast.h +1 -43
  193. package/third-party/include/c10/util/complex.h +1 -568
  194. package/third-party/include/c10/util/floating_point_utils.h +1 -33
  195. package/third-party/include/c10/util/irange.h +1 -1
  196. package/third-party/include/c10/util/llvmMathExtras.h +866 -0
  197. package/third-party/include/c10/util/safe_numerics.h +97 -0
  198. package/third-party/include/executorch/ExecuTorchError.h +6 -7
  199. package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLM.h +12 -0
  200. package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMConfig.h +56 -0
  201. package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMError.h +16 -0
  202. package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMMultimodalRunner.h +227 -0
  203. package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMTextRunner.h +97 -0
  204. package/third-party/include/executorch/ExecuTorchLLM/module.modulemap +4 -0
  205. package/third-party/include/executorch/ExecuTorchLog.h +1 -0
  206. package/third-party/include/executorch/ExecuTorchModule.h +177 -4
  207. package/third-party/include/executorch/ExecuTorchTensor.h +3 -4
  208. package/third-party/include/executorch/ExecuTorchValue.h +1 -7
  209. package/third-party/include/executorch/extension/module/module.h +139 -8
  210. package/third-party/include/executorch/extension/tensor/tensor.h +1 -0
  211. package/third-party/include/executorch/extension/tensor/tensor_ptr.h +88 -26
  212. package/third-party/include/executorch/extension/threadpool/threadpool.h +4 -1
  213. package/third-party/include/executorch/runtime/backend/backend_init_context.h +6 -0
  214. package/third-party/include/executorch/runtime/backend/interface.h +1 -1
  215. package/third-party/include/executorch/runtime/core/error.h +76 -49
  216. package/third-party/include/executorch/runtime/core/exec_aten/util/scalar_type_util.h +18 -4
  217. package/third-party/include/executorch/runtime/core/memory_allocator.h +12 -2
  218. package/third-party/include/executorch/runtime/core/named_data_map.h +1 -11
  219. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -78
  220. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +1 -520
  221. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +1 -339
  222. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +1 -122
  223. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +1 -347
  224. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/Half.h +6 -419
  225. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +1 -133
  226. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +1 -43
  227. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/complex.h +1 -568
  228. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +1 -33
  229. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/irange.h +1 -1
  230. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +866 -0
  231. package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/safe_numerics.h +97 -0
  232. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Export.h +66 -0
  233. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +553 -0
  234. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h +477 -0
  235. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/Half.h +781 -0
  236. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +141 -0
  237. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h +49 -0
  238. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/complex.h +593 -0
  239. package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h +38 -0
  240. package/third-party/include/executorch/runtime/core/tensor_layout.h +1 -1
  241. package/third-party/include/executorch/runtime/executor/merged_data_map.h +142 -0
  242. package/third-party/include/executorch/runtime/executor/method.h +21 -8
  243. package/third-party/include/executorch/runtime/executor/method_meta.h +20 -2
  244. package/third-party/include/executorch/runtime/executor/program.h +0 -10
  245. package/third-party/include/executorch/runtime/kernel/operator_registry.h +1 -1
  246. package/third-party/include/executorch/runtime/platform/compiler.h +2 -0
  247. package/third-party/include/executorch/schema/extended_header.h +10 -1
  248. package/third-party/include/torch/headeronly/macros/Export.h +66 -0
  249. package/third-party/include/torch/headeronly/macros/Macros.h +553 -0
  250. package/third-party/include/torch/headeronly/util/BFloat16.h +477 -0
  251. package/third-party/include/torch/headeronly/util/Half.h +781 -0
  252. package/third-party/include/torch/headeronly/util/TypeSafeSignMath.h +141 -0
  253. package/third-party/include/torch/headeronly/util/bit_cast.h +49 -0
  254. package/third-party/include/torch/headeronly/util/complex.h +593 -0
  255. package/third-party/include/torch/headeronly/util/floating_point_utils.h +38 -0
  256. package/third-party/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib +0 -0
  257. package/third-party/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
  258. package/third-party/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib +0 -0
  259. package/third-party/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
  260. package/common/rnexecutorch/tests/run_all_tests.sh +0 -14
  261. package/common/rnexecutorch/tests/run_test.sh +0 -18
  262. package/ios/RnExecutorch/utils/Conversions.h +0 -14
  263. package/ios/RnExecutorch/utils/ETError.h +0 -26
  264. package/ios/RnExecutorch/utils/ImageProcessor.h +0 -15
  265. package/ios/RnExecutorch/utils/ImageProcessor.mm +0 -147
  266. package/ios/RnExecutorch/utils/Numerical.h +0 -3
  267. package/ios/RnExecutorch/utils/Numerical.mm +0 -18
  268. package/ios/RnExecutorch/utils/ScalarType.h +0 -14
  269. package/ios/RnExecutorch/utils/ScalarType.mm +0 -21
  270. package/lib/module/hooks/useNonStaticModule.js.map +0 -1
  271. package/lib/typescript/hooks/useNonStaticModule.d.ts +0 -21
  272. package/lib/typescript/hooks/useNonStaticModule.d.ts.map +0 -1
  273. package/src/hooks/useNonStaticModule.ts +0 -74
  274. package/third-party/include/executorch/extension/kernel_util/make_boxed_from_unboxed_functor.h +0 -181
  275. package/third-party/include/executorch/extension/kernel_util/meta_programming.h +0 -108
  276. package/third-party/include/executorch/extension/kernel_util/type_list.h +0 -137
  277. package/third-party/include/executorch/extension/threadpool/threadpool_guard.h +0 -35
@@ -0,0 +1,93 @@
1
+ import { ResourceFetcher } from '../../utils/ResourceFetcher';
2
+ import { ResourceSource } from '../../types/common';
3
+ import { BaseModule } from '../BaseModule';
4
+ import { Buffer } from 'buffer';
5
+ import { PNG } from 'pngjs/browser';
6
+
7
+ export class TextToImageModule extends BaseModule {
8
+ private inferenceCallback: (stepIdx: number) => void;
9
+
10
+ constructor(inferenceCallback?: (stepIdx: number) => void) {
11
+ super();
12
+ this.inferenceCallback = (stepIdx: number) => {
13
+ inferenceCallback?.(stepIdx);
14
+ };
15
+ }
16
+
17
+ async load(
18
+ model: {
19
+ tokenizerSource: ResourceSource;
20
+ schedulerSource: ResourceSource;
21
+ encoderSource: ResourceSource;
22
+ unetSource: ResourceSource;
23
+ decoderSource: ResourceSource;
24
+ },
25
+ onDownloadProgressCallback: (progress: number) => void = () => {}
26
+ ): Promise<void> {
27
+ const results = await ResourceFetcher.fetch(
28
+ onDownloadProgressCallback,
29
+ model.tokenizerSource,
30
+ model.schedulerSource,
31
+ model.encoderSource,
32
+ model.unetSource,
33
+ model.decoderSource
34
+ );
35
+ if (!results) {
36
+ throw new Error('Failed to fetch one or more resources.');
37
+ }
38
+ const [tokenizerPath, schedulerPath, encoderPath, unetPath, decoderPath] =
39
+ results;
40
+
41
+ if (
42
+ !tokenizerPath ||
43
+ !schedulerPath ||
44
+ !encoderPath ||
45
+ !unetPath ||
46
+ !decoderPath
47
+ ) {
48
+ throw new Error('Download interrupted.');
49
+ }
50
+
51
+ const response = await fetch('file://' + schedulerPath);
52
+ const schedulerConfig = await response.json();
53
+
54
+ this.nativeModule = global.loadTextToImage(
55
+ tokenizerPath,
56
+ encoderPath,
57
+ unetPath,
58
+ decoderPath,
59
+ schedulerConfig.beta_start,
60
+ schedulerConfig.beta_end,
61
+ schedulerConfig.num_train_timesteps,
62
+ schedulerConfig.steps_offset
63
+ );
64
+ }
65
+
66
+ async forward(
67
+ input: string,
68
+ imageSize: number = 512,
69
+ numSteps: number = 5,
70
+ seed?: number
71
+ ): Promise<string> {
72
+ const output = await this.nativeModule.generate(
73
+ input,
74
+ imageSize,
75
+ numSteps,
76
+ seed ? seed : -1,
77
+ this.inferenceCallback
78
+ );
79
+ const outputArray = new Uint8Array(output);
80
+ if (!outputArray.length) {
81
+ return '';
82
+ }
83
+ const png = new PNG({ width: imageSize, height: imageSize });
84
+ png.data = Buffer.from(outputArray);
85
+ const pngBuffer = PNG.sync.write(png, { colorType: 6 });
86
+ const pngString = pngBuffer.toString('base64');
87
+ return pngString;
88
+ }
89
+
90
+ public interrupt(): void {
91
+ this.nativeModule.interrupt();
92
+ }
93
+ }
@@ -35,8 +35,8 @@ export class VerticalOCRModule {
35
35
  );
36
36
  }
37
37
 
38
- async forward(input: string) {
39
- return await this.controller.forward(input);
38
+ async forward(imageSource: string) {
39
+ return await this.controller.forward(imageSource);
40
40
  }
41
41
 
42
42
  delete() {
@@ -43,6 +43,10 @@ export class SpeechToTextModule {
43
43
  );
44
44
  }
45
45
 
46
+ public delete(): void {
47
+ this.nativeModule.unload();
48
+ }
49
+
46
50
  public async encode(
47
51
  waveform: Float32Array | number[]
48
52
  ): Promise<Float32Array> {
@@ -150,18 +154,18 @@ export class SpeechToTextModule {
150
154
  }
151
155
  }
152
156
 
153
- public async streamInsert(waveform: Float32Array | number[]): Promise<void> {
157
+ public streamInsert(waveform: Float32Array | number[]): void {
154
158
  if (Array.isArray(waveform)) {
155
159
  Logger.info(
156
160
  'Passing waveform as number[] is deprecated, use Float32Array instead'
157
161
  );
158
162
  waveform = new Float32Array(waveform);
159
163
  }
160
- return this.nativeModule.streamInsert(waveform);
164
+ this.nativeModule.streamInsert(waveform);
161
165
  }
162
166
 
163
- public async streamStop(): Promise<void> {
164
- return this.nativeModule.streamStop();
167
+ public streamStop(): void {
168
+ this.nativeModule.streamStop();
165
169
  }
166
170
 
167
171
  private validateOptions(options: DecodingOptions) {
@@ -0,0 +1,27 @@
1
+ import { ResourceFetcher } from '../../utils/ResourceFetcher';
2
+ import { ResourceSource } from '../../types/common';
3
+ import { Segment } from '../../types/vad';
4
+ import { ETError, getError } from '../../Error';
5
+ import { BaseModule } from '../BaseModule';
6
+
7
+ export class VADModule extends BaseModule {
8
+ async load(
9
+ model: { modelSource: ResourceSource },
10
+ onDownloadProgressCallback: (progress: number) => void = () => {}
11
+ ): Promise<void> {
12
+ const paths = await ResourceFetcher.fetch(
13
+ onDownloadProgressCallback,
14
+ model.modelSource
15
+ );
16
+ if (paths === null || paths.length < 1) {
17
+ throw new Error('Download interrupted.');
18
+ }
19
+ this.nativeModule = global.loadVAD(paths[0] || '');
20
+ }
21
+
22
+ async forward(waveform: Float32Array): Promise<Segment[]> {
23
+ if (this.nativeModule == null)
24
+ throw new Error(getError(ETError.ModuleNotLoaded));
25
+ return await this.nativeModule.generate(waveform);
26
+ }
27
+ }
package/src/types/llm.ts CHANGED
@@ -51,6 +51,8 @@ export interface ToolsConfig {
51
51
  }
52
52
 
53
53
  export interface GenerationConfig {
54
+ temperature?: number;
55
+ topp?: number;
54
56
  outputTokenBatchSize?: number;
55
57
  batchTimeInterval?: number;
56
58
  }
@@ -0,0 +1,4 @@
1
+ export interface Segment {
2
+ start: number;
3
+ end: number;
4
+ }
@@ -27,6 +27,7 @@
27
27
  * - Implements linked list behavior via the `.next` attribute
28
28
  * - Automatically processes subsequent downloads when `.next` contains a valid resource
29
29
  */
30
+
30
31
  import {
31
32
  cacheDirectory,
32
33
  copyAsync,
@@ -37,7 +38,7 @@ import {
37
38
  EncodingType,
38
39
  deleteAsync,
39
40
  readDirectoryAsync,
40
- } from 'expo-file-system';
41
+ } from 'expo-file-system/legacy';
41
42
  import { Asset } from 'expo-asset';
42
43
  import { Platform } from 'react-native';
43
44
  import { RNEDirectory } from '../constants/directories';
@@ -1,16 +1,16 @@
1
+ import { RNEDirectory } from '../constants/directories';
2
+ import { ResourceSource } from '../types/common';
3
+ import { Asset } from 'expo-asset';
4
+ import { Logger } from '../common/Logger';
5
+
1
6
  /**
2
7
  * @internal
3
8
  */
4
-
5
9
  import {
6
- DownloadResumable,
7
10
  getInfoAsync,
8
11
  makeDirectoryAsync,
9
- } from 'expo-file-system';
10
- import { RNEDirectory } from '../constants/directories';
11
- import { ResourceSource } from '../types/common';
12
- import { Asset } from 'expo-asset';
13
- import { Logger } from '../common/Logger';
12
+ type DownloadResumable,
13
+ } from 'expo-file-system/legacy';
14
14
 
15
15
  export const enum HTTP_CODE {
16
16
  OK = 200,
@@ -75,7 +75,7 @@ export namespace ResourceFetcherUtils {
75
75
  let totalLength = 0;
76
76
  let previousFilesTotalLength = 0;
77
77
  for (const source of sources) {
78
- const type = await ResourceFetcherUtils.getType(source);
78
+ const type = ResourceFetcherUtils.getType(source);
79
79
  let length = 0;
80
80
  try {
81
81
  if (type === SourceType.REMOTE_FILE && typeof source === 'string') {
@@ -1,79 +1 @@
1
- #define C10_USING_CUSTOM_GENERATED_MACROS
2
- #ifndef C10_MACROS_EXPORT_H_
3
- #define C10_MACROS_EXPORT_H_
4
-
5
- #ifndef C10_USING_CUSTOM_GENERATED_MACROS
6
- #include <c10/macros/cmake_macros.h>
7
- #endif // C10_USING_CUSTOM_GENERATED_MACROS
8
-
9
1
  #include <torch/headeronly/macros/Export.h>
10
-
11
- // This one is being used by libtorch.so
12
- #ifdef CAFFE2_BUILD_MAIN_LIB
13
- #define TORCH_API C10_EXPORT
14
- #else
15
- #define TORCH_API C10_IMPORT
16
- #endif
17
-
18
- // You may be wondering: Whose brilliant idea was it to split torch_cuda into
19
- // two pieces with confusing names?
20
- // Once upon a time, there _was_ only TORCH_CUDA_API. All was happy until we
21
- // tried to compile PyTorch for CUDA 11.1, which ran into relocation marker
22
- // issues when linking big binaries.
23
- // (https://github.com/pytorch/pytorch/issues/39968) We had two choices:
24
- // (1) Stop supporting so many GPU architectures
25
- // (2) Do something else
26
- // We chose #2 and decided to split the behemoth that was torch_cuda into two
27
- // smaller libraries, one with most of the core kernel functions (torch_cuda_cu)
28
- // and the other that had..well..everything else (torch_cuda_cpp). The idea was
29
- // this: instead of linking our static libraries (like the hefty
30
- // libcudnn_static.a) with another huge library, torch_cuda, and run into pesky
31
- // relocation marker issues, we could link our static libraries to a smaller
32
- // part of torch_cuda (torch_cuda_cpp) and avoid the issues.
33
-
34
- // libtorch_cuda_cu.so
35
- #ifdef TORCH_CUDA_CU_BUILD_MAIN_LIB
36
- #define TORCH_CUDA_CU_API C10_EXPORT
37
- #elif defined(BUILD_SPLIT_CUDA)
38
- #define TORCH_CUDA_CU_API C10_IMPORT
39
- #endif
40
-
41
- // libtorch_cuda_cpp.so
42
- #ifdef TORCH_CUDA_CPP_BUILD_MAIN_LIB
43
- #define TORCH_CUDA_CPP_API C10_EXPORT
44
- #elif defined(BUILD_SPLIT_CUDA)
45
- #define TORCH_CUDA_CPP_API C10_IMPORT
46
- #endif
47
-
48
- // libtorch_cuda.so (where torch_cuda_cu and torch_cuda_cpp are a part of the
49
- // same api)
50
- #ifdef TORCH_CUDA_BUILD_MAIN_LIB
51
- #define TORCH_CUDA_CPP_API C10_EXPORT
52
- #define TORCH_CUDA_CU_API C10_EXPORT
53
- #elif !defined(BUILD_SPLIT_CUDA)
54
- #define TORCH_CUDA_CPP_API C10_IMPORT
55
- #define TORCH_CUDA_CU_API C10_IMPORT
56
- #endif
57
-
58
- #if defined(TORCH_HIP_BUILD_MAIN_LIB)
59
- #define TORCH_HIP_CPP_API C10_EXPORT
60
- #define TORCH_HIP_API C10_EXPORT
61
- #else
62
- #define TORCH_HIP_CPP_API C10_IMPORT
63
- #define TORCH_HIP_API C10_IMPORT
64
- #endif
65
-
66
- #if defined(TORCH_XPU_BUILD_MAIN_LIB)
67
- #define TORCH_XPU_API C10_EXPORT
68
- #else
69
- #define TORCH_XPU_API C10_IMPORT
70
- #endif
71
-
72
- // Enums only need to be exported on windows for non-CUDA files
73
- #if defined(_WIN32) && defined(__CUDACC__)
74
- #define C10_API_ENUM C10_API
75
- #else
76
- #define C10_API_ENUM
77
- #endif
78
-
79
- #endif // C10_MACROS_EXPORT_H_