react-native-executorch 0.3.3 → 0.4.2

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 (343) hide show
  1. package/README.md +30 -13
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/swmansion/rnexecutorch/ETModule.kt +1 -2
  4. package/android/src/main/java/com/swmansion/rnexecutorch/ImageSegmentation.kt +58 -0
  5. package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +13 -49
  6. package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +37 -0
  7. package/android/src/main/java/com/swmansion/rnexecutorch/StyleTransfer.kt +1 -1
  8. package/android/src/main/java/com/swmansion/rnexecutorch/TextEmbeddings.kt +51 -0
  9. package/android/src/main/java/com/swmansion/rnexecutorch/Tokenizer.kt +86 -0
  10. package/android/src/main/java/com/swmansion/rnexecutorch/models/BaseModel.kt +3 -4
  11. package/android/src/main/java/com/swmansion/rnexecutorch/models/TextEmbeddings/TextEmbeddingsModel.kt +48 -0
  12. package/android/src/main/java/com/swmansion/rnexecutorch/models/TextEmbeddings/TextEmbeddingsUtils.kt +37 -0
  13. package/android/src/main/java/com/swmansion/rnexecutorch/models/classification/ClassificationModel.kt +1 -0
  14. package/android/src/main/java/com/swmansion/rnexecutorch/models/imageSegmentation/Constants.kt +26 -0
  15. package/android/src/main/java/com/swmansion/rnexecutorch/models/imageSegmentation/ImageSegmentationModel.kt +142 -0
  16. package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/utils/RecognizerUtils.kt +3 -0
  17. package/android/src/main/java/com/swmansion/rnexecutorch/models/{StyleTransferModel.kt → styleTransfer/StyleTransferModel.kt} +2 -1
  18. package/android/src/main/java/com/swmansion/rnexecutorch/utils/ArrayUtils.kt +0 -8
  19. package/android/src/main/java/com/swmansion/rnexecutorch/{models/classification/Utils.kt → utils/Numerical.kt} +1 -1
  20. package/ios/ExecutorchLib.xcframework/Info.plist +4 -4
  21. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib +0 -0
  22. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +14 -0
  23. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +1 -23
  24. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
  25. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib +0 -0
  26. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +14 -0
  27. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +1 -23
  28. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
  29. package/ios/RnExecutorch/Classification.mm +15 -18
  30. package/ios/RnExecutorch/ETModule.mm +6 -5
  31. package/ios/RnExecutorch/ImageSegmentation.h +5 -0
  32. package/ios/RnExecutorch/ImageSegmentation.mm +60 -0
  33. package/ios/RnExecutorch/LLM.mm +12 -53
  34. package/ios/RnExecutorch/OCR.mm +39 -43
  35. package/ios/RnExecutorch/ObjectDetection.mm +20 -20
  36. package/ios/RnExecutorch/SpeechToText.mm +6 -7
  37. package/ios/RnExecutorch/StyleTransfer.mm +16 -19
  38. package/ios/RnExecutorch/TextEmbeddings.h +5 -0
  39. package/ios/RnExecutorch/TextEmbeddings.mm +62 -0
  40. package/ios/RnExecutorch/Tokenizer.h +5 -0
  41. package/ios/RnExecutorch/Tokenizer.mm +83 -0
  42. package/ios/RnExecutorch/VerticalOCR.mm +36 -36
  43. package/ios/RnExecutorch/models/BaseModel.h +2 -5
  44. package/ios/RnExecutorch/models/BaseModel.mm +5 -15
  45. package/ios/RnExecutorch/models/classification/ClassificationModel.mm +2 -3
  46. package/ios/RnExecutorch/models/classification/Constants.mm +0 -1
  47. package/ios/RnExecutorch/models/image_segmentation/Constants.h +4 -0
  48. package/ios/RnExecutorch/models/image_segmentation/Constants.mm +8 -0
  49. package/ios/RnExecutorch/models/image_segmentation/ImageSegmentationModel.h +10 -0
  50. package/ios/RnExecutorch/models/image_segmentation/ImageSegmentationModel.mm +146 -0
  51. package/ios/RnExecutorch/models/object_detection/SSDLiteLargeModel.mm +1 -2
  52. package/ios/RnExecutorch/models/ocr/Detector.h +0 -2
  53. package/ios/RnExecutorch/models/ocr/Detector.mm +2 -1
  54. package/ios/RnExecutorch/models/ocr/RecognitionHandler.h +5 -4
  55. package/ios/RnExecutorch/models/ocr/RecognitionHandler.mm +9 -26
  56. package/ios/RnExecutorch/models/ocr/Recognizer.mm +1 -2
  57. package/ios/RnExecutorch/models/ocr/VerticalDetector.h +0 -2
  58. package/ios/RnExecutorch/models/ocr/VerticalDetector.mm +2 -1
  59. package/ios/RnExecutorch/models/ocr/utils/OCRUtils.mm +0 -1
  60. package/ios/RnExecutorch/models/stt/Moonshine.mm +1 -6
  61. package/ios/RnExecutorch/models/stt/SpeechToTextBaseModel.mm +7 -11
  62. package/ios/RnExecutorch/models/stt/Whisper.mm +0 -5
  63. package/ios/RnExecutorch/models/{StyleTransferModel.h → style_transfer/StyleTransferModel.h} +1 -1
  64. package/ios/RnExecutorch/models/{StyleTransferModel.mm → style_transfer/StyleTransferModel.mm} +2 -3
  65. package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsModel.h +15 -0
  66. package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsModel.mm +45 -0
  67. package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsUtils.h +8 -0
  68. package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsUtils.mm +49 -0
  69. package/ios/RnExecutorch/utils/Conversions.h +15 -0
  70. package/ios/RnExecutorch/utils/ImageProcessor.h +0 -1
  71. package/ios/RnExecutorch/{models/classification/Utils.h → utils/Numerical.h} +0 -2
  72. package/ios/RnExecutorch/{models/classification/Utils.mm → utils/Numerical.mm} +0 -2
  73. package/ios/RnExecutorch/utils/ObjectDetectionUtils.mm +0 -2
  74. package/ios/RnExecutorch/utils/SFFT.mm +1 -1
  75. package/ios/RnExecutorch/utils/ScalarType.h +0 -2
  76. package/lib/module/Error.js +16 -2
  77. package/lib/module/Error.js.map +1 -1
  78. package/lib/module/constants/{llamaDefaults.js → llmDefaults.js} +7 -3
  79. package/lib/module/constants/llmDefaults.js.map +1 -0
  80. package/lib/module/constants/modelUrls.js +88 -27
  81. package/lib/module/constants/modelUrls.js.map +1 -1
  82. package/lib/module/constants/ocr/models.js +290 -0
  83. package/lib/module/constants/ocr/models.js.map +1 -0
  84. package/lib/module/constants/ocr/symbols.js +137 -2
  85. package/lib/module/constants/ocr/symbols.js.map +1 -1
  86. package/lib/module/constants/sttDefaults.js +50 -25
  87. package/lib/module/constants/sttDefaults.js.map +1 -1
  88. package/lib/module/controllers/LLMController.js +205 -0
  89. package/lib/module/controllers/LLMController.js.map +1 -0
  90. package/lib/module/controllers/OCRController.js +5 -10
  91. package/lib/module/controllers/OCRController.js.map +1 -1
  92. package/lib/module/controllers/SpeechToTextController.js +225 -122
  93. package/lib/module/controllers/SpeechToTextController.js.map +1 -1
  94. package/lib/module/controllers/VerticalOCRController.js +6 -10
  95. package/lib/module/controllers/VerticalOCRController.js.map +1 -1
  96. package/lib/module/hooks/computer_vision/useClassification.js +8 -23
  97. package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
  98. package/lib/module/hooks/computer_vision/useImageSegmentation.js +13 -0
  99. package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -0
  100. package/lib/module/hooks/computer_vision/useOCR.js +11 -6
  101. package/lib/module/hooks/computer_vision/useOCR.js.map +1 -1
  102. package/lib/module/hooks/computer_vision/useObjectDetection.js +8 -23
  103. package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
  104. package/lib/module/hooks/computer_vision/useStyleTransfer.js +8 -23
  105. package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
  106. package/lib/module/hooks/computer_vision/useVerticalOCR.js +10 -7
  107. package/lib/module/hooks/computer_vision/useVerticalOCR.js.map +1 -1
  108. package/lib/module/hooks/general/useExecutorchModule.js +8 -36
  109. package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
  110. package/lib/module/hooks/natural_language_processing/useLLM.js +54 -63
  111. package/lib/module/hooks/natural_language_processing/useLLM.js.map +1 -1
  112. package/lib/module/hooks/natural_language_processing/useSpeechToText.js +15 -11
  113. package/lib/module/hooks/natural_language_processing/useSpeechToText.js.map +1 -1
  114. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +14 -0
  115. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -0
  116. package/lib/module/hooks/natural_language_processing/useTokenizer.js +54 -0
  117. package/lib/module/hooks/natural_language_processing/useTokenizer.js.map +1 -0
  118. package/lib/module/hooks/useModule.js +18 -62
  119. package/lib/module/hooks/useModule.js.map +1 -1
  120. package/lib/module/index.js +16 -2
  121. package/lib/module/index.js.map +1 -1
  122. package/lib/module/modules/BaseModule.js +9 -10
  123. package/lib/module/modules/BaseModule.js.map +1 -1
  124. package/lib/module/modules/computer_vision/ClassificationModule.js +8 -5
  125. package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
  126. package/lib/module/modules/computer_vision/ImageSegmentationModule.js +28 -0
  127. package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -0
  128. package/lib/module/modules/computer_vision/ObjectDetectionModule.js +8 -5
  129. package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
  130. package/lib/module/modules/computer_vision/StyleTransferModule.js +8 -5
  131. package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
  132. package/lib/module/modules/general/ExecutorchModule.js +8 -5
  133. package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
  134. package/lib/module/modules/natural_language_processing/LLMModule.js +46 -27
  135. package/lib/module/modules/natural_language_processing/LLMModule.js.map +1 -1
  136. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js +8 -5
  137. package/lib/module/modules/natural_language_processing/SpeechToTextModule.js.map +1 -1
  138. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +14 -0
  139. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -0
  140. package/lib/module/modules/natural_language_processing/TokenizerModule.js +26 -0
  141. package/lib/module/modules/natural_language_processing/TokenizerModule.js.map +1 -0
  142. package/lib/module/native/NativeClassification.js.map +1 -1
  143. package/lib/module/native/NativeImageSegmentation.js +5 -0
  144. package/lib/module/native/NativeImageSegmentation.js.map +1 -0
  145. package/lib/module/native/NativeLLM.js.map +1 -1
  146. package/lib/module/native/NativeTextEmbeddings.js +5 -0
  147. package/lib/module/native/NativeTextEmbeddings.js.map +1 -0
  148. package/lib/module/native/NativeTokenizer.js +5 -0
  149. package/lib/module/native/NativeTokenizer.js.map +1 -0
  150. package/lib/module/native/RnExecutorchModules.js +18 -113
  151. package/lib/module/native/RnExecutorchModules.js.map +1 -1
  152. package/lib/module/types/common.js.map +1 -1
  153. package/lib/module/types/imageSegmentation.js +29 -0
  154. package/lib/module/types/imageSegmentation.js.map +1 -0
  155. package/lib/module/types/llm.js +7 -0
  156. package/lib/module/types/llm.js.map +1 -0
  157. package/lib/module/types/{object_detection.js → objectDetection.js} +1 -1
  158. package/lib/module/types/objectDetection.js.map +1 -0
  159. package/lib/module/types/ocr.js +2 -0
  160. package/lib/module/types/stt.js +82 -0
  161. package/lib/module/types/stt.js.map +1 -0
  162. package/lib/module/utils/ResourceFetcher.js +156 -0
  163. package/lib/module/utils/ResourceFetcher.js.map +1 -0
  164. package/lib/module/utils/llm.js +25 -0
  165. package/lib/module/utils/llm.js.map +1 -0
  166. package/lib/module/utils/stt.js +22 -0
  167. package/lib/module/utils/stt.js.map +1 -0
  168. package/lib/typescript/Error.d.ts +4 -1
  169. package/lib/typescript/Error.d.ts.map +1 -1
  170. package/lib/typescript/constants/{llamaDefaults.d.ts → llmDefaults.d.ts} +5 -5
  171. package/lib/typescript/constants/llmDefaults.d.ts.map +1 -0
  172. package/lib/typescript/constants/modelUrls.d.ts +74 -28
  173. package/lib/typescript/constants/modelUrls.d.ts.map +1 -1
  174. package/lib/typescript/constants/ocr/models.d.ts +285 -0
  175. package/lib/typescript/constants/ocr/models.d.ts.map +1 -0
  176. package/lib/typescript/constants/ocr/symbols.d.ts +73 -1
  177. package/lib/typescript/constants/ocr/symbols.d.ts.map +1 -1
  178. package/lib/typescript/constants/sttDefaults.d.ts +8 -13
  179. package/lib/typescript/constants/sttDefaults.d.ts.map +1 -1
  180. package/lib/typescript/controllers/LLMController.d.ts +46 -0
  181. package/lib/typescript/controllers/LLMController.d.ts.map +1 -0
  182. package/lib/typescript/controllers/OCRController.d.ts.map +1 -1
  183. package/lib/typescript/controllers/SpeechToTextController.d.ts +30 -16
  184. package/lib/typescript/controllers/SpeechToTextController.d.ts.map +1 -1
  185. package/lib/typescript/controllers/VerticalOCRController.d.ts +1 -1
  186. package/lib/typescript/controllers/VerticalOCRController.d.ts.map +1 -1
  187. package/lib/typescript/hooks/computer_vision/useClassification.d.ts +5 -5
  188. package/lib/typescript/hooks/computer_vision/useClassification.d.ts.map +1 -1
  189. package/lib/typescript/hooks/computer_vision/useImageSegmentation.d.ts +37 -0
  190. package/lib/typescript/hooks/computer_vision/useImageSegmentation.d.ts.map +1 -0
  191. package/lib/typescript/hooks/computer_vision/useOCR.d.ts +2 -1
  192. package/lib/typescript/hooks/computer_vision/useOCR.d.ts.map +1 -1
  193. package/lib/typescript/hooks/computer_vision/useObjectDetection.d.ts +5 -4
  194. package/lib/typescript/hooks/computer_vision/useObjectDetection.d.ts.map +1 -1
  195. package/lib/typescript/hooks/computer_vision/useStyleTransfer.d.ts +4 -2
  196. package/lib/typescript/hooks/computer_vision/useStyleTransfer.d.ts.map +1 -1
  197. package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts +2 -1
  198. package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts.map +1 -1
  199. package/lib/typescript/hooks/general/useExecutorchModule.d.ts +5 -6
  200. package/lib/typescript/hooks/general/useExecutorchModule.d.ts.map +1 -1
  201. package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts +6 -6
  202. package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts.map +1 -1
  203. package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts +7 -3
  204. package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts.map +1 -1
  205. package/lib/typescript/hooks/natural_language_processing/useTextEmbeddings.d.ts +13 -0
  206. package/lib/typescript/hooks/natural_language_processing/useTextEmbeddings.d.ts.map +1 -0
  207. package/lib/typescript/hooks/natural_language_processing/useTokenizer.d.ts +16 -0
  208. package/lib/typescript/hooks/natural_language_processing/useTokenizer.d.ts.map +1 -0
  209. package/lib/typescript/hooks/useModule.d.ts +11 -10
  210. package/lib/typescript/hooks/useModule.d.ts.map +1 -1
  211. package/lib/typescript/index.d.ts +15 -2
  212. package/lib/typescript/index.d.ts.map +1 -1
  213. package/lib/typescript/modules/BaseModule.d.ts +4 -5
  214. package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
  215. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +7 -7
  216. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
  217. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +32 -0
  218. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -0
  219. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +6 -5
  220. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
  221. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +6 -5
  222. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
  223. package/lib/typescript/modules/general/ExecutorchModule.d.ts +4 -3
  224. package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
  225. package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts +19 -5
  226. package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts.map +1 -1
  227. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts +7 -4
  228. package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts.map +1 -1
  229. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +8 -0
  230. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -0
  231. package/lib/typescript/modules/natural_language_processing/TokenizerModule.d.ts +12 -0
  232. package/lib/typescript/modules/natural_language_processing/TokenizerModule.d.ts.map +1 -0
  233. package/lib/typescript/native/NativeClassification.d.ts.map +1 -1
  234. package/lib/typescript/native/NativeImageSegmentation.d.ts +10 -0
  235. package/lib/typescript/native/NativeImageSegmentation.d.ts.map +1 -0
  236. package/lib/typescript/native/NativeLLM.d.ts +3 -4
  237. package/lib/typescript/native/NativeLLM.d.ts.map +1 -1
  238. package/lib/typescript/native/NativeObjectDetection.d.ts +1 -1
  239. package/lib/typescript/native/NativeObjectDetection.d.ts.map +1 -1
  240. package/lib/typescript/native/NativeSpeechToText.d.ts +2 -2
  241. package/lib/typescript/native/NativeSpeechToText.d.ts.map +1 -1
  242. package/lib/typescript/native/NativeTextEmbeddings.d.ts +8 -0
  243. package/lib/typescript/native/NativeTextEmbeddings.d.ts.map +1 -0
  244. package/lib/typescript/native/NativeTokenizer.d.ts +12 -0
  245. package/lib/typescript/native/NativeTokenizer.d.ts.map +1 -0
  246. package/lib/typescript/native/RnExecutorchModules.d.ts +18 -41
  247. package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
  248. package/lib/typescript/types/common.d.ts +1 -26
  249. package/lib/typescript/types/common.d.ts.map +1 -1
  250. package/lib/typescript/types/imageSegmentation.d.ts +25 -0
  251. package/lib/typescript/types/imageSegmentation.d.ts.map +1 -0
  252. package/lib/typescript/types/llm.d.ts +38 -0
  253. package/lib/typescript/types/llm.d.ts.map +1 -0
  254. package/lib/typescript/types/{object_detection.d.ts → objectDetection.d.ts} +1 -1
  255. package/lib/typescript/types/objectDetection.d.ts.map +1 -0
  256. package/lib/typescript/types/ocr.d.ts +2 -1
  257. package/lib/typescript/types/ocr.d.ts.map +1 -1
  258. package/lib/typescript/types/stt.d.ts +91 -0
  259. package/lib/typescript/types/stt.d.ts.map +1 -0
  260. package/lib/typescript/utils/ResourceFetcher.d.ts +17 -0
  261. package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -0
  262. package/lib/typescript/utils/llm.d.ts +3 -0
  263. package/lib/typescript/utils/llm.d.ts.map +1 -0
  264. package/lib/typescript/utils/stt.d.ts +2 -0
  265. package/lib/typescript/utils/stt.d.ts.map +1 -0
  266. package/package.json +13 -49
  267. package/react-native-executorch.podspec +1 -1
  268. package/src/Error.ts +16 -3
  269. package/src/constants/llmDefaults.ts +14 -0
  270. package/src/constants/modelUrls.ts +146 -39
  271. package/src/constants/ocr/models.ts +453 -0
  272. package/src/constants/ocr/symbols.ts +147 -3
  273. package/src/constants/sttDefaults.ts +55 -37
  274. package/src/controllers/LLMController.ts +286 -0
  275. package/src/controllers/OCRController.ts +14 -28
  276. package/src/controllers/SpeechToTextController.ts +318 -180
  277. package/src/controllers/VerticalOCRController.ts +17 -32
  278. package/src/hooks/computer_vision/useClassification.ts +11 -26
  279. package/src/hooks/computer_vision/useImageSegmentation.ts +18 -0
  280. package/src/hooks/computer_vision/useOCR.ts +17 -5
  281. package/src/hooks/computer_vision/useObjectDetection.ts +10 -24
  282. package/src/hooks/computer_vision/useStyleTransfer.ts +9 -25
  283. package/src/hooks/computer_vision/useVerticalOCR.ts +11 -4
  284. package/src/hooks/general/useExecutorchModule.ts +10 -50
  285. package/src/hooks/natural_language_processing/useLLM.ts +80 -97
  286. package/src/hooks/natural_language_processing/useSpeechToText.ts +39 -12
  287. package/src/hooks/natural_language_processing/useTextEmbeddings.ts +18 -0
  288. package/src/hooks/natural_language_processing/useTokenizer.ts +61 -0
  289. package/src/hooks/useModule.ts +32 -92
  290. package/src/index.tsx +16 -2
  291. package/src/modules/BaseModule.ts +16 -26
  292. package/src/modules/computer_vision/ClassificationModule.ts +13 -8
  293. package/src/modules/computer_vision/ImageSegmentationModule.ts +39 -0
  294. package/src/modules/computer_vision/ObjectDetectionModule.ts +13 -8
  295. package/src/modules/computer_vision/StyleTransferModule.ts +13 -8
  296. package/src/modules/general/ExecutorchModule.ts +11 -6
  297. package/src/modules/natural_language_processing/LLMModule.ts +64 -51
  298. package/src/modules/natural_language_processing/SpeechToTextModule.ts +25 -10
  299. package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +18 -0
  300. package/src/modules/natural_language_processing/TokenizerModule.ts +34 -0
  301. package/src/native/NativeClassification.ts +0 -1
  302. package/src/native/NativeImageSegmentation.ts +14 -0
  303. package/src/native/NativeLLM.ts +3 -10
  304. package/src/native/NativeObjectDetection.ts +1 -1
  305. package/src/native/NativeSpeechToText.ts +2 -2
  306. package/src/native/NativeTextEmbeddings.ts +9 -0
  307. package/src/native/NativeTokenizer.ts +13 -0
  308. package/src/native/RnExecutorchModules.ts +54 -234
  309. package/src/types/common.ts +1 -44
  310. package/src/types/imageSegmentation.ts +25 -0
  311. package/src/types/llm.ts +57 -0
  312. package/src/types/ocr.ts +3 -1
  313. package/src/types/stt.ts +93 -0
  314. package/src/utils/ResourceFetcher.ts +196 -0
  315. package/src/utils/llm.ts +34 -0
  316. package/src/utils/stt.ts +28 -0
  317. package/android/src/main/java/com/swmansion/rnexecutorch/utils/llms/ConversationManager.kt +0 -68
  318. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/_CodeSignature/CodeResources +0 -124
  319. package/ios/RnExecutorch/utils/llms/Constants.h +0 -6
  320. package/ios/RnExecutorch/utils/llms/Constants.mm +0 -23
  321. package/ios/RnExecutorch/utils/llms/ConversationManager.h +0 -26
  322. package/ios/RnExecutorch/utils/llms/ConversationManager.mm +0 -71
  323. package/lib/module/constants/llamaDefaults.js.map +0 -1
  324. package/lib/module/modules/computer_vision/BaseCVModule.js +0 -14
  325. package/lib/module/modules/computer_vision/BaseCVModule.js.map +0 -1
  326. package/lib/module/types/object_detection.js.map +0 -1
  327. package/lib/module/utils/fetchResource.js +0 -93
  328. package/lib/module/utils/fetchResource.js.map +0 -1
  329. package/lib/module/utils/listDownloadedResources.js +0 -13
  330. package/lib/module/utils/listDownloadedResources.js.map +0 -1
  331. package/lib/typescript/constants/llamaDefaults.d.ts.map +0 -1
  332. package/lib/typescript/modules/computer_vision/BaseCVModule.d.ts +0 -9
  333. package/lib/typescript/modules/computer_vision/BaseCVModule.d.ts.map +0 -1
  334. package/lib/typescript/types/object_detection.d.ts.map +0 -1
  335. package/lib/typescript/utils/fetchResource.d.ts +0 -3
  336. package/lib/typescript/utils/fetchResource.d.ts.map +0 -1
  337. package/lib/typescript/utils/listDownloadedResources.d.ts +0 -3
  338. package/lib/typescript/utils/listDownloadedResources.d.ts.map +0 -1
  339. package/src/constants/llamaDefaults.ts +0 -9
  340. package/src/modules/computer_vision/BaseCVModule.ts +0 -22
  341. package/src/utils/fetchResource.ts +0 -106
  342. package/src/utils/listDownloadedResources.ts +0 -12
  343. /package/src/types/{object_detection.ts → objectDetection.ts} +0 -0
@@ -1,92 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  import { useEffect, useState } from 'react';
4
- import { fetchResource } from '../utils/fetchResource';
5
4
  import { ETError, getError } from '../Error';
6
- import { getTypeIdentifier } from '../types/common';
7
5
  export const useModule = ({
8
- modelSource,
9
- module
6
+ module,
7
+ loadArgs,
8
+ preventLoad = false
10
9
  }) => {
11
10
  const [error, setError] = useState(null);
12
11
  const [isReady, setIsReady] = useState(false);
13
12
  const [isGenerating, setIsGenerating] = useState(false);
14
13
  const [downloadProgress, setDownloadProgress] = useState(0);
15
14
  useEffect(() => {
16
- const loadModel = async () => {
17
- if (!modelSource) return;
15
+ const loadModule = async () => {
18
16
  try {
19
17
  setIsReady(false);
20
- const fileUri = await fetchResource(modelSource, setDownloadProgress);
21
- await module.loadModule(fileUri);
18
+ module.onDownloadProgress(setDownloadProgress);
19
+ await module.load(...loadArgs);
22
20
  setIsReady(true);
23
- } catch (e) {
24
- setError(getError(e));
21
+ } catch (err) {
22
+ setError(err.message);
25
23
  }
26
24
  };
27
- loadModel();
28
- }, [modelSource, module]);
29
- const forwardImage = async input => {
30
- if (!isReady) {
31
- throw new Error(getError(ETError.ModuleNotLoaded));
32
- }
33
- if (isGenerating) {
34
- throw new Error(getError(ETError.ModelGenerating));
35
- }
25
+ if (!preventLoad) {
26
+ loadModule();
27
+ }
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, [...loadArgs, preventLoad]);
30
+ const forward = async (...input) => {
31
+ if (!isReady) throw new Error(getError(ETError.ModuleNotLoaded));
32
+ if (isGenerating) throw new Error(getError(ETError.ModelGenerating));
36
33
  try {
37
34
  setIsGenerating(true);
38
- const output = await module.forward(input);
39
- return output;
40
- } catch (e) {
41
- throw new Error(getError(e));
35
+ return await module.forward(...input);
42
36
  } finally {
43
37
  setIsGenerating(false);
44
38
  }
45
39
  };
46
- const forwardETInput = async (input, shape) => {
47
- if (!isReady) {
48
- throw new Error(getError(ETError.ModuleNotLoaded));
49
- }
50
- if (isGenerating) {
51
- throw new Error(getError(ETError.ModelGenerating));
52
- }
53
-
54
- // Since the native module expects an array of inputs and an array of shapes,
55
- // if the user provides a single ETInput, we want to "unsqueeze" the array so
56
- // the data is properly processed on the native side
57
- if (!Array.isArray(input)) {
58
- input = [input];
59
- }
60
- if (!Array.isArray(shape[0])) {
61
- shape = [shape];
62
- }
63
- let inputTypeIdentifiers = [];
64
- let modelInputs = [];
65
- for (let idx = 0; idx < input.length; idx++) {
66
- let currentInputTypeIdentifier = getTypeIdentifier(input[idx]);
67
- if (currentInputTypeIdentifier === -1) {
68
- throw new Error(getError(ETError.InvalidArgument));
69
- }
70
- inputTypeIdentifiers.push(currentInputTypeIdentifier);
71
- modelInputs.push([...input[idx]]);
72
- }
73
- try {
74
- setIsGenerating(true);
75
- const output = await module.forward(modelInputs, shape, inputTypeIdentifiers);
76
- setIsGenerating(false);
77
- return output;
78
- } catch (e) {
79
- setIsGenerating(false);
80
- throw new Error(getError(e));
81
- }
82
- };
83
40
  return {
84
41
  error,
85
42
  isReady,
86
43
  isGenerating,
87
44
  downloadProgress,
88
- forwardETInput,
89
- forwardImage
45
+ forward
90
46
  };
91
47
  };
92
48
  //# sourceMappingURL=useModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","fetchResource","ETError","getError","getTypeIdentifier","useModule","modelSource","module","error","setError","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","loadModel","fileUri","loadModule","e","forwardImage","input","Error","ModuleNotLoaded","ModelGenerating","output","forward","forwardETInput","shape","Array","isArray","inputTypeIdentifiers","modelInputs","idx","length","currentInputTypeIdentifier","InvalidArgument","push"],"sourceRoot":"../../../src","sources":["hooks/useModule.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,OAAO,EAAEC,QAAQ,QAAQ,UAAU;AAG5C,SAASC,iBAAiB,QAAQ,iBAAiB;AAmBnD,OAAO,MAAMC,SAAS,GAAGA,CAAC;EAAEC,WAAW;EAAEC;AAAc,CAAC,KAAc;EACpE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGT,QAAQ,CAAgB,IAAI,CAAC;EACvD,MAAM,CAACU,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACY,YAAY,EAAEC,eAAe,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACc,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGf,QAAQ,CAAC,CAAC,CAAC;EAE3DD,SAAS,CAAC,MAAM;IACd,MAAMiB,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC5B,IAAI,CAACV,WAAW,EAAE;MAElB,IAAI;QACFK,UAAU,CAAC,KAAK,CAAC;QACjB,MAAMM,OAAO,GAAG,MAAMhB,aAAa,CAACK,WAAW,EAAES,mBAAmB,CAAC;QACrE,MAAMR,MAAM,CAACW,UAAU,CAACD,OAAO,CAAC;QAChCN,UAAU,CAAC,IAAI,CAAC;MAClB,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVV,QAAQ,CAACN,QAAQ,CAACgB,CAAC,CAAC,CAAC;MACvB;IACF,CAAC;IAEDH,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACV,WAAW,EAAEC,MAAM,CAAC,CAAC;EAEzB,MAAMa,YAAY,GAAG,MAAOC,KAAa,IAAK;IAC5C,IAAI,CAACX,OAAO,EAAE;MACZ,MAAM,IAAIY,KAAK,CAACnB,QAAQ,CAACD,OAAO,CAACqB,eAAe,CAAC,CAAC;IACpD;IACA,IAAIX,YAAY,EAAE;MAChB,MAAM,IAAIU,KAAK,CAACnB,QAAQ,CAACD,OAAO,CAACsB,eAAe,CAAC,CAAC;IACpD;IAEA,IAAI;MACFX,eAAe,CAAC,IAAI,CAAC;MACrB,MAAMY,MAAM,GAAG,MAAMlB,MAAM,CAACmB,OAAO,CAACL,KAAK,CAAC;MAC1C,OAAOI,MAAM;IACf,CAAC,CAAC,OAAON,CAAC,EAAE;MACV,MAAM,IAAIG,KAAK,CAACnB,QAAQ,CAACgB,CAAC,CAAC,CAAC;IAC9B,CAAC,SAAS;MACRN,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC;EAED,MAAMc,cAAc,GAAG,MAAAA,CACrBN,KAA0B,EAC1BO,KAA4B,KACzB;IACH,IAAI,CAAClB,OAAO,EAAE;MACZ,MAAM,IAAIY,KAAK,CAACnB,QAAQ,CAACD,OAAO,CAACqB,eAAe,CAAC,CAAC;IACpD;IACA,IAAIX,YAAY,EAAE;MAChB,MAAM,IAAIU,KAAK,CAACnB,QAAQ,CAACD,OAAO,CAACsB,eAAe,CAAC,CAAC;IACpD;;IAEA;IACA;IACA;IACA,IAAI,CAACK,KAAK,CAACC,OAAO,CAACT,KAAK,CAAC,EAAE;MACzBA,KAAK,GAAG,CAACA,KAAK,CAAC;IACjB;IAEA,IAAI,CAACQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;MAC5BA,KAAK,GAAG,CAACA,KAAK,CAAe;IAC/B;IAEA,IAAIG,oBAA2B,GAAG,EAAE;IACpC,IAAIC,WAAkB,GAAG,EAAE;IAE3B,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGZ,KAAK,CAACa,MAAM,EAAED,GAAG,EAAE,EAAE;MAC3C,IAAIE,0BAA0B,GAAG/B,iBAAiB,CAACiB,KAAK,CAACY,GAAG,CAAY,CAAC;MACzE,IAAIE,0BAA0B,KAAK,CAAC,CAAC,EAAE;QACrC,MAAM,IAAIb,KAAK,CAACnB,QAAQ,CAACD,OAAO,CAACkC,eAAe,CAAC,CAAC;MACpD;MACAL,oBAAoB,CAACM,IAAI,CAACF,0BAA0B,CAAC;MACrDH,WAAW,CAACK,IAAI,CAAC,CAAC,GAAIhB,KAAK,CAACY,GAAG,CAAa,CAAC,CAAC;IAChD;IAEA,IAAI;MACFpB,eAAe,CAAC,IAAI,CAAC;MACrB,MAAMY,MAAM,GAAG,MAAMlB,MAAM,CAACmB,OAAO,CACjCM,WAAW,EACXJ,KAAK,EACLG,oBACF,CAAC;MACDlB,eAAe,CAAC,KAAK,CAAC;MACtB,OAAOY,MAAM;IACf,CAAC,CAAC,OAAON,CAAC,EAAE;MACVN,eAAe,CAAC,KAAK,CAAC;MACtB,MAAM,IAAIS,KAAK,CAACnB,QAAQ,CAACgB,CAAC,CAAC,CAAC;IAC9B;EACF,CAAC;EAED,OAAO;IACLX,KAAK;IACLE,OAAO;IACPE,YAAY;IACZE,gBAAgB;IAChBa,cAAc;IACdP;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","ETError","getError","useModule","module","loadArgs","preventLoad","error","setError","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","loadModule","onDownloadProgress","load","err","message","forward","input","Error","ModuleNotLoaded","ModelGenerating"],"sourceRoot":"../../../src","sources":["hooks/useModule.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,OAAO,EAAEC,QAAQ,QAAQ,UAAU;AAQ5C,OAAO,MAAMC,SAAS,GAAGA,CAKvB;EACAC,MAAM;EACNC,QAAQ;EACRC,WAAW,GAAG;AAKhB,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAgB,IAAI,CAAC;EACvD,MAAM,CAACS,OAAO,EAAEC,UAAU,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACW,YAAY,EAAEC,eAAe,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACa,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGd,QAAQ,CAAC,CAAC,CAAC;EAE3DD,SAAS,CAAC,MAAM;IACd,MAAMgB,UAAU,GAAG,MAAAA,CAAA,KAAY;MAC7B,IAAI;QACFL,UAAU,CAAC,KAAK,CAAC;QACjBN,MAAM,CAACY,kBAAkB,CAACF,mBAAmB,CAAC;QAC9C,MAAMV,MAAM,CAACa,IAAI,CAAC,GAAGZ,QAAQ,CAAC;QAC9BK,UAAU,CAAC,IAAI,CAAC;MAClB,CAAC,CAAC,OAAOQ,GAAG,EAAE;QACZV,QAAQ,CAAEU,GAAG,CAAWC,OAAO,CAAC;MAClC;IACF,CAAC;IACD,IAAI,CAACb,WAAW,EAAE;MAChBS,UAAU,CAAC,CAAC;IACd;IACA;EACF,CAAC,EAAE,CAAC,GAAGV,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAE9B,MAAMc,OAAO,GAAG,MAAAA,CAAO,GAAGC,KAAkB,KAA6B;IACvE,IAAI,CAACZ,OAAO,EAAE,MAAM,IAAIa,KAAK,CAACpB,QAAQ,CAACD,OAAO,CAACsB,eAAe,CAAC,CAAC;IAChE,IAAIZ,YAAY,EAAE,MAAM,IAAIW,KAAK,CAACpB,QAAQ,CAACD,OAAO,CAACuB,eAAe,CAAC,CAAC;IACpE,IAAI;MACFZ,eAAe,CAAC,IAAI,CAAC;MACrB,OAAO,MAAMR,MAAM,CAACgB,OAAO,CAAC,GAAGC,KAAK,CAAC;IACvC,CAAC,SAAS;MACRT,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC;EAED,OAAO;IACLL,KAAK;IACLE,OAAO;IACPE,YAAY;IACZE,gBAAgB;IAChBO;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,32 +1,46 @@
1
1
  "use strict";
2
2
 
3
+ import { SpeechToTextLanguage } from './types/stt';
4
+
3
5
  // hooks
4
6
  export * from './hooks/computer_vision/useClassification';
5
7
  export * from './hooks/computer_vision/useObjectDetection';
6
8
  export * from './hooks/computer_vision/useStyleTransfer';
9
+ export * from './hooks/computer_vision/useImageSegmentation';
7
10
  export * from './hooks/computer_vision/useOCR';
8
11
  export * from './hooks/computer_vision/useVerticalOCR';
9
12
  export * from './hooks/natural_language_processing/useLLM';
10
13
  export * from './hooks/natural_language_processing/useSpeechToText';
14
+ export * from './hooks/natural_language_processing/useTextEmbeddings';
15
+ export * from './hooks/natural_language_processing/useTokenizer';
11
16
  export * from './hooks/general/useExecutorchModule';
12
17
 
13
18
  // modules
14
19
  export * from './modules/computer_vision/ClassificationModule';
15
20
  export * from './modules/computer_vision/ObjectDetectionModule';
16
21
  export * from './modules/computer_vision/StyleTransferModule';
22
+ export * from './modules/computer_vision/ImageSegmentationModule';
17
23
  export * from './modules/computer_vision/OCRModule';
18
24
  export * from './modules/computer_vision/VerticalOCRModule';
19
25
  export * from './modules/natural_language_processing/LLMModule';
20
26
  export * from './modules/natural_language_processing/SpeechToTextModule';
27
+ export * from './modules/natural_language_processing/TextEmbeddingsModule';
28
+ export * from './modules/natural_language_processing/TokenizerModule';
21
29
  export * from './modules/general/ExecutorchModule';
22
30
 
23
31
  // utils
24
- export * from './utils/listDownloadedResources';
32
+ export * from './utils/ResourceFetcher';
25
33
 
26
34
  // types
27
- export * from './types/object_detection';
35
+ export * from './types/objectDetection';
28
36
  export * from './types/ocr';
37
+ export * from './types/imageSegmentation';
38
+ export * from './types/llm';
39
+ export { SpeechToTextLanguage };
29
40
 
30
41
  // constants
31
42
  export * from './constants/modelUrls';
43
+ export * from './constants/ocr/models';
44
+ export * from './constants/llmDefaults';
45
+ export { STREAMING_ACTION, MODES } from './constants/sttDefaults';
32
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,2CAA2C;AACzD,cAAc,4CAA4C;AAC1D,cAAc,0CAA0C;AACxD,cAAc,gCAAgC;AAC9C,cAAc,wCAAwC;AAEtD,cAAc,4CAA4C;AAC1D,cAAc,qDAAqD;AAEnE,cAAc,qCAAqC;;AAEnD;AACA,cAAc,gDAAgD;AAC9D,cAAc,iDAAiD;AAC/D,cAAc,+CAA+C;AAC7D,cAAc,qCAAqC;AACnD,cAAc,6CAA6C;AAE3D,cAAc,iDAAiD;AAC/D,cAAc,0DAA0D;AAExE,cAAc,oCAAoC;;AAElD;AACA,cAAc,iCAAiC;;AAE/C;AACA,cAAc,0BAA0B;AACxC,cAAc,aAAa;;AAE3B;AACA,cAAc,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["SpeechToTextLanguage","STREAMING_ACTION","MODES"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,aAAa;;AAElD;AACA,cAAc,2CAA2C;AACzD,cAAc,4CAA4C;AAC1D,cAAc,0CAA0C;AACxD,cAAc,8CAA8C;AAC5D,cAAc,gCAAgC;AAC9C,cAAc,wCAAwC;AAEtD,cAAc,4CAA4C;AAC1D,cAAc,qDAAqD;AACnE,cAAc,uDAAuD;AACrE,cAAc,kDAAkD;AAEhE,cAAc,qCAAqC;;AAEnD;AACA,cAAc,gDAAgD;AAC9D,cAAc,iDAAiD;AAC/D,cAAc,+CAA+C;AAC7D,cAAc,mDAAmD;AACjE,cAAc,qCAAqC;AACnD,cAAc,6CAA6C;AAE3D,cAAc,iDAAiD;AAC/D,cAAc,0DAA0D;AACxE,cAAc,4DAA4D;AAC1E,cAAc,uDAAuD;AAErE,cAAc,oCAAoC;;AAElD;AACA,cAAc,yBAAyB;;AAEvC;AACA,cAAc,yBAAyB;AACvC,cAAc,aAAa;AAC3B,cAAc,2BAA2B;AACzC,cAAc,aAAa;AAC3B,SAASA,oBAAoB;;AAE7B;AACA,cAAc,uBAAuB;AACrC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,SAASC,gBAAgB,EAAEC,KAAK,QAAQ,yBAAyB","ignoreList":[]}
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
 
3
- import { fetchResource } from '../utils/fetchResource';
3
+ import { ResourceFetcher } from '../utils/ResourceFetcher';
4
4
  import { getError } from '../Error';
5
5
  export class BaseModule {
6
- static onDownloadProgressCallback = _downloadProgress => {};
7
- static async load(modelSource) {
8
- if (!modelSource) return;
6
+ static onDownloadProgressCallback = () => {};
7
+ static async load(...sources) {
9
8
  try {
10
- const fileUri = await fetchResource(modelSource, this.onDownloadProgressCallback);
11
- await this.module.loadModule(fileUri);
12
- } catch (e) {
13
- throw new Error(getError(e));
9
+ const paths = await ResourceFetcher.fetchMultipleResources(this.onDownloadProgressCallback, ...sources);
10
+ await this.nativeModule.loadModule(...paths);
11
+ } catch (error) {
12
+ throw new Error(getError(error));
14
13
  }
15
14
  }
16
- static async forward(..._) {
17
- throw new Error('The forward method is not implemented.');
15
+ static async forward(..._args) {
16
+ throw new Error('forward method is not implemented in the BaseModule class. Please implement it in the derived class.');
18
17
  }
19
18
  static onDownloadProgress(callback) {
20
19
  this.onDownloadProgressCallback = callback;
@@ -1 +1 @@
1
- {"version":3,"names":["fetchResource","getError","BaseModule","onDownloadProgressCallback","_downloadProgress","load","modelSource","fileUri","module","loadModule","e","Error","forward","_","onDownloadProgress","callback"],"sourceRoot":"../../../src","sources":["modules/BaseModule.ts"],"mappings":";;AAMA,SAASA,aAAa,QAAQ,wBAAwB;AAEtD,SAASC,QAAQ,QAAQ,UAAU;AAEnC,OAAO,MAAMC,UAAU,CAAC;EAOtB,OAAOC,0BAA0B,GAAIC,iBAAyB,IAAK,CAAC,CAAC;EAErE,aAAaC,IAAIA,CAACC,WAA2B,EAAE;IAC7C,IAAI,CAACA,WAAW,EAAE;IAElB,IAAI;MACF,MAAMC,OAAO,GAAG,MAAMP,aAAa,CACjCM,WAAW,EACX,IAAI,CAACH,0BACP,CAAC;MACD,MAAM,IAAI,CAACK,MAAM,CAACC,UAAU,CAACF,OAAO,CAAC;IACvC,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CAACV,QAAQ,CAACS,CAAC,CAAC,CAAC;IAC9B;EACF;EAEA,aAAaE,OAAOA,CAAC,GAAGC,CAAQ,EAAgB;IAC9C,MAAM,IAAIF,KAAK,CAAC,wCAAwC,CAAC;EAC3D;EAEA,OAAOG,kBAAkBA,CAACC,QAA4C,EAAE;IACtE,IAAI,CAACZ,0BAA0B,GAAGY,QAAQ;EAC5C;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ResourceFetcher","getError","BaseModule","onDownloadProgressCallback","load","sources","paths","fetchMultipleResources","nativeModule","loadModule","error","Error","forward","_args","onDownloadProgress","callback"],"sourceRoot":"../../../src","sources":["modules/BaseModule.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,QAAQ,QAAQ,UAAU;AAGnC,OAAO,MAAMC,UAAU,CAAC;EAEtB,OAAOC,0BAA0B,GAC/BA,CAAA,KAAM,CAAC,CAAC;EAEV,aAAaC,IAAIA,CAAC,GAAGC,OAAyB,EAAiB;IAC7D,IAAI;MACF,MAAMC,KAAK,GAAG,MAAMN,eAAe,CAACO,sBAAsB,CACxD,IAAI,CAACJ,0BAA0B,EAC/B,GAAGE,OACL,CAAC;MACD,MAAM,IAAI,CAACG,YAAY,CAACC,UAAU,CAAC,GAAGH,KAAK,CAAC;IAC9C,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAM,IAAIC,KAAK,CAACV,QAAQ,CAACS,KAAK,CAAC,CAAC;IAClC;EACF;EAEA,aAAuBE,OAAOA,CAAC,GAAGC,KAAY,EAAgB;IAC5D,MAAM,IAAIF,KAAK,CACb,sGACF,CAAC;EACH;EAEA,OAAOG,kBAAkBA,CAACC,QAA4C,EAAE;IACtE,IAAI,CAACZ,0BAA0B,GAAGY,QAAQ;EAC5C;AACF","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { BaseCVModule } from './BaseCVModule';
4
- import { _ClassificationModule } from '../../native/RnExecutorchModules';
5
- export class ClassificationModule extends BaseCVModule {
6
- static module = new _ClassificationModule();
3
+ import { ClassificationNativeModule } from '../../native/RnExecutorchModules';
4
+ import { BaseModule } from '../BaseModule';
5
+ export class ClassificationModule extends BaseModule {
6
+ static nativeModule = ClassificationNativeModule;
7
+ static async load(modelSource) {
8
+ await super.load(modelSource);
9
+ }
7
10
  static async forward(input) {
8
- return await super.forward(input);
11
+ return await this.nativeModule.forward(input);
9
12
  }
10
13
  }
11
14
  //# sourceMappingURL=ClassificationModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseCVModule","_ClassificationModule","ClassificationModule","module","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/ClassificationModule.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,qBAAqB,QAAQ,kCAAkC;AAExE,OAAO,MAAMC,oBAAoB,SAASF,YAAY,CAAC;EACrD,OAAOG,MAAM,GAAG,IAAIF,qBAAqB,CAAC,CAAC;EAE3C,aAAaG,OAAOA,CAACC,KAAa,EAAE;IAClC,OAAO,MAAO,KAAK,CAACD,OAAO,CAACC,KAAK,CAE/B;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ClassificationNativeModule","BaseModule","ClassificationModule","nativeModule","load","modelSource","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/ClassificationModule.ts"],"mappings":";;AAAA,SAASA,0BAA0B,QAAQ,kCAAkC;AAE7E,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,oBAAoB,SAASD,UAAU,CAAC;EACnD,OAA0BE,YAAY,GAAGH,0BAA0B;EAEnE,aAAsBI,IAAIA,CAACC,WAA2B,EAAE;IACtD,MAAM,KAAK,CAACD,IAAI,CAACC,WAAW,CAAC;EAC/B;EAEA,aAAsBC,OAAOA,CAC3BC,KAAa,EAC0C;IACvD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACG,OAAO,CAACC,KAAK,CAAC;EAC/C;AACF","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import { BaseModule } from '../BaseModule';
4
+ import { getError } from '../../Error';
5
+ import { DeeplabLabel } from '../../types/imageSegmentation';
6
+ import { ImageSegmentationNativeModule } from '../../native/RnExecutorchModules';
7
+ export class ImageSegmentationModule extends BaseModule {
8
+ static nativeModule = ImageSegmentationNativeModule;
9
+ static async load(modelSource) {
10
+ return await super.load(modelSource);
11
+ }
12
+ static async forward(input, classesOfInterest, resize) {
13
+ try {
14
+ const stringDict = await this.nativeModule.forward(input, (classesOfInterest || []).map(label => DeeplabLabel[label]), resize || false);
15
+ let enumDict = {};
16
+ for (const key in stringDict) {
17
+ if (key in DeeplabLabel) {
18
+ const enumKey = DeeplabLabel[key];
19
+ enumDict[enumKey] = stringDict[key];
20
+ }
21
+ }
22
+ return enumDict;
23
+ } catch (e) {
24
+ throw new Error(getError(e));
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=ImageSegmentationModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseModule","getError","DeeplabLabel","ImageSegmentationNativeModule","ImageSegmentationModule","nativeModule","load","modelSource","forward","input","classesOfInterest","resize","stringDict","map","label","enumDict","key","enumKey","e","Error"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/ImageSegmentationModule.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,YAAY,QAAQ,+BAA+B;AAE5D,SAASC,6BAA6B,QAAQ,kCAAkC;AAEhF,OAAO,MAAMC,uBAAuB,SAASJ,UAAU,CAAC;EACtD,OAA0BK,YAAY,GAAGF,6BAA6B;EAEtE,aAAsBG,IAAIA,CAACC,WAA2B,EAAE;IACtD,OAAO,MAAM,KAAK,CAACD,IAAI,CAACC,WAAW,CAAC;EACtC;EAEA,aAAsBC,OAAOA,CAC3BC,KAAa,EACbC,iBAAkC,EAClCC,MAAgB,EAChB;IACA,IAAI;MACF,MAAMC,UAAU,GAAG,MAAO,IAAI,CAACP,YAAY,CAACG,OAAO,CACjDC,KAAK,EACL,CAACC,iBAAiB,IAAI,EAAE,EAAEG,GAAG,CAAEC,KAAK,IAAKZ,YAAY,CAACY,KAAK,CAAC,CAAC,EAC7DH,MAAM,IAAI,KACZ,CAAuD;MAEvD,IAAII,QAA8C,GAAG,CAAC,CAAC;MAEvD,KAAK,MAAMC,GAAG,IAAIJ,UAAU,EAAE;QAC5B,IAAII,GAAG,IAAId,YAAY,EAAE;UACvB,MAAMe,OAAO,GAAGf,YAAY,CAACc,GAAG,CAA8B;UAC9DD,QAAQ,CAACE,OAAO,CAAC,GAAGL,UAAU,CAACI,GAAG,CAAC;QACrC;MACF;MACA,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CAAClB,QAAQ,CAACiB,CAAC,CAAC,CAAC;IAC9B;EACF;AACF","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { BaseCVModule } from './BaseCVModule';
4
- import { _ObjectDetectionModule } from '../../native/RnExecutorchModules';
5
- export class ObjectDetectionModule extends BaseCVModule {
6
- static module = new _ObjectDetectionModule();
3
+ import { ObjectDetectionNativeModule } from '../../native/RnExecutorchModules';
4
+ import { BaseModule } from '../BaseModule';
5
+ export class ObjectDetectionModule extends BaseModule {
6
+ static nativeModule = ObjectDetectionNativeModule;
7
+ static async load(modelSource) {
8
+ return await super.load(modelSource);
9
+ }
7
10
  static async forward(input) {
8
- return await super.forward(input);
11
+ return await this.nativeModule.forward(input);
9
12
  }
10
13
  }
11
14
  //# sourceMappingURL=ObjectDetectionModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseCVModule","_ObjectDetectionModule","ObjectDetectionModule","module","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/ObjectDetectionModule.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,sBAAsB,QAAQ,kCAAkC;AAEzE,OAAO,MAAMC,qBAAqB,SAASF,YAAY,CAAC;EACtD,OAAOG,MAAM,GAAG,IAAIF,sBAAsB,CAAC,CAAC;EAE5C,aAAaG,OAAOA,CAACC,KAAa,EAAE;IAClC,OAAO,MAAO,KAAK,CAACD,OAAO,CAACC,KAAK,CAE/B;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ObjectDetectionNativeModule","BaseModule","ObjectDetectionModule","nativeModule","load","modelSource","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/ObjectDetectionModule.ts"],"mappings":";;AAAA,SAASA,2BAA2B,QAAQ,kCAAkC;AAE9E,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,qBAAqB,SAASD,UAAU,CAAC;EACpD,OAA0BE,YAAY,GAAGH,2BAA2B;EAEpE,aAAsBI,IAAIA,CAACC,WAA2B,EAAE;IACtD,OAAO,MAAM,KAAK,CAACD,IAAI,CAACC,WAAW,CAAC;EACtC;EAEA,aAAsBC,OAAOA,CAC3BC,KAAa,EACiC;IAC9C,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACG,OAAO,CAACC,KAAK,CAAC;EAC/C;AACF","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { BaseCVModule } from './BaseCVModule';
4
- import { _StyleTransferModule } from '../../native/RnExecutorchModules';
5
- export class StyleTransferModule extends BaseCVModule {
6
- static module = new _StyleTransferModule();
3
+ import { StyleTransferNativeModule } from '../../native/RnExecutorchModules';
4
+ import { BaseModule } from '../BaseModule';
5
+ export class StyleTransferModule extends BaseModule {
6
+ static nativeModule = StyleTransferNativeModule;
7
+ static async load(modelSource) {
8
+ return await super.load(modelSource);
9
+ }
7
10
  static async forward(input) {
8
- return await super.forward(input);
11
+ return await this.nativeModule.forward(input);
9
12
  }
10
13
  }
11
14
  //# sourceMappingURL=StyleTransferModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseCVModule","_StyleTransferModule","StyleTransferModule","module","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/StyleTransferModule.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,kCAAkC;AAEvE,OAAO,MAAMC,mBAAmB,SAASF,YAAY,CAAC;EACpD,OAAOG,MAAM,GAAG,IAAIF,oBAAoB,CAAC,CAAC;EAE1C,aAAaG,OAAOA,CAACC,KAAa,EAAE;IAClC,OAAO,MAAO,KAAK,CAACD,OAAO,CAACC,KAAK,CAE/B;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["StyleTransferNativeModule","BaseModule","StyleTransferModule","nativeModule","load","modelSource","forward","input"],"sourceRoot":"../../../../src","sources":["modules/computer_vision/StyleTransferModule.ts"],"mappings":";;AAAA,SAASA,yBAAyB,QAAQ,kCAAkC;AAE5E,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,mBAAmB,SAASD,UAAU,CAAC;EAClD,OAA0BE,YAAY,GAAGH,yBAAyB;EAElE,aAAsBI,IAAIA,CAACC,WAA2B,EAAE;IACtD,OAAO,MAAM,KAAK,CAACD,IAAI,CAACC,WAAW,CAAC;EACtC;EAEA,aAAsBC,OAAOA,CAC3BC,KAAa,EACiC;IAC9C,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACG,OAAO,CAACC,KAAK,CAAC;EAC/C;AACF","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { BaseModule } from '../BaseModule';
4
3
  import { ETError, getError } from '../../Error';
5
- import { _ETModule } from '../../native/RnExecutorchModules';
4
+ import { ETModuleNativeModule } from '../../native/RnExecutorchModules';
6
5
  import { getTypeIdentifier } from '../../types/common';
6
+ import { BaseModule } from '../BaseModule';
7
7
  export class ExecutorchModule extends BaseModule {
8
- static module = new _ETModule();
8
+ static nativeModule = ETModuleNativeModule;
9
+ static async load(modelSource) {
10
+ return await super.load(modelSource);
11
+ }
9
12
  static async forward(input, shape) {
10
13
  if (!Array.isArray(input)) {
11
14
  input = [input];
@@ -21,14 +24,14 @@ export class ExecutorchModule extends BaseModule {
21
24
  modelInputs.push([...input[idx]]);
22
25
  }
23
26
  try {
24
- return await this.module.forward(modelInputs, shape, inputTypeIdentifiers);
27
+ return await this.nativeModule.forward(modelInputs, shape, inputTypeIdentifiers);
25
28
  } catch (e) {
26
29
  throw new Error(getError(e));
27
30
  }
28
31
  }
29
32
  static async loadMethod(methodName) {
30
33
  try {
31
- await this.module.loadMethod(methodName);
34
+ await this.nativeModule.loadMethod(methodName);
32
35
  } catch (e) {
33
36
  throw new Error(getError(e));
34
37
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseModule","ETError","getError","_ETModule","getTypeIdentifier","ExecutorchModule","module","forward","input","shape","Array","isArray","inputTypeIdentifiers","modelInputs","idx","length","currentInputTypeIdentifier","Error","InvalidArgument","push","e","loadMethod","methodName","loadForward"],"sourceRoot":"../../../../src","sources":["modules/general/ExecutorchModule.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,EAAEC,QAAQ,QAAQ,aAAa;AAC/C,SAASC,SAAS,QAAQ,kCAAkC;AAE5D,SAASC,iBAAiB,QAAQ,oBAAoB;AAEtD,OAAO,MAAMC,gBAAgB,SAASL,UAAU,CAAC;EAC/C,OAAOM,MAAM,GAAG,IAAIH,SAAS,CAAC,CAAC;EAE/B,aAAaI,OAAOA,CAACC,KAA0B,EAAEC,KAAiB,EAAE;IAClE,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACzBA,KAAK,GAAG,CAACA,KAAK,CAAC;IACjB;IAEA,IAAII,oBAAoB,GAAG,EAAE;IAC7B,IAAIC,WAAW,GAAG,EAAE;IAEpB,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGN,KAAK,CAACO,MAAM,EAAED,GAAG,EAAE,EAAE;MAC3C,IAAIE,0BAA0B,GAAGZ,iBAAiB,CAACI,KAAK,CAACM,GAAG,CAAY,CAAC;MACzE,IAAIE,0BAA0B,KAAK,CAAC,CAAC,EAAE;QACrC,MAAM,IAAIC,KAAK,CAACf,QAAQ,CAACD,OAAO,CAACiB,eAAe,CAAC,CAAC;MACpD;MACAN,oBAAoB,CAACO,IAAI,CAACH,0BAA0B,CAAC;MACrDH,WAAW,CAACM,IAAI,CAAC,CAAC,GAAIX,KAAK,CAACM,GAAG,CAAyB,CAAC,CAAC;IAC5D;IAEA,IAAI;MACF,OAAO,MAAM,IAAI,CAACR,MAAM,CAACC,OAAO,CAC9BM,WAAW,EACXJ,KAAK,EACLG,oBACF,CAAC;IACH,CAAC,CAAC,OAAOQ,CAAC,EAAE;MACV,MAAM,IAAIH,KAAK,CAACf,QAAQ,CAACkB,CAAC,CAAC,CAAC;IAC9B;EACF;EAEA,aAAaC,UAAUA,CAACC,UAAkB,EAAE;IAC1C,IAAI;MACF,MAAM,IAAI,CAAChB,MAAM,CAACe,UAAU,CAACC,UAAU,CAAC;IAC1C,CAAC,CAAC,OAAOF,CAAC,EAAE;MACV,MAAM,IAAIH,KAAK,CAACf,QAAQ,CAACkB,CAAC,CAAC,CAAC;IAC9B;EACF;EAEA,aAAaG,WAAWA,CAAA,EAAG;IACzB,MAAM,IAAI,CAACF,UAAU,CAAC,SAAS,CAAC;EAClC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ETError","getError","ETModuleNativeModule","getTypeIdentifier","BaseModule","ExecutorchModule","nativeModule","load","modelSource","forward","input","shape","Array","isArray","inputTypeIdentifiers","modelInputs","idx","length","currentInputTypeIdentifier","Error","InvalidArgument","push","e","loadMethod","methodName","loadForward"],"sourceRoot":"../../../../src","sources":["modules/general/ExecutorchModule.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,aAAa;AAC/C,SAASC,oBAAoB,QAAQ,kCAAkC;AAGvE,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,gBAAgB,SAASD,UAAU,CAAC;EAC/C,OAA0BE,YAAY,GAAGJ,oBAAoB;EAE7D,aAAsBK,IAAIA,CAACC,WAA2B,EAAE;IACtD,OAAO,MAAM,KAAK,CAACD,IAAI,CAACC,WAAW,CAAC;EACtC;EAEA,aAAsBC,OAAOA,CAACC,KAA0B,EAAEC,KAAiB,EAAE;IAC3E,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACzBA,KAAK,GAAG,CAACA,KAAK,CAAC;IACjB;IAEA,IAAII,oBAAoB,GAAG,EAAE;IAC7B,IAAIC,WAAW,GAAG,EAAE;IAEpB,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGN,KAAK,CAACO,MAAM,EAAED,GAAG,EAAE,EAAE;MAC3C,IAAIE,0BAA0B,GAAGf,iBAAiB,CAACO,KAAK,CAACM,GAAG,CAAY,CAAC;MACzE,IAAIE,0BAA0B,KAAK,CAAC,CAAC,EAAE;QACrC,MAAM,IAAIC,KAAK,CAAClB,QAAQ,CAACD,OAAO,CAACoB,eAAe,CAAC,CAAC;MACpD;MACAN,oBAAoB,CAACO,IAAI,CAACH,0BAA0B,CAAC;MACrDH,WAAW,CAACM,IAAI,CAAC,CAAC,GAAIX,KAAK,CAACM,GAAG,CAAyB,CAAC,CAAC;IAC5D;IAEA,IAAI;MACF,OAAO,MAAM,IAAI,CAACV,YAAY,CAACG,OAAO,CACpCM,WAAW,EACXJ,KAAK,EACLG,oBACF,CAAC;IACH,CAAC,CAAC,OAAOQ,CAAC,EAAE;MACV,MAAM,IAAIH,KAAK,CAAClB,QAAQ,CAACqB,CAAC,CAAC,CAAC;IAC9B;EACF;EAEA,aAAaC,UAAUA,CAACC,UAAkB,EAAE;IAC1C,IAAI;MACF,MAAM,IAAI,CAAClB,YAAY,CAACiB,UAAU,CAACC,UAAU,CAAC;IAChD,CAAC,CAAC,OAAOF,CAAC,EAAE;MACV,MAAM,IAAIH,KAAK,CAAClB,QAAQ,CAACqB,CAAC,CAAC,CAAC;IAC9B;EACF;EAEA,aAAaG,WAAWA,CAAA,EAAG;IACzB,MAAM,IAAI,CAACF,UAAU,CAAC,SAAS,CAAC;EAClC;AACF","ignoreList":[]}
@@ -1,37 +1,56 @@
1
1
  "use strict";
2
2
 
3
- import { LLM } from '../../native/RnExecutorchModules';
4
- import { fetchResource } from '../../utils/fetchResource';
5
- import { DEFAULT_CONTEXT_WINDOW_LENGTH, DEFAULT_MESSAGE_HISTORY, DEFAULT_SYSTEM_PROMPT } from '../../constants/llamaDefaults';
3
+ import { LLMController } from '../../controllers/LLMController';
6
4
  export class LLMModule {
7
- static onDownloadProgressCallback = _downloadProgress => {};
8
- static async load(modelSource, tokenizerSource, systemPrompt = DEFAULT_SYSTEM_PROMPT, messageHistory = DEFAULT_MESSAGE_HISTORY, contextWindowLength = DEFAULT_CONTEXT_WINDOW_LENGTH) {
9
- try {
10
- const tokenizerFileUri = await fetchResource(tokenizerSource);
11
- const modelFileUri = await fetchResource(modelSource, this.onDownloadProgressCallback);
12
- await LLM.loadLLM(modelFileUri, tokenizerFileUri, systemPrompt, messageHistory, contextWindowLength);
13
- } catch (err) {
14
- throw new Error(err.message);
15
- }
16
- }
17
- static async generate(input) {
18
- try {
19
- await LLM.runInference(input);
20
- } catch (err) {
21
- throw new Error(err.message);
22
- }
23
- }
24
- static onDownloadProgress(callback) {
25
- this.onDownloadProgressCallback = callback;
26
- }
27
- static onToken(callback) {
28
- return LLM.onToken(callback);
5
+ static async load({
6
+ modelSource,
7
+ tokenizerSource,
8
+ tokenizerConfigSource,
9
+ onDownloadProgressCallback,
10
+ responseCallback,
11
+ messageHistoryCallback
12
+ }) {
13
+ this.controller = new LLMController({
14
+ responseCallback: responseCallback,
15
+ messageHistoryCallback: messageHistoryCallback,
16
+ onDownloadProgressCallback: onDownloadProgressCallback
17
+ });
18
+ await this.controller.load({
19
+ modelSource,
20
+ tokenizerSource,
21
+ tokenizerConfigSource
22
+ });
23
+ }
24
+ static configure({
25
+ chatConfig,
26
+ toolsConfig
27
+ }) {
28
+ this.controller.configure({
29
+ chatConfig,
30
+ toolsConfig
31
+ });
32
+ }
33
+ static async forward(input) {
34
+ await this.controller.forward(input);
35
+ return this.controller.response;
36
+ }
37
+ static async generate(messages, tools) {
38
+ await this.controller.generate(messages, tools);
39
+ return this.controller.response;
40
+ }
41
+ static async sendMessage(message) {
42
+ await this.controller.sendMessage(message);
43
+ return this.controller.messageHistory;
44
+ }
45
+ static async deleteMessage(index) {
46
+ await this.controller.deleteMessage(index);
47
+ return this.controller.messageHistory;
29
48
  }
30
49
  static interrupt() {
31
- LLM.interrupt();
50
+ this.controller.interrupt();
32
51
  }
33
52
  static delete() {
34
- LLM.deleteModule();
53
+ this.controller.delete();
35
54
  }
36
55
  }
37
56
  //# sourceMappingURL=LLMModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LLM","fetchResource","DEFAULT_CONTEXT_WINDOW_LENGTH","DEFAULT_MESSAGE_HISTORY","DEFAULT_SYSTEM_PROMPT","LLMModule","onDownloadProgressCallback","_downloadProgress","load","modelSource","tokenizerSource","systemPrompt","messageHistory","contextWindowLength","tokenizerFileUri","modelFileUri","loadLLM","err","Error","message","generate","input","runInference","onDownloadProgress","callback","onToken","interrupt","delete","deleteModule"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/LLMModule.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,kCAAkC;AACtD,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SACEC,6BAA6B,EAC7BC,uBAAuB,EACvBC,qBAAqB,QAChB,+BAA+B;AAGtC,OAAO,MAAMC,SAAS,CAAC;EACrB,OAAOC,0BAA0B,GAAIC,iBAAyB,IAAK,CAAC,CAAC;EAErE,aAAaC,IAAIA,CACfC,WAA2B,EAC3BC,eAA+B,EAC/BC,YAAY,GAAGP,qBAAqB,EACpCQ,cAAc,GAAGT,uBAAuB,EACxCU,mBAAmB,GAAGX,6BAA6B,EACnD;IACA,IAAI;MACF,MAAMY,gBAAgB,GAAG,MAAMb,aAAa,CAACS,eAAe,CAAC;MAC7D,MAAMK,YAAY,GAAG,MAAMd,aAAa,CACtCQ,WAAW,EACX,IAAI,CAACH,0BACP,CAAC;MAED,MAAMN,GAAG,CAACgB,OAAO,CACfD,YAAY,EACZD,gBAAgB,EAChBH,YAAY,EACZC,cAAc,EACdC,mBACF,CAAC;IACH,CAAC,CAAC,OAAOI,GAAG,EAAE;MACZ,MAAM,IAAIC,KAAK,CAAED,GAAG,CAAWE,OAAO,CAAC;IACzC;EACF;EAEA,aAAaC,QAAQA,CAACC,KAAa,EAAE;IACnC,IAAI;MACF,MAAMrB,GAAG,CAACsB,YAAY,CAACD,KAAK,CAAC;IAC/B,CAAC,CAAC,OAAOJ,GAAG,EAAE;MACZ,MAAM,IAAIC,KAAK,CAAED,GAAG,CAAWE,OAAO,CAAC;IACzC;EACF;EAEA,OAAOI,kBAAkBA,CAACC,QAA4C,EAAE;IACtE,IAAI,CAAClB,0BAA0B,GAAGkB,QAAQ;EAC5C;EAEA,OAAOC,OAAOA,CAACD,QAA4C,EAAE;IAC3D,OAAOxB,GAAG,CAACyB,OAAO,CAACD,QAAQ,CAAC;EAC9B;EAEA,OAAOE,SAASA,CAAA,EAAG;IACjB1B,GAAG,CAAC0B,SAAS,CAAC,CAAC;EACjB;EAEA,OAAOC,MAAMA,CAAA,EAAG;IACd3B,GAAG,CAAC4B,YAAY,CAAC,CAAC;EACpB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["LLMController","LLMModule","load","modelSource","tokenizerSource","tokenizerConfigSource","onDownloadProgressCallback","responseCallback","messageHistoryCallback","controller","configure","chatConfig","toolsConfig","forward","input","response","generate","messages","tools","sendMessage","message","messageHistory","deleteMessage","index","interrupt","delete"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/LLMModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iCAAiC;AAI/D,OAAO,MAAMC,SAAS,CAAC;EAGrB,aAAaC,IAAIA,CAAC;IAChBC,WAAW;IACXC,eAAe;IACfC,qBAAqB;IACrBC,0BAA0B;IAC1BC,gBAAgB;IAChBC;EAQF,CAAC,EAAE;IACD,IAAI,CAACC,UAAU,GAAG,IAAIT,aAAa,CAAC;MAClCO,gBAAgB,EAAEA,gBAAgB;MAClCC,sBAAsB,EAAEA,sBAAsB;MAC9CF,0BAA0B,EAAEA;IAC9B,CAAC,CAAC;IACF,MAAM,IAAI,CAACG,UAAU,CAACP,IAAI,CAAC;MACzBC,WAAW;MACXC,eAAe;MACfC;IACF,CAAC,CAAC;EACJ;EAEA,OAAOK,SAASA,CAAC;IACfC,UAAU;IACVC;EAIF,CAAC,EAAE;IACD,IAAI,CAACH,UAAU,CAACC,SAAS,CAAC;MAAEC,UAAU;MAAEC;IAAY,CAAC,CAAC;EACxD;EAEA,aAAaC,OAAOA,CAACC,KAAa,EAAmB;IACnD,MAAM,IAAI,CAACL,UAAU,CAACI,OAAO,CAACC,KAAK,CAAC;IACpC,OAAO,IAAI,CAACL,UAAU,CAACM,QAAQ;EACjC;EAEA,aAAaC,QAAQA,CACnBC,QAAmB,EACnBC,KAAiB,EACA;IACjB,MAAM,IAAI,CAACT,UAAU,CAACO,QAAQ,CAACC,QAAQ,EAAEC,KAAK,CAAC;IAC/C,OAAO,IAAI,CAACT,UAAU,CAACM,QAAQ;EACjC;EAEA,aAAaI,WAAWA,CAACC,OAAe,EAAsB;IAC5D,MAAM,IAAI,CAACX,UAAU,CAACU,WAAW,CAACC,OAAO,CAAC;IAC1C,OAAO,IAAI,CAACX,UAAU,CAACY,cAAc;EACvC;EAEA,aAAaC,aAAaA,CAACC,KAAa,EAAsB;IAC5D,MAAM,IAAI,CAACd,UAAU,CAACa,aAAa,CAACC,KAAK,CAAC;IAC1C,OAAO,IAAI,CAACd,UAAU,CAACY,cAAc;EACvC;EAEA,OAAOG,SAASA,CAAA,EAAG;IACjB,IAAI,CAACf,UAAU,CAACe,SAAS,CAAC,CAAC;EAC7B;EAEA,OAAOC,MAAMA,CAAA,EAAG;IACd,IAAI,CAAChB,UAAU,CAACgB,MAAM,CAAC,CAAC;EAC1B;AACF","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  import { SpeechToTextController } from '../../controllers/SpeechToTextController';
4
4
  export class SpeechToText {
5
5
  static onDownloadProgressCallback = _downloadProgress => {};
6
- static async load(modelName, transcribeCallback, modelDownloadProgessCallback, encoderSource, decoderSource, tokenizerSource, overlapSeconds, windowSize, streamingConfig) {
6
+ static async load(modelName, transcribeCallback, modelDownloadProgressCallback, encoderSource, decoderSource, tokenizerSource, overlapSeconds, windowSize, streamingConfig) {
7
7
  this.module = new SpeechToTextController({
8
8
  transcribeCallback: transcribeCallback,
9
- modelDownloadProgessCallback: modelDownloadProgessCallback,
9
+ modelDownloadProgressCallback: modelDownloadProgressCallback,
10
10
  overlapSeconds: overlapSeconds,
11
11
  windowSize: windowSize,
12
12
  streamingConfig: streamingConfig
@@ -16,14 +16,17 @@ export class SpeechToText {
16
16
  static configureStreaming(overlapSeconds, windowSize, streamingConfig) {
17
17
  this.module?.configureStreaming(overlapSeconds, windowSize, streamingConfig);
18
18
  }
19
- static async transcribe(waveform) {
20
- return await this.module.transcribe(waveform);
21
- }
22
19
  static async encode(waveform) {
23
20
  return await this.module.encode(waveform);
24
21
  }
25
22
  static async decode(seq, encodings) {
26
23
  return await this.module.decode(seq, encodings);
27
24
  }
25
+ static async transcribe(waveform, audioLanguage) {
26
+ return await this.module.transcribe(waveform, audioLanguage);
27
+ }
28
+ static async streamingTranscribe(streamAction, waveform, audioLanguage) {
29
+ return await this.module.streamingTranscribe(streamAction, waveform, audioLanguage);
30
+ }
28
31
  }
29
32
  //# sourceMappingURL=SpeechToTextModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SpeechToTextController","SpeechToText","onDownloadProgressCallback","_downloadProgress","load","modelName","transcribeCallback","modelDownloadProgessCallback","encoderSource","decoderSource","tokenizerSource","overlapSeconds","windowSize","streamingConfig","module","loadModel","configureStreaming","transcribe","waveform","encode","decode","seq","encodings"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/SpeechToTextModule.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,0CAA0C;AAEjF,OAAO,MAAMC,YAAY,CAAC;EAGxB,OAAOC,0BAA0B,GAAIC,iBAAyB,IAAK,CAAC,CAAC;EAErE,aAAaC,IAAIA,CACfC,SAAkC,EAClCC,kBAA8C,EAC9CC,4BAAiE,EACjEC,aAA8B,EAC9BC,aAA8B,EAC9BC,eAAgC,EAChCC,cAEwB,EACxBC,UAEoB,EACpBC,eAEyB,EACzB;IACA,IAAI,CAACC,MAAM,GAAG,IAAId,sBAAsB,CAAC;MACvCM,kBAAkB,EAAEA,kBAAkB;MACtCC,4BAA4B,EAAEA,4BAA4B;MAC1DI,cAAc,EAAEA,cAAc;MAC9BC,UAAU,EAAEA,UAAU;MACtBC,eAAe,EAAEA;IACnB,CAAC,CAAC;IACF,MAAM,IAAI,CAACC,MAAM,CAACC,SAAS,CACxBV,SAAS,GAAGA,SAAS,EACrBG,aAAa,GAAGA,aAAa,EAC7BC,aAAa,GAAGA,aAAa,EAC7BC,eAAe,GAAGA,eACrB,CAAC;EACH;EAEA,OAAOM,kBAAkBA,CACvBL,cAA2E,EAC3EC,UAAuE,EACvEC,eAA4E,EAC5E;IACA,IAAI,CAACC,MAAM,EAAEE,kBAAkB,CAC7BL,cAAc,EACdC,UAAU,EACVC,eACF,CAAC;EACH;EAEA,aAAaI,UAAUA,CACrBC,QAAkB,EACgC;IAClD,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACG,UAAU,CAACC,QAAQ,CAAC;EAC/C;EAEA,aAAaC,MAAMA,CAACD,QAAkB,EAAE;IACtC,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACK,MAAM,CAACD,QAAQ,CAAC;EAC3C;EAEA,aAAaE,MAAMA,CAACC,GAAa,EAAEC,SAAoB,EAAE;IACvD,OAAO,MAAM,IAAI,CAACR,MAAM,CAACM,MAAM,CAACC,GAAG,EAAEC,SAAS,CAAC;EACjD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["SpeechToTextController","SpeechToText","onDownloadProgressCallback","_downloadProgress","load","modelName","transcribeCallback","modelDownloadProgressCallback","encoderSource","decoderSource","tokenizerSource","overlapSeconds","windowSize","streamingConfig","module","loadModel","configureStreaming","encode","waveform","decode","seq","encodings","transcribe","audioLanguage","streamingTranscribe","streamAction"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/SpeechToTextModule.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,0CAA0C;AAIjF,OAAO,MAAMC,YAAY,CAAC;EAGxB,OAAOC,0BAA0B,GAAIC,iBAAyB,IAAK,CAAC,CAAC;EAErE,aAAaC,IAAIA,CACfC,SAA0B,EAC1BC,kBAA8C,EAC9CC,6BAAkE,EAClEC,aAA8B,EAC9BC,aAA8B,EAC9BC,eAAgC,EAChCC,cAEwB,EACxBC,UAEoB,EACpBC,eAEyB,EACzB;IACA,IAAI,CAACC,MAAM,GAAG,IAAId,sBAAsB,CAAC;MACvCM,kBAAkB,EAAEA,kBAAkB;MACtCC,6BAA6B,EAAEA,6BAA6B;MAC5DI,cAAc,EAAEA,cAAc;MAC9BC,UAAU,EAAEA,UAAU;MACtBC,eAAe,EAAEA;IACnB,CAAC,CAAC;IACF,MAAM,IAAI,CAACC,MAAM,CAACC,SAAS,CACxBV,SAAS,GAAGA,SAAS,EACrBG,aAAa,GAAGA,aAAa,EAC7BC,aAAa,GAAGA,aAAa,EAC7BC,eAAe,GAAGA,eACrB,CAAC;EACH;EAEA,OAAOM,kBAAkBA,CACvBL,cAA2E,EAC3EC,UAAuE,EACvEC,eAA4E,EAC5E;IACA,IAAI,CAACC,MAAM,EAAEE,kBAAkB,CAC7BL,cAAc,EACdC,UAAU,EACVC,eACF,CAAC;EACH;EAEA,aAAaI,MAAMA,CAACC,QAAkB,EAAE;IACtC,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACG,MAAM,CAACC,QAAQ,CAAC;EAC3C;EAEA,aAAaC,MAAMA,CAACC,GAAa,EAAEC,SAAmB,EAAE;IACtD,OAAO,MAAM,IAAI,CAACP,MAAM,CAACK,MAAM,CAACC,GAAG,EAAEC,SAAS,CAAC;EACjD;EAEA,aAAaC,UAAUA,CACrBJ,QAAkB,EAClBK,aAAoC,EACc;IAClD,OAAO,MAAM,IAAI,CAACT,MAAM,CAACQ,UAAU,CAACJ,QAAQ,EAAEK,aAAa,CAAC;EAC9D;EAEA,aAAaC,mBAAmBA,CAC9BC,YAA8B,EAC9BP,QAAmB,EACnBK,aAAoC,EACuB;IAC3D,OAAO,MAAM,IAAI,CAACT,MAAM,CAACU,mBAAmB,CAC1CC,YAAY,EACZP,QAAQ,EACRK,aACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { TextEmbeddingsNativeModule } from '../../native/RnExecutorchModules';
4
+ import { BaseModule } from '../BaseModule';
5
+ export class TextEmbeddingsModule extends BaseModule {
6
+ static nativeModule = TextEmbeddingsNativeModule;
7
+ static async load(modelSource, tokenizerSource) {
8
+ await super.load(modelSource, tokenizerSource);
9
+ }
10
+ static async forward(input) {
11
+ return this.nativeModule.forward(input);
12
+ }
13
+ }
14
+ //# sourceMappingURL=TextEmbeddingsModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextEmbeddingsNativeModule","BaseModule","TextEmbeddingsModule","nativeModule","load","modelSource","tokenizerSource","forward","input"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/TextEmbeddingsModule.ts"],"mappings":";;AAAA,SAASA,0BAA0B,QAAQ,kCAAkC;AAE7E,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,oBAAoB,SAASD,UAAU,CAAC;EACnD,OAA0BE,YAAY,GAAGH,0BAA0B;EAEnE,aAAsBI,IAAIA,CACxBC,WAA2B,EAC3BC,eAA+B,EAC/B;IACA,MAAM,KAAK,CAACF,IAAI,CAACC,WAAW,EAAEC,eAAe,CAAC;EAChD;EAEA,aAAsBC,OAAOA,CAACC,KAAa,EAAqB;IAC9D,OAAO,IAAI,CAACL,YAAY,CAACI,OAAO,CAACC,KAAK,CAAC;EACzC;AACF","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ import { TokenizerNativeModule } from '../../native/RnExecutorchModules';
4
+ import { BaseModule } from '../BaseModule';
5
+ export class TokenizerModule extends BaseModule {
6
+ static nativeModule = TokenizerNativeModule;
7
+ static async load(tokenizerSource) {
8
+ await super.load(tokenizerSource);
9
+ }
10
+ static async decode(input, skipSpecialTokens = false) {
11
+ return await this.nativeModule.decode(input, skipSpecialTokens);
12
+ }
13
+ static async encode(input) {
14
+ return await this.nativeModule.encode(input);
15
+ }
16
+ static async getVocabSize() {
17
+ return await this.nativeModule.getVocabSize();
18
+ }
19
+ static async idToToken(tokenId) {
20
+ return await this.nativeModule.idToToken(tokenId);
21
+ }
22
+ static async tokenToId(token) {
23
+ return await this.nativeModule.tokenToId(token);
24
+ }
25
+ }
26
+ //# sourceMappingURL=TokenizerModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TokenizerNativeModule","BaseModule","TokenizerModule","nativeModule","load","tokenizerSource","decode","input","skipSpecialTokens","encode","getVocabSize","idToToken","tokenId","tokenToId","token"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/TokenizerModule.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,kCAAkC;AAExE,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,MAAMC,eAAe,SAASD,UAAU,CAAC;EAC9C,OAA0BE,YAAY,GAAGH,qBAAqB;EAE9D,aAAsBI,IAAIA,CAACC,eAA+B,EAAE;IAC1D,MAAM,KAAK,CAACD,IAAI,CAACC,eAAe,CAAC;EACnC;EAEA,aAAaC,MAAMA,CACjBC,KAAe,EACfC,iBAAiB,GAAG,KAAK,EACR;IACjB,OAAO,MAAM,IAAI,CAACL,YAAY,CAACG,MAAM,CAACC,KAAK,EAAEC,iBAAiB,CAAC;EACjE;EAEA,aAAaC,MAAMA,CAACF,KAAa,EAAqB;IACpD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACM,MAAM,CAACF,KAAK,CAAC;EAC9C;EAEA,aAAaG,YAAYA,CAAA,EAAoB;IAC3C,OAAO,MAAM,IAAI,CAACP,YAAY,CAACO,YAAY,CAAC,CAAC;EAC/C;EAEA,aAAaC,SAASA,CAACC,OAAe,EAAmB;IACvD,OAAO,MAAM,IAAI,CAACT,YAAY,CAACQ,SAAS,CAACC,OAAO,CAAC;EACnD;EAEA,aAAaC,SAASA,CAACC,KAAa,EAAmB;IACrD,OAAO,MAAM,IAAI,CAACX,YAAY,CAACU,SAAS,CAACC,KAAK,CAAC;EACjD;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["native/NativeClassification.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAQlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["native/NativeClassification.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAOlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.get('ImageSegmentation');
5
+ //# sourceMappingURL=NativeImageSegmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["native/NativeImageSegmentation.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAYlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,mBAAmB,CAAC","ignoreList":[]}