cui-llama.rn 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +35 -7
  2. package/android/src/main/CMakeLists.txt +22 -11
  3. package/android/src/main/java/com/rnllama/LlamaContext.java +42 -6
  4. package/android/src/main/java/com/rnllama/RNLlama.java +139 -4
  5. package/android/src/main/jni.cpp +173 -18
  6. package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
  11. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
  12. package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
  13. package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
  14. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +24 -4
  15. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +22 -2
  16. package/cpp/LICENSE +21 -0
  17. package/cpp/chat.cpp +129 -107
  18. package/cpp/chat.h +2 -0
  19. package/cpp/common.cpp +58 -78
  20. package/cpp/common.h +29 -21
  21. package/cpp/ggml-alloc.c +4 -1
  22. package/cpp/ggml-backend.cpp +9 -5
  23. package/cpp/ggml-backend.h +4 -4
  24. package/cpp/ggml-cpp.h +1 -1
  25. package/cpp/ggml-cpu/amx/amx.cpp +221 -0
  26. package/cpp/ggml-cpu/amx/amx.h +8 -0
  27. package/cpp/ggml-cpu/amx/common.h +91 -0
  28. package/cpp/ggml-cpu/amx/mmq.cpp +2511 -0
  29. package/cpp/ggml-cpu/amx/mmq.h +10 -0
  30. package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/binary-ops.h +1 -1
  31. package/cpp/ggml-cpu/common.h +72 -0
  32. package/cpp/{ggml-cpu-aarch64.cpp → ggml-cpu/ggml-cpu-aarch64.cpp} +809 -103
  33. package/cpp/{ggml-cpu-quants.c → ggml-cpu/ggml-cpu-quants.c} +306 -6
  34. package/cpp/{ggml-cpu.c → ggml-cpu/ggml-cpu.c} +114 -55
  35. package/cpp/{ggml-cpu.cpp → ggml-cpu/ggml-cpu.cpp} +32 -16
  36. package/cpp/{ops.cpp → ggml-cpu/ops.cpp} +353 -173
  37. package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/ops.h +2 -20
  38. package/cpp/{sgemm.cpp → ggml-cpu/sgemm.cpp} +501 -0
  39. package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/simd-mappings.h +7 -3
  40. package/{ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers → cpp/ggml-cpu}/unary-ops.h +1 -1
  41. package/cpp/{vec.cpp → ggml-cpu/vec.cpp} +0 -6
  42. package/{ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers → cpp/ggml-cpu}/vec.h +16 -0
  43. package/cpp/ggml-cpu.h +5 -0
  44. package/cpp/ggml-impl.h +16 -9
  45. package/cpp/ggml-llama-sim.metallib +0 -0
  46. package/cpp/ggml-llama.metallib +0 -0
  47. package/cpp/ggml-metal-impl.h +36 -11
  48. package/cpp/ggml-metal.m +810 -176
  49. package/cpp/ggml-opt.cpp +373 -190
  50. package/cpp/ggml-opt.h +49 -28
  51. package/cpp/ggml-quants.c +0 -6
  52. package/cpp/ggml.c +227 -282
  53. package/cpp/ggml.h +82 -101
  54. package/cpp/gguf.cpp +33 -33
  55. package/cpp/json-schema-to-grammar.cpp +3 -0
  56. package/cpp/llama-adapter.cpp +6 -0
  57. package/cpp/llama-arch.cpp +49 -17
  58. package/cpp/llama-arch.h +9 -0
  59. package/cpp/llama-batch.cpp +8 -2
  60. package/cpp/llama-batch.h +2 -1
  61. package/cpp/llama-chat.cpp +39 -16
  62. package/cpp/llama-chat.h +4 -2
  63. package/cpp/llama-context.cpp +440 -611
  64. package/cpp/llama-context.h +44 -33
  65. package/cpp/llama-cparams.h +1 -0
  66. package/cpp/llama-graph.cpp +214 -291
  67. package/cpp/llama-graph.h +69 -21
  68. package/cpp/llama-hparams.cpp +17 -1
  69. package/cpp/llama-hparams.h +39 -5
  70. package/cpp/llama-kv-cache.cpp +2067 -620
  71. package/cpp/llama-kv-cache.h +410 -108
  72. package/cpp/llama-memory.h +12 -1
  73. package/cpp/llama-model-loader.cpp +24 -15
  74. package/cpp/llama-model-saver.cpp +281 -0
  75. package/cpp/llama-model-saver.h +37 -0
  76. package/cpp/llama-model.cpp +1089 -359
  77. package/cpp/llama-model.h +19 -3
  78. package/cpp/llama-sampling.cpp +20 -7
  79. package/cpp/llama-vocab.cpp +54 -9
  80. package/cpp/llama-vocab.h +6 -0
  81. package/cpp/llama.cpp +14 -0
  82. package/cpp/llama.h +86 -142
  83. package/cpp/minja/chat-template.hpp +9 -5
  84. package/cpp/minja/minja.hpp +69 -36
  85. package/cpp/rn-llama.cpp +602 -190
  86. package/cpp/rn-llama.h +34 -8
  87. package/cpp/sampling.cpp +57 -50
  88. package/cpp/tools/mtmd/clip-impl.h +462 -0
  89. package/cpp/tools/mtmd/clip.cpp +4024 -0
  90. package/cpp/tools/mtmd/clip.h +101 -0
  91. package/cpp/tools/mtmd/miniaudio.h +93468 -0
  92. package/cpp/tools/mtmd/mtmd-audio.cpp +855 -0
  93. package/cpp/tools/mtmd/mtmd-audio.h +62 -0
  94. package/cpp/tools/mtmd/mtmd-helper.cpp +297 -0
  95. package/cpp/tools/mtmd/mtmd.cpp +942 -0
  96. package/cpp/tools/mtmd/mtmd.h +362 -0
  97. package/cpp/tools/mtmd/stb_image.h +7988 -0
  98. package/ios/CMakeLists.txt +20 -10
  99. package/ios/RNLlama.h +6 -0
  100. package/ios/RNLlama.mm +82 -3
  101. package/ios/RNLlamaContext.h +5 -1
  102. package/ios/RNLlamaContext.mm +131 -38
  103. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat.h +2 -0
  104. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/common.h +29 -21
  105. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend.h +4 -4
  106. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpp.h +1 -1
  107. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu.h +5 -0
  108. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-impl.h +16 -9
  109. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
  110. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-opt.h +49 -28
  111. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml.h +82 -101
  112. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-arch.h +9 -0
  113. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-batch.h +2 -1
  114. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-chat.h +4 -2
  115. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-context.h +44 -33
  116. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cparams.h +1 -0
  117. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-graph.h +69 -21
  118. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-hparams.h +39 -5
  119. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache.h +410 -108
  120. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory.h +12 -1
  121. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model-saver.h +37 -0
  122. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model.h +19 -3
  123. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-vocab.h +6 -0
  124. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama.h +86 -142
  125. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
  126. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/minja.hpp +69 -36
  127. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-llama.h +34 -8
  128. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Info.plist +0 -0
  129. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  130. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
  131. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +2 -0
  132. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +29 -21
  133. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +4 -4
  134. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +1 -1
  135. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +5 -0
  136. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +16 -9
  137. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
  138. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +49 -28
  139. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +82 -101
  140. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +9 -0
  141. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +2 -1
  142. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +4 -2
  143. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +44 -33
  144. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +1 -0
  145. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +69 -21
  146. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +39 -5
  147. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +410 -108
  148. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +12 -1
  149. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-saver.h +37 -0
  150. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +19 -3
  151. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +6 -0
  152. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +86 -142
  153. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
  154. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +69 -36
  155. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +34 -8
  156. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
  157. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +1 -1
  158. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  159. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  160. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat.h +2 -0
  161. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/common.h +29 -21
  162. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend.h +4 -4
  163. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpp.h +1 -1
  164. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu.h +5 -0
  165. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-impl.h +16 -9
  166. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
  167. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-opt.h +49 -28
  168. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml.h +82 -101
  169. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-arch.h +9 -0
  170. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-batch.h +2 -1
  171. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-chat.h +4 -2
  172. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-context.h +44 -33
  173. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cparams.h +1 -0
  174. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-graph.h +69 -21
  175. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-hparams.h +39 -5
  176. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache.h +410 -108
  177. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory.h +12 -1
  178. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model-saver.h +37 -0
  179. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model.h +19 -3
  180. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-vocab.h +6 -0
  181. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama.h +86 -142
  182. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
  183. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/minja.hpp +69 -36
  184. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-llama.h +34 -8
  185. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Info.plist +0 -0
  186. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  187. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
  188. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +2 -0
  189. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +29 -21
  190. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +4 -4
  191. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +1 -1
  192. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +5 -0
  193. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +16 -9
  194. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
  195. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +49 -28
  196. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +82 -101
  197. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +9 -0
  198. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +2 -1
  199. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +4 -2
  200. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +44 -33
  201. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +1 -0
  202. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +69 -21
  203. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +39 -5
  204. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +410 -108
  205. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +12 -1
  206. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-saver.h +37 -0
  207. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +19 -3
  208. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +6 -0
  209. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +86 -142
  210. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
  211. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +69 -36
  212. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +34 -8
  213. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
  214. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +1 -1
  215. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  216. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  217. package/jest/mock.js +33 -7
  218. package/lib/commonjs/NativeRNLlama.js.map +1 -1
  219. package/lib/commonjs/index.js +153 -21
  220. package/lib/commonjs/index.js.map +1 -1
  221. package/lib/module/NativeRNLlama.js.map +1 -1
  222. package/lib/module/index.js +152 -20
  223. package/lib/module/index.js.map +1 -1
  224. package/lib/typescript/NativeRNLlama.d.ts +54 -4
  225. package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
  226. package/lib/typescript/index.d.ts +72 -6
  227. package/lib/typescript/index.d.ts.map +1 -1
  228. package/package.json +1 -1
  229. package/src/NativeRNLlama.ts +72 -4
  230. package/src/index.ts +212 -38
  231. package/cpp/binary-ops.h +0 -16
  232. package/cpp/ops.h +0 -128
  233. package/cpp/simd-mappings.h +0 -888
  234. package/cpp/unary-ops.h +0 -28
  235. package/cpp/vec.h +0 -802
  236. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/binary-ops.h +0 -16
  237. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
  238. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
  239. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
  240. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
  241. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ops.h +0 -128
  242. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/sgemm.h +0 -14
  243. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/simd-mappings.h +0 -888
  244. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/vec.h +0 -802
  245. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
  246. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
  247. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
  248. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
  249. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +0 -14
  250. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +0 -28
  251. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +0 -802
  252. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/binary-ops.h +0 -16
  253. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
  254. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
  255. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
  256. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
  257. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ops.h +0 -128
  258. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/sgemm.h +0 -14
  259. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/simd-mappings.h +0 -888
  260. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unary-ops.h +0 -28
  261. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/binary-ops.h +0 -16
  262. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
  263. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
  264. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
  265. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
  266. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ops.h +0 -128
  267. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +0 -14
  268. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/simd-mappings.h +0 -888
  269. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +0 -28
  270. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +0 -802
  271. package/lib/commonjs/chat.js +0 -37
  272. package/lib/commonjs/chat.js.map +0 -1
  273. package/lib/module/chat.js +0 -33
  274. package/lib/module/chat.js.map +0 -1
  275. package/lib/typescript/chat.d.ts +0 -10
  276. package/lib/typescript/chat.d.ts.map +0 -1
  277. package/src/chat.ts +0 -44
  278. /package/cpp/{binary-ops.cpp → ggml-cpu/binary-ops.cpp} +0 -0
  279. /package/cpp/{ggml-cpu-aarch64.h → ggml-cpu/ggml-cpu-aarch64.h} +0 -0
  280. /package/cpp/{ggml-cpu-impl.h → ggml-cpu/ggml-cpu-impl.h} +0 -0
  281. /package/cpp/{ggml-cpu-quants.h → ggml-cpu/ggml-cpu-quants.h} +0 -0
  282. /package/cpp/{ggml-cpu-traits.cpp → ggml-cpu/ggml-cpu-traits.cpp} +0 -0
  283. /package/cpp/{ggml-cpu-traits.h → ggml-cpu/ggml-cpu-traits.h} +0 -0
  284. /package/cpp/{sgemm.h → ggml-cpu/sgemm.h} +0 -0
  285. /package/cpp/{unary-ops.cpp → ggml-cpu/unary-ops.cpp} +0 -0
@@ -9,6 +9,7 @@
9
9
  #include <string>
10
10
  #include <thread>
11
11
  #include <unordered_map>
12
+ #include "json.hpp"
12
13
  #include "json-schema-to-grammar.h"
13
14
  #include "llama.h"
14
15
  #include "chat.h"
@@ -252,6 +253,7 @@ Java_com_rnllama_LlamaContext_initContext(
252
253
  jfloat rope_freq_base,
253
254
  jfloat rope_freq_scale,
254
255
  jint pooling_type,
256
+ jboolean ctx_shift,
255
257
  jobject load_progress_callback
256
258
  ) {
257
259
  UNUSED(thiz);
@@ -264,7 +266,7 @@ Java_com_rnllama_LlamaContext_initContext(
264
266
  }
265
267
 
266
268
  const char *model_path_chars = env->GetStringUTFChars(model_path_str, nullptr);
267
- defaultParams.model = { model_path_chars };
269
+ defaultParams.model.path = model_path_chars;
268
270
 
269
271
  const char *chat_template_chars = env->GetStringUTFChars(chat_template, nullptr);
270
272
  defaultParams.chat_template = chat_template_chars;
@@ -279,6 +281,7 @@ Java_com_rnllama_LlamaContext_initContext(
279
281
  defaultParams.n_ctx = n_ctx;
280
282
  defaultParams.n_batch = n_batch;
281
283
  defaultParams.n_ubatch = n_ubatch;
284
+ defaultParams.ctx_shift = ctx_shift;
282
285
 
283
286
  if (pooling_type != -1) {
284
287
  defaultParams.pooling_type = static_cast<enum llama_pooling_type>(pooling_type);
@@ -298,7 +301,7 @@ Java_com_rnllama_LlamaContext_initContext(
298
301
  int default_n_threads = max_threads == 4 ? 2 : min(4, max_threads);
299
302
  defaultParams.cpuparams.n_threads = n_threads > 0 ? n_threads : default_n_threads;
300
303
 
301
- // defaultParams.n_gpu_layers = n_gpu_layers;
304
+ defaultParams.n_gpu_layers = n_gpu_layers;
302
305
  defaultParams.flash_attn = flash_attn;
303
306
 
304
307
  const char *cache_type_k_chars = env->GetStringUTFChars(cache_type_k, nullptr);
@@ -534,9 +537,15 @@ Java_com_rnllama_LlamaContext_getFormattedChatWithJinja(
534
537
  pushString(env, additional_stops, stop.c_str());
535
538
  }
536
539
  putArray(env, result, "additional_stops", additional_stops);
540
+ } catch (const nlohmann::json_abi_v3_11_3::detail::parse_error& e) {
541
+ std::string errorMessage = "JSON parse error in getFormattedChat: " + std::string(e.what());
542
+ putString(env, result, "_error", errorMessage.c_str());
543
+ LOGI("[RNLlama] %s", errorMessage.c_str());
537
544
  } catch (const std::runtime_error &e) {
538
- LOGI("[RNLlama] Error: %s", e.what());
539
545
  putString(env, result, "_error", e.what());
546
+ LOGI("[RNLlama] Error: %s", e.what());
547
+ } catch (...) {
548
+ putString(env, result, "_error", "Unknown error in getFormattedChat");
540
549
  }
541
550
  env->ReleaseStringUTFChars(tools, tools_chars);
542
551
  env->ReleaseStringUTFChars(messages, messages_chars);
@@ -591,6 +600,12 @@ Java_com_rnllama_LlamaContext_loadSession(
591
600
  llama->embd.resize(n_token_count_out);
592
601
  env->ReleaseStringUTFChars(path, path_chars);
593
602
 
603
+ // Find LLAMA_TOKEN_NULL in the tokens and resize the array to the index of the null token
604
+ auto null_token_iter = std::find(llama->embd.begin(), llama->embd.end(), LLAMA_TOKEN_NULL);
605
+ if (null_token_iter != llama->embd.end()) {
606
+ llama->embd.resize(std::distance(llama->embd.begin(), null_token_iter));
607
+ }
608
+
594
609
  const std::string text = rnllama::tokens_to_str(llama->ctx, llama->embd.cbegin(), llama->embd.cend());
595
610
  putInt(env, result, "tokens_loaded", n_token_count_out);
596
611
  putString(env, result, "prompt", text.c_str());
@@ -611,6 +626,13 @@ Java_com_rnllama_LlamaContext_saveSession(
611
626
  const char *path_chars = env->GetStringUTFChars(path, nullptr);
612
627
 
613
628
  std::vector<llama_token> session_tokens = llama->embd;
629
+
630
+ // Find LLAMA_TOKEN_NULL in the tokens and resize the array to the index of the null token
631
+ auto null_token_iter = std::find(session_tokens.begin(), session_tokens.end(), LLAMA_TOKEN_NULL);
632
+ if (null_token_iter != session_tokens.end()) {
633
+ session_tokens.resize(std::distance(session_tokens.begin(), null_token_iter));
634
+ }
635
+
614
636
  int default_size = session_tokens.size();
615
637
  int save_size = size > 0 && size <= default_size ? size : default_size;
616
638
  if (!llama_state_save_file(llama->ctx, path_chars, session_tokens.data(), save_size)) {
@@ -685,6 +707,7 @@ Java_com_rnllama_LlamaContext_doCompletion(
685
707
  jint dry_penalty_last_n,
686
708
  jfloat top_n_sigma,
687
709
  jobjectArray dry_sequence_breakers,
710
+ jobjectArray media_paths,
688
711
  jobject partial_completion_callback
689
712
  ) {
690
713
  UNUSED(thiz);
@@ -694,8 +717,32 @@ Java_com_rnllama_LlamaContext_doCompletion(
694
717
 
695
718
  //llama_reset_timings(llama->ctx);
696
719
 
697
- auto prompt_chars = env->GetStringUTFChars(prompt, nullptr);
720
+ const char *prompt_chars = env->GetStringUTFChars(prompt, nullptr);
721
+
722
+ // Set the prompt parameter
698
723
  llama->params.prompt = prompt_chars;
724
+
725
+ // Process image paths if provided
726
+ std::vector<std::string> media_paths_vector;
727
+
728
+ jint media_paths_size = env->GetArrayLength(media_paths);
729
+ if (media_paths_size > 0) {
730
+ // Check if multimodal is enabled
731
+ if (!llama->isMultimodalEnabled()) {
732
+ auto result = createWriteableMap(env);
733
+ putString(env, result, "error", "Multimodal support not enabled. Call initMultimodal first.");
734
+ env->ReleaseStringUTFChars(prompt, prompt_chars);
735
+ return reinterpret_cast<jobject>(result);
736
+ }
737
+
738
+ for (jint i = 0; i < media_paths_size; i++) {
739
+ jstring image_path = (jstring) env->GetObjectArrayElement(media_paths, i);
740
+ const char *image_path_chars = env->GetStringUTFChars(image_path, nullptr);
741
+ media_paths_vector.push_back(image_path_chars);
742
+ env->ReleaseStringUTFChars(image_path, image_path_chars);
743
+ }
744
+ }
745
+
699
746
  llama->params.sampling.seed = (seed == -1) ? time(NULL) : seed;
700
747
 
701
748
  int max_threads = std::thread::hardware_concurrency();
@@ -852,8 +899,23 @@ Java_com_rnllama_LlamaContext_doCompletion(
852
899
  putString(env, result, "error", "Failed to initialize sampling");
853
900
  return reinterpret_cast<jobject>(result);
854
901
  }
902
+
855
903
  llama->beginCompletion();
856
- llama->loadPrompt();
904
+ try {
905
+ llama->loadPrompt(media_paths_vector);
906
+ } catch (const std::exception &e) {
907
+ llama->endCompletion();
908
+ auto result = createWriteableMap(env);
909
+ putString(env, result, "error", e.what());
910
+ return reinterpret_cast<jobject>(result);
911
+ }
912
+
913
+ if (llama->context_full) {
914
+ llama->endCompletion();
915
+ auto result = createWriteableMap(env);
916
+ putString(env, result, "error", "Context is full");
917
+ return reinterpret_cast<jobject>(result);
918
+ }
857
919
 
858
920
  size_t sent_count = 0;
859
921
  size_t sent_token_probs_index = 0;
@@ -916,9 +978,14 @@ Java_com_rnllama_LlamaContext_doCompletion(
916
978
  }
917
979
 
918
980
  env->ReleaseStringUTFChars(grammar, grammar_chars);
919
- env->ReleaseStringUTFChars(prompt, prompt_chars);
981
+
982
+ // Release prompt_chars if it's still allocated
983
+ if (prompt_chars != nullptr) {
984
+ env->ReleaseStringUTFChars(prompt, prompt_chars);
985
+ }
986
+
920
987
  llama_perf_context_print(llama->ctx);
921
- llama->is_predicting = false;
988
+ llama->endCompletion();
922
989
 
923
990
  auto toolCalls = createWritableArray(env);
924
991
  std::string reasoningContent = "";
@@ -945,7 +1012,7 @@ Java_com_rnllama_LlamaContext_doCompletion(
945
1012
  toolCallsSize++;
946
1013
  }
947
1014
  } catch (const std::exception &e) {
948
- // LOGI("Error parsing tool calls: %s", e.what());
1015
+ } catch (...) {
949
1016
  }
950
1017
  }
951
1018
 
@@ -964,6 +1031,7 @@ Java_com_rnllama_LlamaContext_doCompletion(
964
1031
  putInt(env, result, "tokens_predicted", llama->num_tokens_predicted);
965
1032
  putInt(env, result, "tokens_evaluated", llama->num_prompt_tokens);
966
1033
  putInt(env, result, "truncated", llama->truncated);
1034
+ putBoolean(env, result, "context_full", llama->context_full);
967
1035
  putInt(env, result, "stopped_eos", llama->stopped_eos);
968
1036
  putInt(env, result, "stopped_word", llama->stopped_word);
969
1037
  putInt(env, result, "stopped_limit", llama->stopped_limit);
@@ -1007,22 +1075,47 @@ Java_com_rnllama_LlamaContext_isPredicting(
1007
1075
 
1008
1076
  JNIEXPORT jobject JNICALL
1009
1077
  Java_com_rnllama_LlamaContext_tokenize(
1010
- JNIEnv *env, jobject thiz, jlong context_ptr, jstring text) {
1078
+ JNIEnv *env, jobject thiz, jlong context_ptr, jstring text, jobjectArray media_paths) {
1011
1079
  UNUSED(thiz);
1012
1080
  auto llama = context_map[(long) context_ptr];
1013
1081
 
1014
1082
  const char *text_chars = env->GetStringUTFChars(text, nullptr);
1083
+ std::vector<std::string> media_paths_vector;
1084
+ for (int i = 0; i < env->GetArrayLength(media_paths); i++) {
1085
+ jstring image_path = (jstring) env->GetObjectArrayElement(media_paths, i);
1086
+ const char *image_path_chars = env->GetStringUTFChars(image_path, nullptr);
1087
+ media_paths_vector.push_back(image_path_chars);
1088
+ env->ReleaseStringUTFChars(image_path, image_path_chars);
1089
+ }
1090
+ auto tokenize_result = llama->tokenize(text_chars, media_paths_vector);
1091
+
1092
+ auto result = createWriteableMap(env);
1093
+
1094
+ auto tokens = createWritableArray(env);
1095
+ for (const auto &tok : tokenize_result.tokens) {
1096
+ pushInt(env, tokens, tok);
1097
+ }
1098
+ putArray(env, result, "tokens", tokens);
1015
1099
 
1016
- const std::vector<llama_token> toks = common_tokenize(
1017
- llama->ctx,
1018
- text_chars,
1019
- false
1020
- );
1100
+ putBoolean(env, result, "has_media", tokenize_result.has_media);
1021
1101
 
1022
- jobject result = createWritableArray(env);
1023
- for (const auto &tok : toks) {
1024
- pushInt(env, result, tok);
1102
+ auto bitmap_hashes = createWritableArray(env);
1103
+ for (const auto &hash : tokenize_result.bitmap_hashes) {
1104
+ pushString(env, bitmap_hashes, hash.c_str());
1025
1105
  }
1106
+ putArray(env, result, "bitmap_hashes", bitmap_hashes);
1107
+
1108
+ auto chunk_pos = createWritableArray(env);
1109
+ for (const auto &pos : tokenize_result.chunk_pos) {
1110
+ pushInt(env, chunk_pos, pos);
1111
+ }
1112
+ putArray(env, result, "chunk_pos", chunk_pos);
1113
+
1114
+ auto chunk_pos_media = createWritableArray(env);
1115
+ for (const auto &pos : tokenize_result.chunk_pos_media) {
1116
+ pushInt(env, chunk_pos_media, pos);
1117
+ }
1118
+ putArray(env, result, "chunk_pos_media", chunk_pos_media);
1026
1119
 
1027
1120
  env->ReleaseStringUTFChars(text, text_chars);
1028
1121
  return result;
@@ -1091,7 +1184,12 @@ Java_com_rnllama_LlamaContext_embedding(
1091
1184
  }
1092
1185
 
1093
1186
  llama->beginCompletion();
1094
- llama->loadPrompt();
1187
+ try {
1188
+ llama->loadPrompt({});
1189
+ } catch (const std::exception &e) {
1190
+ putString(env, result, "error", e.what());
1191
+ return reinterpret_cast<jobject>(result);
1192
+ }
1095
1193
  llama->doCompletion();
1096
1194
 
1097
1195
  std::vector<float> embedding = llama->getEmbedding(embdParams);
@@ -1260,4 +1358,61 @@ Java_com_rnllama_LlamaContext_unsetLog(JNIEnv *env, jobject thiz) {
1260
1358
  llama_log_set(rnllama_log_callback_default, NULL);
1261
1359
  }
1262
1360
 
1361
+ JNIEXPORT jboolean JNICALL
1362
+ Java_com_rnllama_LlamaContext_initMultimodal(
1363
+ JNIEnv *env,
1364
+ jobject thiz,
1365
+ jlong context_ptr,
1366
+ jstring mmproj_path,
1367
+ jboolean mmproj_use_gpu
1368
+ ) {
1369
+ UNUSED(thiz);
1370
+ auto llama = context_map[(long) context_ptr];
1371
+
1372
+ const char *mmproj_path_chars = env->GetStringUTFChars(mmproj_path, nullptr);
1373
+ bool result = llama->initMultimodal(mmproj_path_chars, mmproj_use_gpu);
1374
+ env->ReleaseStringUTFChars(mmproj_path, mmproj_path_chars);
1375
+
1376
+ return result;
1377
+ }
1378
+
1379
+ JNIEXPORT jboolean JNICALL
1380
+ Java_com_rnllama_LlamaContext_isMultimodalEnabled(
1381
+ JNIEnv *env,
1382
+ jobject thiz,
1383
+ jlong context_ptr
1384
+ ) {
1385
+ UNUSED(env);
1386
+ UNUSED(thiz);
1387
+ auto llama = context_map[(long) context_ptr];
1388
+ return llama->isMultimodalEnabled();
1389
+ }
1390
+
1391
+ JNIEXPORT jobject JNICALL
1392
+ Java_com_rnllama_LlamaContext_getMultimodalSupport(
1393
+ JNIEnv *env,
1394
+ jobject thiz,
1395
+ jlong context_ptr
1396
+ ) {
1397
+ UNUSED(env);
1398
+ UNUSED(thiz);
1399
+ auto llama = context_map[(long) context_ptr];
1400
+ auto result = createWriteableMap(env);
1401
+ putBoolean(env, result, "vision", llama->isMultimodalSupportVision());
1402
+ putBoolean(env, result, "audio", llama->isMultimodalSupportAudio());
1403
+ return result;
1404
+ }
1405
+
1406
+ JNIEXPORT void JNICALL
1407
+ Java_com_rnllama_LlamaContext_releaseMultimodal(
1408
+ JNIEnv *env,
1409
+ jobject thiz,
1410
+ jlong context_ptr
1411
+ ) {
1412
+ UNUSED(env);
1413
+ UNUSED(thiz);
1414
+ auto llama = context_map[(long) context_ptr];
1415
+ llama->releaseMultimodal();
1416
+ }
1417
+
1263
1418
  } // extern "C"
@@ -53,6 +53,26 @@ public class RNLlamaModule extends NativeRNLlamaSpec {
53
53
  rnllama.initContext(id, params, promise);
54
54
  }
55
55
 
56
+ @ReactMethod
57
+ public void initMultimodal(double id, final ReadableMap params, final Promise promise) {
58
+ rnllama.initMultimodal(id, params, promise);
59
+ }
60
+
61
+ @ReactMethod
62
+ public void isMultimodalEnabled(double id, final Promise promise) {
63
+ rnllama.isMultimodalEnabled(id, promise);
64
+ }
65
+
66
+ @ReactMethod
67
+ public void getMultimodalSupport(double id, final Promise promise) {
68
+ rnllama.getMultimodalSupport(id, promise);
69
+ }
70
+
71
+ @ReactMethod
72
+ public void releaseMultimodal(double id, final Promise promise) {
73
+ rnllama.releaseMultimodal(id, promise);
74
+ }
75
+
56
76
  @ReactMethod
57
77
  public void getFormattedChat(double id, String messages, String chatTemplate, ReadableMap params, Promise promise) {
58
78
  rnllama.getFormattedChat(id, messages, chatTemplate, params, promise);
@@ -79,13 +99,13 @@ public class RNLlamaModule extends NativeRNLlamaSpec {
79
99
  }
80
100
 
81
101
  @ReactMethod
82
- public void tokenizeAsync(double id, final String text, final Promise promise) {
83
- rnllama.tokenizeAsync(id, text, promise);
102
+ public void tokenizeAsync(double id, final String text, final ReadableArray media_paths, final Promise promise) {
103
+ rnllama.tokenizeAsync(id, text, media_paths, promise);
84
104
  }
85
105
 
86
106
  @ReactMethod(isBlockingSynchronousMethod=true)
87
- public WritableMap tokenizeSync(double id, final String text) {
88
- return rnllama.tokenizeSync(id, text);
107
+ public WritableMap tokenizeSync(double id, final String text, final ReadableArray media_paths) {
108
+ return rnllama.tokenizeSync(id, text, media_paths);
89
109
  }
90
110
 
91
111
  @ReactMethod
@@ -54,6 +54,26 @@ public class RNLlamaModule extends ReactContextBaseJavaModule {
54
54
  rnllama.initContext(id, params, promise);
55
55
  }
56
56
 
57
+ @ReactMethod
58
+ public void initMultimodal(double id, final ReadableMap params, final Promise promise) {
59
+ rnllama.initMultimodal(id, params, promise);
60
+ }
61
+
62
+ @ReactMethod
63
+ public void isMultimodalEnabled(double id, final Promise promise) {
64
+ rnllama.isMultimodalEnabled(id, promise);
65
+ }
66
+
67
+ @ReactMethod
68
+ public void getMultimodalSupport(double id, final Promise promise) {
69
+ rnllama.getMultimodalSupport(id, promise);
70
+ }
71
+
72
+ @ReactMethod
73
+ public void releaseMultimodal(double id, final Promise promise) {
74
+ rnllama.releaseMultimodal(id, promise);
75
+ }
76
+
57
77
  @ReactMethod
58
78
  public void getFormattedChat(double id, String messages, String chatTemplate, ReadableMap params, Promise promise) {
59
79
  rnllama.getFormattedChat(id, messages, chatTemplate, params, promise);
@@ -80,12 +100,12 @@ public class RNLlamaModule extends ReactContextBaseJavaModule {
80
100
  }
81
101
 
82
102
  @ReactMethod
83
- public void tokenizeAsync(double id, final String text, final Promise promise) {
103
+ public void tokenizeAsync(double id, final String text, final ReadableArray image_paths, final Promise promise) {
84
104
  rnllama.tokenizeAsync(id, text, promise);
85
105
  }
86
106
 
87
107
  @ReactMethod(isBlockingSynchronousMethod=true)
88
- public WritableMap tokenizeSync(double id, final String text) {
108
+ public WritableMap tokenizeSync(double id, final String text, final ReadableArray image_paths) {
89
109
  return rnllama.tokenizeSync(id, text);
90
110
  }
91
111
 
package/cpp/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-2024 The ggml authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.