cui-llama.rn 1.5.0 → 1.6.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 (309) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +317 -319
  3. package/android/build.gradle +116 -116
  4. package/android/gradle.properties +5 -5
  5. package/android/src/main/AndroidManifest.xml +4 -4
  6. package/android/src/main/CMakeLists.txt +124 -124
  7. package/android/src/main/java/com/rnllama/LlamaContext.java +645 -645
  8. package/android/src/main/java/com/rnllama/RNLlama.java +695 -695
  9. package/android/src/main/java/com/rnllama/RNLlamaPackage.java +48 -48
  10. package/android/src/main/jni-utils.h +100 -100
  11. package/android/src/main/jni.cpp +1263 -1263
  12. package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
  13. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
  14. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
  15. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
  16. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
  17. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
  18. package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
  19. package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
  20. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +135 -135
  21. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +136 -136
  22. package/cpp/README.md +4 -4
  23. package/cpp/ggml-llama-sim.metallib +0 -0
  24. package/cpp/ggml-llama.metallib +0 -0
  25. package/cpp/ggml-metal-impl.h +597 -597
  26. package/cpp/ggml-metal.m +4 -0
  27. package/cpp/ggml.h +1 -1
  28. package/cpp/rn-llama.cpp +873 -873
  29. package/cpp/rn-llama.h +138 -138
  30. package/cpp/sampling.h +107 -107
  31. package/cpp/unicode-data.cpp +7034 -7034
  32. package/cpp/unicode-data.h +20 -20
  33. package/cpp/unicode.cpp +849 -849
  34. package/cpp/unicode.h +66 -66
  35. package/ios/CMakeLists.txt +116 -108
  36. package/ios/RNLlama.h +7 -7
  37. package/ios/RNLlama.mm +418 -405
  38. package/ios/RNLlamaContext.h +57 -57
  39. package/ios/RNLlamaContext.mm +835 -835
  40. package/ios/rnllama.xcframework/Info.plist +74 -74
  41. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/binary-ops.h +16 -0
  42. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat.h +143 -0
  43. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/common.h +677 -0
  44. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/cpu-common.h +72 -0
  45. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-alloc.h +76 -0
  46. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
  47. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend.h +354 -0
  48. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-common.h +1857 -0
  49. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpp.h +39 -0
  50. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +8 -0
  51. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +512 -0
  52. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +63 -0
  53. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +38 -0
  54. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu.h +138 -0
  55. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-impl.h +594 -0
  56. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
  57. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal.h +66 -0
  58. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-opt.h +216 -0
  59. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-quants.h +100 -0
  60. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-threading.h +14 -0
  61. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml.h +2222 -0
  62. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/gguf.h +202 -0
  63. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
  64. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json.hpp +24766 -0
  65. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-adapter.h +76 -0
  66. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-arch.h +428 -0
  67. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-batch.h +88 -0
  68. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-chat.h +56 -0
  69. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-context.h +265 -0
  70. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cparams.h +38 -0
  71. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cpp.h +30 -0
  72. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-grammar.h +173 -0
  73. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-graph.h +592 -0
  74. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-hparams.h +156 -0
  75. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-impl.h +61 -0
  76. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-io.h +35 -0
  77. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache.h +213 -0
  78. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory.h +21 -0
  79. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-mmap.h +68 -0
  80. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model-loader.h +169 -0
  81. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model.h +409 -0
  82. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-sampling.h +32 -0
  83. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-vocab.h +125 -0
  84. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama.h +1434 -0
  85. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/log.h +132 -0
  86. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
  87. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/minja.hpp +2941 -0
  88. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ops.h +128 -0
  89. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-llama.h +138 -0
  90. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/sampling.h +107 -0
  91. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/sgemm.h +14 -0
  92. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/simd-mappings.h +888 -0
  93. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/speculative.h +28 -0
  94. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/unary-ops.h +28 -0
  95. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/unicode-data.h +20 -0
  96. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/unicode.h +66 -0
  97. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/vec.h +802 -0
  98. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Info.plist +0 -0
  99. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  100. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
  101. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/binary-ops.h +16 -0
  102. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +143 -0
  103. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +677 -0
  104. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/cpu-common.h +72 -0
  105. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-alloc.h +76 -0
  106. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
  107. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +354 -0
  108. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +1857 -0
  109. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +39 -0
  110. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +8 -0
  111. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +512 -0
  112. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +63 -0
  113. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +38 -0
  114. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +138 -0
  115. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +594 -0
  116. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
  117. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal.h +66 -0
  118. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +216 -0
  119. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-quants.h +100 -0
  120. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-threading.h +14 -0
  121. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +2222 -0
  122. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/gguf.h +202 -0
  123. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
  124. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json.hpp +24766 -0
  125. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-adapter.h +76 -0
  126. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +428 -0
  127. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +88 -0
  128. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +56 -0
  129. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +265 -0
  130. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +38 -0
  131. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cpp.h +30 -0
  132. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-grammar.h +173 -0
  133. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +592 -0
  134. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +156 -0
  135. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-impl.h +61 -0
  136. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-io.h +35 -0
  137. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +213 -0
  138. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +21 -0
  139. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-mmap.h +68 -0
  140. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-loader.h +169 -0
  141. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +409 -0
  142. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-sampling.h +32 -0
  143. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +125 -0
  144. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +1434 -0
  145. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/log.h +132 -0
  146. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
  147. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +2941 -0
  148. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ops.h +128 -0
  149. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +138 -0
  150. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/sampling.h +107 -0
  151. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +14 -0
  152. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/simd-mappings.h +888 -0
  153. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/speculative.h +28 -0
  154. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +28 -0
  155. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unicode-data.h +20 -0
  156. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unicode.h +66 -0
  157. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +802 -0
  158. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
  159. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +101 -0
  160. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  161. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  162. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/binary-ops.h +16 -0
  163. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat.h +143 -0
  164. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/common.h +677 -0
  165. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/cpu-common.h +72 -0
  166. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-alloc.h +76 -0
  167. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
  168. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend.h +354 -0
  169. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-common.h +1857 -0
  170. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpp.h +39 -0
  171. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +8 -0
  172. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +512 -0
  173. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +63 -0
  174. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +38 -0
  175. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu.h +138 -0
  176. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-impl.h +594 -0
  177. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
  178. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal.h +66 -0
  179. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-opt.h +216 -0
  180. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-quants.h +100 -0
  181. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-threading.h +14 -0
  182. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml.h +2222 -0
  183. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/gguf.h +202 -0
  184. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
  185. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json.hpp +24766 -0
  186. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-adapter.h +76 -0
  187. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-arch.h +428 -0
  188. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-batch.h +88 -0
  189. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-chat.h +56 -0
  190. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-context.h +265 -0
  191. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cparams.h +38 -0
  192. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cpp.h +30 -0
  193. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-grammar.h +173 -0
  194. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-graph.h +592 -0
  195. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-hparams.h +156 -0
  196. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-impl.h +61 -0
  197. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-io.h +35 -0
  198. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache.h +213 -0
  199. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory.h +21 -0
  200. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-mmap.h +68 -0
  201. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model-loader.h +169 -0
  202. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model.h +409 -0
  203. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-sampling.h +32 -0
  204. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-vocab.h +125 -0
  205. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama.h +1434 -0
  206. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/log.h +132 -0
  207. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
  208. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/minja.hpp +2941 -0
  209. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ops.h +128 -0
  210. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-llama.h +138 -0
  211. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/sampling.h +107 -0
  212. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/sgemm.h +14 -0
  213. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/simd-mappings.h +888 -0
  214. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/speculative.h +28 -0
  215. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unary-ops.h +28 -0
  216. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unicode-data.h +20 -0
  217. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unicode.h +66 -0
  218. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/vec.h +802 -0
  219. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Info.plist +0 -0
  220. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  221. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
  222. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/binary-ops.h +16 -0
  223. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +143 -0
  224. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +677 -0
  225. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/cpu-common.h +72 -0
  226. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-alloc.h +76 -0
  227. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
  228. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +354 -0
  229. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +1857 -0
  230. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +39 -0
  231. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +8 -0
  232. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +512 -0
  233. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +63 -0
  234. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +38 -0
  235. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +138 -0
  236. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +594 -0
  237. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
  238. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal.h +66 -0
  239. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +216 -0
  240. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-quants.h +100 -0
  241. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-threading.h +14 -0
  242. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +2222 -0
  243. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/gguf.h +202 -0
  244. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
  245. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json.hpp +24766 -0
  246. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-adapter.h +76 -0
  247. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +428 -0
  248. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +88 -0
  249. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +56 -0
  250. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +265 -0
  251. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +38 -0
  252. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cpp.h +30 -0
  253. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-grammar.h +173 -0
  254. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +592 -0
  255. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +156 -0
  256. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-impl.h +61 -0
  257. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-io.h +35 -0
  258. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +213 -0
  259. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +21 -0
  260. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-mmap.h +68 -0
  261. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-loader.h +169 -0
  262. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +409 -0
  263. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-sampling.h +32 -0
  264. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +125 -0
  265. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +1434 -0
  266. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/log.h +132 -0
  267. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
  268. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +2941 -0
  269. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ops.h +128 -0
  270. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +138 -0
  271. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/sampling.h +107 -0
  272. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +14 -0
  273. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/simd-mappings.h +888 -0
  274. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/speculative.h +28 -0
  275. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +28 -0
  276. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unicode-data.h +20 -0
  277. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unicode.h +66 -0
  278. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +802 -0
  279. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
  280. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +101 -0
  281. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  282. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  283. package/jest/mock.js +203 -203
  284. package/lib/commonjs/NativeRNLlama.js +1 -2
  285. package/lib/commonjs/NativeRNLlama.js.map +1 -1
  286. package/lib/commonjs/chat.js.map +1 -1
  287. package/lib/commonjs/grammar.js +12 -31
  288. package/lib/commonjs/grammar.js.map +1 -1
  289. package/lib/commonjs/index.js +47 -47
  290. package/lib/commonjs/index.js.map +1 -1
  291. package/lib/commonjs/package.json +1 -0
  292. package/lib/module/NativeRNLlama.js +2 -0
  293. package/lib/module/NativeRNLlama.js.map +1 -1
  294. package/lib/module/chat.js +2 -0
  295. package/lib/module/chat.js.map +1 -1
  296. package/lib/module/grammar.js +14 -31
  297. package/lib/module/grammar.js.map +1 -1
  298. package/lib/module/index.js +47 -45
  299. package/lib/module/index.js.map +1 -1
  300. package/lib/module/package.json +1 -0
  301. package/lib/typescript/NativeRNLlama.d.ts +6 -4
  302. package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
  303. package/lib/typescript/index.d.ts.map +1 -1
  304. package/llama-rn.podspec +48 -48
  305. package/package.json +233 -233
  306. package/src/NativeRNLlama.ts +426 -426
  307. package/src/chat.ts +44 -44
  308. package/src/grammar.ts +854 -854
  309. package/src/index.ts +495 -487
@@ -1,116 +1,116 @@
1
- buildscript {
2
- repositories {
3
- google()
4
- mavenCentral()
5
- }
6
-
7
- dependencies {
8
- classpath "com.android.tools.build:gradle:7.2.1"
9
- }
10
- }
11
-
12
- def isNewArchitectureEnabled() {
13
- return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
14
- }
15
-
16
- apply plugin: "com.android.library"
17
-
18
-
19
- def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
20
-
21
- if (isNewArchitectureEnabled()) {
22
- apply plugin: "com.facebook.react"
23
- }
24
-
25
- def getExtOrDefault(name) {
26
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNLlama_" + name]
27
- }
28
-
29
- def getExtOrIntegerDefault(name) {
30
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNLlama_" + name]).toInteger()
31
- }
32
-
33
- def reactNativeArchitectures() {
34
- def value = project.getProperties().get("reactNativeArchitectures")
35
- def archs = value ? value.split(",") : ["x86_64", "arm64-v8a"]
36
- return archs.findAll { it != "armeabi-v7a" && it != "x86" } // Not building for 32-bit architectures
37
- }
38
-
39
- android {
40
- ndkVersion getExtOrDefault("ndkVersion")
41
- def ndkVersionMajor = ndkVersion.split("\\.")[0].toInteger()
42
- if (ndkVersionMajor < 24) {
43
- ndkVersion = project.properties["RNLlama_ndkversion"]
44
- }
45
- compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
46
-
47
- defaultConfig {
48
- minSdkVersion getExtOrIntegerDefault("minSdkVersion")
49
- targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
50
- buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
51
- externalNativeBuild {
52
- cmake {
53
- abiFilters (*reactNativeArchitectures())
54
- }
55
- }
56
- }
57
- def rnllamaBuildFromSource = project.properties["rnllamaBuildFromSource"]
58
- if (rnllamaBuildFromSource == "true") {
59
- externalNativeBuild {
60
- cmake {
61
- path = file('src/main/CMakeLists.txt')
62
- }
63
- }
64
- // Exclude jniLibs
65
- sourceSets {
66
- main {
67
- jniLibs.srcDirs = []
68
- }
69
- }
70
- }
71
- buildTypes {
72
- release {
73
- minifyEnabled false
74
- }
75
- }
76
-
77
- lintOptions {
78
- disable "GradleCompatible"
79
- }
80
-
81
- compileOptions {
82
- sourceCompatibility JavaVersion.VERSION_1_8
83
- targetCompatibility JavaVersion.VERSION_1_8
84
- }
85
-
86
- sourceSets {
87
- main {
88
- if (isNewArchitectureEnabled()) {
89
- java.srcDirs += ['src/newarch']
90
- } else {
91
- java.srcDirs += ['src/oldarch']
92
- }
93
- }
94
- }
95
- }
96
-
97
- repositories {
98
- mavenCentral()
99
- google()
100
- }
101
-
102
-
103
- dependencies {
104
- // For < 0.71, this will be from the local maven repo
105
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
106
- //noinspection GradleDynamicVersion
107
- implementation "com.facebook.react:react-native:+"
108
- }
109
-
110
- if (isNewArchitectureEnabled()) {
111
- react {
112
- jsRootDir = file("../src/")
113
- libraryName = "RNLlama"
114
- codegenJavaPackageName = "com.rnllama"
115
- }
116
- }
1
+ buildscript {
2
+ repositories {
3
+ google()
4
+ mavenCentral()
5
+ }
6
+
7
+ dependencies {
8
+ classpath "com.android.tools.build:gradle:7.2.1"
9
+ }
10
+ }
11
+
12
+ def isNewArchitectureEnabled() {
13
+ return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
14
+ }
15
+
16
+ apply plugin: "com.android.library"
17
+
18
+
19
+ def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
20
+
21
+ if (isNewArchitectureEnabled()) {
22
+ apply plugin: "com.facebook.react"
23
+ }
24
+
25
+ def getExtOrDefault(name) {
26
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNLlama_" + name]
27
+ }
28
+
29
+ def getExtOrIntegerDefault(name) {
30
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNLlama_" + name]).toInteger()
31
+ }
32
+
33
+ def reactNativeArchitectures() {
34
+ def value = project.getProperties().get("reactNativeArchitectures")
35
+ def archs = value ? value.split(",") : ["x86_64", "arm64-v8a"]
36
+ return archs.findAll { it != "armeabi-v7a" && it != "x86" } // Not building for 32-bit architectures
37
+ }
38
+
39
+ android {
40
+ ndkVersion getExtOrDefault("ndkVersion")
41
+ def ndkVersionMajor = ndkVersion.split("\\.")[0].toInteger()
42
+ if (ndkVersionMajor < 24) {
43
+ ndkVersion = project.properties["RNLlama_ndkversion"]
44
+ }
45
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
46
+
47
+ defaultConfig {
48
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
49
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
50
+ buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
51
+ externalNativeBuild {
52
+ cmake {
53
+ abiFilters (*reactNativeArchitectures())
54
+ }
55
+ }
56
+ }
57
+ def rnllamaBuildFromSource = project.properties["rnllamaBuildFromSource"]
58
+ if (rnllamaBuildFromSource == "true") {
59
+ externalNativeBuild {
60
+ cmake {
61
+ path = file('src/main/CMakeLists.txt')
62
+ }
63
+ }
64
+ // Exclude jniLibs
65
+ sourceSets {
66
+ main {
67
+ jniLibs.srcDirs = []
68
+ }
69
+ }
70
+ }
71
+ buildTypes {
72
+ release {
73
+ minifyEnabled false
74
+ }
75
+ }
76
+
77
+ lintOptions {
78
+ disable "GradleCompatible"
79
+ }
80
+
81
+ compileOptions {
82
+ sourceCompatibility JavaVersion.VERSION_1_8
83
+ targetCompatibility JavaVersion.VERSION_1_8
84
+ }
85
+
86
+ sourceSets {
87
+ main {
88
+ if (isNewArchitectureEnabled()) {
89
+ java.srcDirs += ['src/newarch']
90
+ } else {
91
+ java.srcDirs += ['src/oldarch']
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
+ repositories {
98
+ mavenCentral()
99
+ google()
100
+ }
101
+
102
+
103
+ dependencies {
104
+ // For < 0.71, this will be from the local maven repo
105
+ // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
106
+ //noinspection GradleDynamicVersion
107
+ implementation "com.facebook.react:react-native:+"
108
+ }
109
+
110
+ if (isNewArchitectureEnabled()) {
111
+ react {
112
+ jsRootDir = file("../src/")
113
+ libraryName = "RNLlama"
114
+ codegenJavaPackageName = "com.rnllama"
115
+ }
116
+ }
@@ -1,5 +1,5 @@
1
- RNLlama_kotlinVersion=1.7.0
2
- RNLlama_minSdkVersion=23
3
- RNLlama_targetSdkVersion=31
4
- RNLlama_compileSdkVersion=31
5
- RNLlama_ndkversion=25.1.8937393
1
+ RNLlama_kotlinVersion=1.7.0
2
+ RNLlama_minSdkVersion=23
3
+ RNLlama_targetSdkVersion=31
4
+ RNLlama_compileSdkVersion=31
5
+ RNLlama_ndkversion=25.1.8937393
@@ -1,4 +1,4 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.rnllama">
3
-
4
- </manifest>
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+ package="com.rnllama">
3
+
4
+ </manifest>
@@ -1,124 +1,124 @@
1
- cmake_minimum_required(VERSION 3.10)
2
-
3
- project(llama.rn)
4
-
5
- find_program(CCACHE_FOUND ccache)
6
- if(CCACHE_FOUND)
7
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
8
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
9
- endif(CCACHE_FOUND)
10
-
11
- set(CMAKE_CXX_STANDARD 17)
12
- set(RNLLAMA_LIB_DIR ${CMAKE_SOURCE_DIR}/../../../cpp)
13
-
14
- include_directories(${RNLLAMA_LIB_DIR})
15
-
16
- set(
17
- SOURCE_FILES
18
- ${RNLLAMA_LIB_DIR}/ggml.c
19
- ${RNLLAMA_LIB_DIR}/ggml-alloc.c
20
- ${RNLLAMA_LIB_DIR}/ggml-backend.cpp
21
- ${RNLLAMA_LIB_DIR}/ggml-backend-reg.cpp
22
- ${RNLLAMA_LIB_DIR}/ops.cpp
23
- ${RNLLAMA_LIB_DIR}/unary-ops.cpp
24
- ${RNLLAMA_LIB_DIR}/binary-ops.cpp
25
- ${RNLLAMA_LIB_DIR}/vec.cpp
26
- ${RNLLAMA_LIB_DIR}/ggml-cpu.c
27
- ${RNLLAMA_LIB_DIR}/ggml-cpu.cpp
28
- ${RNLLAMA_LIB_DIR}/ggml-cpu-aarch64.cpp
29
- ${RNLLAMA_LIB_DIR}/ggml-cpu-quants.c
30
- ${RNLLAMA_LIB_DIR}/ggml-cpu-traits.cpp
31
- ${RNLLAMA_LIB_DIR}/ggml-opt.cpp
32
- ${RNLLAMA_LIB_DIR}/ggml-threading.cpp
33
- ${RNLLAMA_LIB_DIR}/ggml-quants.c
34
- ${RNLLAMA_LIB_DIR}/gguf.cpp
35
- ${RNLLAMA_LIB_DIR}/log.cpp
36
- ${RNLLAMA_LIB_DIR}/llama-impl.cpp
37
- ${RNLLAMA_LIB_DIR}/llama-grammar.cpp
38
- ${RNLLAMA_LIB_DIR}/llama-sampling.cpp
39
- ${RNLLAMA_LIB_DIR}/llama-vocab.cpp
40
- ${RNLLAMA_LIB_DIR}/llama-adapter.cpp
41
- ${RNLLAMA_LIB_DIR}/llama-chat.cpp
42
- ${RNLLAMA_LIB_DIR}/llama-context.cpp
43
- ${RNLLAMA_LIB_DIR}/llama-kv-cache.cpp
44
- ${RNLLAMA_LIB_DIR}/llama-arch.cpp
45
- ${RNLLAMA_LIB_DIR}/llama-batch.cpp
46
- ${RNLLAMA_LIB_DIR}/llama-cparams.cpp
47
- ${RNLLAMA_LIB_DIR}/llama-hparams.cpp
48
- ${RNLLAMA_LIB_DIR}/llama.cpp
49
- ${RNLLAMA_LIB_DIR}/llama-model.cpp
50
- ${RNLLAMA_LIB_DIR}/llama-model-loader.cpp
51
- ${RNLLAMA_LIB_DIR}/llama-mmap.cpp
52
- ${RNLLAMA_LIB_DIR}/llama-vocab.cpp
53
- ${RNLLAMA_LIB_DIR}/llama-memory.cpp
54
- ${RNLLAMA_LIB_DIR}/llama-io.cpp
55
- ${RNLLAMA_LIB_DIR}/llama-graph.cpp
56
- ${RNLLAMA_LIB_DIR}/sampling.cpp
57
- ${RNLLAMA_LIB_DIR}/unicode-data.cpp
58
- ${RNLLAMA_LIB_DIR}/unicode.cpp
59
- ${RNLLAMA_LIB_DIR}/sgemm.cpp
60
- ${RNLLAMA_LIB_DIR}/common.cpp
61
- ${RNLLAMA_LIB_DIR}/chat.cpp
62
- ${RNLLAMA_LIB_DIR}/json-schema-to-grammar.cpp
63
- ${RNLLAMA_LIB_DIR}/json.hpp
64
- ${RNLLAMA_LIB_DIR}/minja/minja.hpp
65
- ${RNLLAMA_LIB_DIR}/minja/chat-template.hpp
66
- ${RNLLAMA_LIB_DIR}/rn-llama.cpp
67
- ${CMAKE_SOURCE_DIR}/jni-utils.h
68
- ${CMAKE_SOURCE_DIR}/jni.cpp
69
- )
70
-
71
- find_library(LOG_LIB log)
72
-
73
- function(build_library target_name cpu_flags)
74
- add_library(
75
- ${target_name}
76
- SHARED
77
- ${SOURCE_FILES}
78
- )
79
-
80
- target_link_libraries(${target_name} ${LOG_LIB} android)
81
-
82
- target_compile_options(${target_name} PRIVATE -DLM_GGML_USE_CPU -DLM_GGML_USE_CPU_AARCH64 -pthread ${cpu_flags})
83
-
84
- if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
85
- target_compile_options(${target_name} PRIVATE -DRNLLAMA_ANDROID_ENABLE_LOGGING)
86
- endif ()
87
-
88
- # NOTE: If you want to debug the native code, you can uncomment if and endif
89
- # Note that it will be extremely slow
90
- # if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
91
- target_compile_options(${target_name} PRIVATE -O3 -DNDEBUG -DRNLLAMA_USE_FD_FILE)
92
- target_compile_options(${target_name} PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)
93
- target_compile_options(${target_name} PRIVATE -ffunction-sections -fdata-sections)
94
-
95
- target_link_options(${target_name} PRIVATE -Wl,--gc-sections)
96
- target_link_options(${target_name} PRIVATE -Wl,--exclude-libs,ALL)
97
- target_link_options(${target_name} PRIVATE -flto)
98
- # endif ()
99
- endfunction()
100
-
101
-
102
- # Default target (no specific CPU features)
103
- build_library("rnllama" "")
104
-
105
- if (${ANDROID_ABI} STREQUAL "arm64-v8a")
106
- # ARM64 targets
107
- # Removing fp16 for now as it leads to issues with some models like deepseek r1 distills
108
- # https://github.com/mybigday/llama.rn/pull/110#issuecomment-2609918310
109
- build_library("rnllama_v8" "-march=armv8-a")
110
- build_library("rnllama_v8_2" "-march=armv8.2-a")
111
- build_library("rnllama_v8_2_dotprod" "-march=armv8.2-a+dotprod")
112
- build_library("rnllama_v8_2_i8mm" "-march=armv8.2-a+i8mm")
113
- build_library("rnllama_v8_2_dotprod_i8mm" "-march=armv8.2-a+dotprod+i8mm")
114
-
115
- # https://github.com/ggerganov/llama.cpp/blob/master/docs/android.md#cross-compile-using-android-ndk
116
- # llama.cpp will deal with the cpu features
117
- # build_library("rnllama_v8_7" "-march=armv8.7-a")
118
- # TODO: Add support runtime check for cpu features
119
- # At the moment runtime check is failing.
120
-
121
- elseif (${ANDROID_ABI} STREQUAL "x86_64")
122
- # x86_64 target
123
- build_library("rnllama_x86_64" "-march=x86-64" "-mtune=intel" "-msse4.2" "-mpopcnt")
124
- endif ()
1
+ cmake_minimum_required(VERSION 3.10)
2
+
3
+ project(llama.rn)
4
+
5
+ find_program(CCACHE_FOUND ccache)
6
+ if(CCACHE_FOUND)
7
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
8
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
9
+ endif(CCACHE_FOUND)
10
+
11
+ set(CMAKE_CXX_STANDARD 17)
12
+ set(RNLLAMA_LIB_DIR ${CMAKE_SOURCE_DIR}/../../../cpp)
13
+
14
+ include_directories(${RNLLAMA_LIB_DIR})
15
+
16
+ set(
17
+ SOURCE_FILES
18
+ ${RNLLAMA_LIB_DIR}/ggml.c
19
+ ${RNLLAMA_LIB_DIR}/ggml-alloc.c
20
+ ${RNLLAMA_LIB_DIR}/ggml-backend.cpp
21
+ ${RNLLAMA_LIB_DIR}/ggml-backend-reg.cpp
22
+ ${RNLLAMA_LIB_DIR}/ops.cpp
23
+ ${RNLLAMA_LIB_DIR}/unary-ops.cpp
24
+ ${RNLLAMA_LIB_DIR}/binary-ops.cpp
25
+ ${RNLLAMA_LIB_DIR}/vec.cpp
26
+ ${RNLLAMA_LIB_DIR}/ggml-cpu.c
27
+ ${RNLLAMA_LIB_DIR}/ggml-cpu.cpp
28
+ ${RNLLAMA_LIB_DIR}/ggml-cpu-aarch64.cpp
29
+ ${RNLLAMA_LIB_DIR}/ggml-cpu-quants.c
30
+ ${RNLLAMA_LIB_DIR}/ggml-cpu-traits.cpp
31
+ ${RNLLAMA_LIB_DIR}/ggml-opt.cpp
32
+ ${RNLLAMA_LIB_DIR}/ggml-threading.cpp
33
+ ${RNLLAMA_LIB_DIR}/ggml-quants.c
34
+ ${RNLLAMA_LIB_DIR}/gguf.cpp
35
+ ${RNLLAMA_LIB_DIR}/log.cpp
36
+ ${RNLLAMA_LIB_DIR}/llama-impl.cpp
37
+ ${RNLLAMA_LIB_DIR}/llama-grammar.cpp
38
+ ${RNLLAMA_LIB_DIR}/llama-sampling.cpp
39
+ ${RNLLAMA_LIB_DIR}/llama-vocab.cpp
40
+ ${RNLLAMA_LIB_DIR}/llama-adapter.cpp
41
+ ${RNLLAMA_LIB_DIR}/llama-chat.cpp
42
+ ${RNLLAMA_LIB_DIR}/llama-context.cpp
43
+ ${RNLLAMA_LIB_DIR}/llama-kv-cache.cpp
44
+ ${RNLLAMA_LIB_DIR}/llama-arch.cpp
45
+ ${RNLLAMA_LIB_DIR}/llama-batch.cpp
46
+ ${RNLLAMA_LIB_DIR}/llama-cparams.cpp
47
+ ${RNLLAMA_LIB_DIR}/llama-hparams.cpp
48
+ ${RNLLAMA_LIB_DIR}/llama.cpp
49
+ ${RNLLAMA_LIB_DIR}/llama-model.cpp
50
+ ${RNLLAMA_LIB_DIR}/llama-model-loader.cpp
51
+ ${RNLLAMA_LIB_DIR}/llama-mmap.cpp
52
+ ${RNLLAMA_LIB_DIR}/llama-vocab.cpp
53
+ ${RNLLAMA_LIB_DIR}/llama-memory.cpp
54
+ ${RNLLAMA_LIB_DIR}/llama-io.cpp
55
+ ${RNLLAMA_LIB_DIR}/llama-graph.cpp
56
+ ${RNLLAMA_LIB_DIR}/sampling.cpp
57
+ ${RNLLAMA_LIB_DIR}/unicode-data.cpp
58
+ ${RNLLAMA_LIB_DIR}/unicode.cpp
59
+ ${RNLLAMA_LIB_DIR}/sgemm.cpp
60
+ ${RNLLAMA_LIB_DIR}/common.cpp
61
+ ${RNLLAMA_LIB_DIR}/chat.cpp
62
+ ${RNLLAMA_LIB_DIR}/json-schema-to-grammar.cpp
63
+ ${RNLLAMA_LIB_DIR}/json.hpp
64
+ ${RNLLAMA_LIB_DIR}/minja/minja.hpp
65
+ ${RNLLAMA_LIB_DIR}/minja/chat-template.hpp
66
+ ${RNLLAMA_LIB_DIR}/rn-llama.cpp
67
+ ${CMAKE_SOURCE_DIR}/jni-utils.h
68
+ ${CMAKE_SOURCE_DIR}/jni.cpp
69
+ )
70
+
71
+ find_library(LOG_LIB log)
72
+
73
+ function(build_library target_name cpu_flags)
74
+ add_library(
75
+ ${target_name}
76
+ SHARED
77
+ ${SOURCE_FILES}
78
+ )
79
+
80
+ target_link_libraries(${target_name} ${LOG_LIB} android)
81
+
82
+ target_compile_options(${target_name} PRIVATE -DLM_GGML_USE_CPU -DLM_GGML_USE_CPU_AARCH64 -pthread ${cpu_flags})
83
+
84
+ if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
85
+ target_compile_options(${target_name} PRIVATE -DRNLLAMA_ANDROID_ENABLE_LOGGING)
86
+ endif ()
87
+
88
+ # NOTE: If you want to debug the native code, you can uncomment if and endif
89
+ # Note that it will be extremely slow
90
+ # if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
91
+ target_compile_options(${target_name} PRIVATE -O3 -DNDEBUG -DRNLLAMA_USE_FD_FILE)
92
+ target_compile_options(${target_name} PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)
93
+ target_compile_options(${target_name} PRIVATE -ffunction-sections -fdata-sections)
94
+
95
+ target_link_options(${target_name} PRIVATE -Wl,--gc-sections)
96
+ target_link_options(${target_name} PRIVATE -Wl,--exclude-libs,ALL)
97
+ target_link_options(${target_name} PRIVATE -flto)
98
+ # endif ()
99
+ endfunction()
100
+
101
+
102
+ # Default target (no specific CPU features)
103
+ build_library("rnllama" "")
104
+
105
+ if (${ANDROID_ABI} STREQUAL "arm64-v8a")
106
+ # ARM64 targets
107
+ # Removing fp16 for now as it leads to issues with some models like deepseek r1 distills
108
+ # https://github.com/mybigday/llama.rn/pull/110#issuecomment-2609918310
109
+ build_library("rnllama_v8" "-march=armv8-a")
110
+ build_library("rnllama_v8_2" "-march=armv8.2-a")
111
+ build_library("rnllama_v8_2_dotprod" "-march=armv8.2-a+dotprod")
112
+ build_library("rnllama_v8_2_i8mm" "-march=armv8.2-a+i8mm")
113
+ build_library("rnllama_v8_2_dotprod_i8mm" "-march=armv8.2-a+dotprod+i8mm")
114
+
115
+ # https://github.com/ggerganov/llama.cpp/blob/master/docs/android.md#cross-compile-using-android-ndk
116
+ # llama.cpp will deal with the cpu features
117
+ # build_library("rnllama_v8_7" "-march=armv8.7-a")
118
+ # TODO: Add support runtime check for cpu features
119
+ # At the moment runtime check is failing.
120
+
121
+ elseif (${ANDROID_ABI} STREQUAL "x86_64")
122
+ # x86_64 target
123
+ build_library("rnllama_x86_64" "-march=x86-64" "-mtune=intel" "-msse4.2" "-mpopcnt")
124
+ endif ()