cui-llama.rn 1.4.3 → 1.4.6

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 (134) hide show
  1. package/README.md +93 -114
  2. package/android/src/main/CMakeLists.txt +5 -0
  3. package/android/src/main/java/com/rnllama/LlamaContext.java +91 -17
  4. package/android/src/main/java/com/rnllama/RNLlama.java +37 -4
  5. package/android/src/main/jni-utils.h +6 -0
  6. package/android/src/main/jni.cpp +289 -31
  7. package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
  11. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
  12. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
  13. package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
  14. package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
  15. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +7 -2
  16. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +7 -2
  17. package/cpp/chat-template.hpp +529 -0
  18. package/cpp/chat.cpp +1779 -0
  19. package/cpp/chat.h +135 -0
  20. package/cpp/common.cpp +2064 -1873
  21. package/cpp/common.h +700 -699
  22. package/cpp/ggml-alloc.c +1039 -1042
  23. package/cpp/ggml-alloc.h +1 -1
  24. package/cpp/ggml-backend-impl.h +255 -255
  25. package/cpp/ggml-backend-reg.cpp +586 -582
  26. package/cpp/ggml-backend.cpp +2004 -2002
  27. package/cpp/ggml-backend.h +354 -354
  28. package/cpp/ggml-common.h +1851 -1853
  29. package/cpp/ggml-cpp.h +39 -39
  30. package/cpp/ggml-cpu-aarch64.cpp +4248 -4247
  31. package/cpp/ggml-cpu-aarch64.h +8 -8
  32. package/cpp/ggml-cpu-impl.h +531 -386
  33. package/cpp/ggml-cpu-quants.c +12527 -10920
  34. package/cpp/ggml-cpu-traits.cpp +36 -36
  35. package/cpp/ggml-cpu-traits.h +38 -38
  36. package/cpp/ggml-cpu.c +15766 -14391
  37. package/cpp/ggml-cpu.cpp +655 -635
  38. package/cpp/ggml-cpu.h +138 -135
  39. package/cpp/ggml-impl.h +567 -567
  40. package/cpp/ggml-metal-impl.h +235 -0
  41. package/cpp/ggml-metal.h +1 -1
  42. package/cpp/ggml-metal.m +5146 -4884
  43. package/cpp/ggml-opt.cpp +854 -854
  44. package/cpp/ggml-opt.h +216 -216
  45. package/cpp/ggml-quants.c +5238 -5238
  46. package/cpp/ggml-threading.h +14 -14
  47. package/cpp/ggml.c +6529 -6514
  48. package/cpp/ggml.h +2198 -2194
  49. package/cpp/gguf.cpp +1329 -1329
  50. package/cpp/gguf.h +202 -202
  51. package/cpp/json-schema-to-grammar.cpp +1024 -1045
  52. package/cpp/json-schema-to-grammar.h +21 -8
  53. package/cpp/json.hpp +24766 -24766
  54. package/cpp/llama-adapter.cpp +347 -347
  55. package/cpp/llama-adapter.h +74 -74
  56. package/cpp/llama-arch.cpp +1513 -1487
  57. package/cpp/llama-arch.h +403 -400
  58. package/cpp/llama-batch.cpp +368 -368
  59. package/cpp/llama-batch.h +88 -88
  60. package/cpp/llama-chat.cpp +588 -578
  61. package/cpp/llama-chat.h +53 -52
  62. package/cpp/llama-context.cpp +1775 -1775
  63. package/cpp/llama-context.h +128 -128
  64. package/cpp/llama-cparams.cpp +1 -1
  65. package/cpp/llama-cparams.h +37 -37
  66. package/cpp/llama-cpp.h +30 -30
  67. package/cpp/llama-grammar.cpp +1219 -1139
  68. package/cpp/llama-grammar.h +173 -143
  69. package/cpp/llama-hparams.cpp +71 -71
  70. package/cpp/llama-hparams.h +139 -139
  71. package/cpp/llama-impl.cpp +167 -167
  72. package/cpp/llama-impl.h +61 -61
  73. package/cpp/llama-kv-cache.cpp +718 -718
  74. package/cpp/llama-kv-cache.h +219 -218
  75. package/cpp/llama-mmap.cpp +600 -590
  76. package/cpp/llama-mmap.h +68 -67
  77. package/cpp/llama-model-loader.cpp +1124 -1124
  78. package/cpp/llama-model-loader.h +167 -167
  79. package/cpp/llama-model.cpp +4087 -3997
  80. package/cpp/llama-model.h +370 -370
  81. package/cpp/llama-sampling.cpp +2558 -2408
  82. package/cpp/llama-sampling.h +32 -32
  83. package/cpp/llama-vocab.cpp +3264 -3247
  84. package/cpp/llama-vocab.h +125 -125
  85. package/cpp/llama.cpp +10284 -10077
  86. package/cpp/llama.h +1354 -1323
  87. package/cpp/log.cpp +393 -401
  88. package/cpp/log.h +132 -121
  89. package/cpp/minja/chat-template.hpp +529 -0
  90. package/cpp/minja/minja.hpp +2915 -0
  91. package/cpp/minja.hpp +2915 -0
  92. package/cpp/rn-llama.cpp +66 -6
  93. package/cpp/rn-llama.h +26 -1
  94. package/cpp/sampling.cpp +570 -505
  95. package/cpp/sampling.h +3 -0
  96. package/cpp/sgemm.cpp +2598 -2597
  97. package/cpp/sgemm.h +14 -14
  98. package/cpp/speculative.cpp +278 -277
  99. package/cpp/speculative.h +28 -28
  100. package/cpp/unicode.cpp +9 -2
  101. package/ios/CMakeLists.txt +6 -0
  102. package/ios/RNLlama.h +0 -8
  103. package/ios/RNLlama.mm +27 -3
  104. package/ios/RNLlamaContext.h +10 -1
  105. package/ios/RNLlamaContext.mm +269 -57
  106. package/jest/mock.js +21 -2
  107. package/lib/commonjs/NativeRNLlama.js.map +1 -1
  108. package/lib/commonjs/grammar.js +3 -0
  109. package/lib/commonjs/grammar.js.map +1 -1
  110. package/lib/commonjs/index.js +87 -13
  111. package/lib/commonjs/index.js.map +1 -1
  112. package/lib/module/NativeRNLlama.js.map +1 -1
  113. package/lib/module/grammar.js +3 -0
  114. package/lib/module/grammar.js.map +1 -1
  115. package/lib/module/index.js +86 -13
  116. package/lib/module/index.js.map +1 -1
  117. package/lib/typescript/NativeRNLlama.d.ts +107 -2
  118. package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
  119. package/lib/typescript/grammar.d.ts.map +1 -1
  120. package/lib/typescript/index.d.ts +32 -7
  121. package/lib/typescript/index.d.ts.map +1 -1
  122. package/llama-rn.podspec +1 -1
  123. package/package.json +3 -2
  124. package/src/NativeRNLlama.ts +115 -3
  125. package/src/grammar.ts +3 -0
  126. package/src/index.ts +138 -21
  127. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeCCompiler.cmake +0 -81
  128. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeSystem.cmake +0 -15
  129. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CompilerIdC/CMakeCCompilerId.c +0 -904
  130. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CompilerIdC/CMakeCCompilerId.o +0 -0
  131. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -919
  132. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  133. package/android/src/main/build-arm64/CMakeFiles/CMakeConfigureLog.yaml +0 -55
  134. package/cpp/rn-llama.hpp +0 -913
package/cpp/llama-mmap.h CHANGED
@@ -1,67 +1,68 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <vector>
5
-
6
- struct llama_file;
7
- struct llama_mmap;
8
- struct llama_mlock;
9
-
10
- using llama_files = std::vector<std::unique_ptr<llama_file>>;
11
- using llama_mmaps = std::vector<std::unique_ptr<llama_mmap>>;
12
- using llama_mlocks = std::vector<std::unique_ptr<llama_mlock>>;
13
-
14
- struct llama_file {
15
- llama_file(const char * fname, const char * mode);
16
- ~llama_file();
17
-
18
- size_t tell() const;
19
- size_t size() const;
20
-
21
- int file_id() const; // fileno overload
22
-
23
- void seek(size_t offset, int whence) const;
24
-
25
- void read_raw(void * ptr, size_t len) const;
26
- uint32_t read_u32() const;
27
-
28
- void write_raw(const void * ptr, size_t len) const;
29
- void write_u32(uint32_t val) const;
30
-
31
- private:
32
- struct impl;
33
- std::unique_ptr<impl> pimpl;
34
- };
35
-
36
- struct llama_mmap {
37
- llama_mmap(const llama_mmap &) = delete;
38
- llama_mmap(struct llama_file * file, size_t prefetch = (size_t) -1, bool numa = false);
39
- ~llama_mmap();
40
-
41
- size_t size() const;
42
- void * addr() const;
43
-
44
- void unmap_fragment(size_t first, size_t last);
45
-
46
- static const bool SUPPORTED;
47
-
48
- private:
49
- struct impl;
50
- std::unique_ptr<impl> pimpl;
51
- };
52
-
53
- struct llama_mlock {
54
- llama_mlock();
55
- ~llama_mlock();
56
-
57
- void init(void * ptr);
58
- void grow_to(size_t target_size);
59
-
60
- static const bool SUPPORTED;
61
-
62
- private:
63
- struct impl;
64
- std::unique_ptr<impl> pimpl;
65
- };
66
-
67
- size_t llama_path_max();
1
+ #pragma once
2
+
3
+ #include <cstdint>
4
+ #include <memory>
5
+ #include <vector>
6
+
7
+ struct llama_file;
8
+ struct llama_mmap;
9
+ struct llama_mlock;
10
+
11
+ using llama_files = std::vector<std::unique_ptr<llama_file>>;
12
+ using llama_mmaps = std::vector<std::unique_ptr<llama_mmap>>;
13
+ using llama_mlocks = std::vector<std::unique_ptr<llama_mlock>>;
14
+
15
+ struct llama_file {
16
+ llama_file(const char * fname, const char * mode);
17
+ ~llama_file();
18
+
19
+ size_t tell() const;
20
+ size_t size() const;
21
+
22
+ int file_id() const; // fileno overload
23
+
24
+ void seek(size_t offset, int whence) const;
25
+
26
+ void read_raw(void * ptr, size_t len) const;
27
+ uint32_t read_u32() const;
28
+
29
+ void write_raw(const void * ptr, size_t len) const;
30
+ void write_u32(uint32_t val) const;
31
+
32
+ private:
33
+ struct impl;
34
+ std::unique_ptr<impl> pimpl;
35
+ };
36
+
37
+ struct llama_mmap {
38
+ llama_mmap(const llama_mmap &) = delete;
39
+ llama_mmap(struct llama_file * file, size_t prefetch = (size_t) -1, bool numa = false);
40
+ ~llama_mmap();
41
+
42
+ size_t size() const;
43
+ void * addr() const;
44
+
45
+ void unmap_fragment(size_t first, size_t last);
46
+
47
+ static const bool SUPPORTED;
48
+
49
+ private:
50
+ struct impl;
51
+ std::unique_ptr<impl> pimpl;
52
+ };
53
+
54
+ struct llama_mlock {
55
+ llama_mlock();
56
+ ~llama_mlock();
57
+
58
+ void init(void * ptr);
59
+ void grow_to(size_t target_size);
60
+
61
+ static const bool SUPPORTED;
62
+
63
+ private:
64
+ struct impl;
65
+ std::unique_ptr<impl> pimpl;
66
+ };
67
+
68
+ size_t llama_path_max();