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.
- package/README.md +35 -7
- package/android/src/main/CMakeLists.txt +22 -11
- package/android/src/main/java/com/rnllama/LlamaContext.java +42 -6
- package/android/src/main/java/com/rnllama/RNLlama.java +139 -4
- package/android/src/main/jni.cpp +173 -18
- package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
- package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
- package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
- package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +24 -4
- package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +22 -2
- package/cpp/LICENSE +21 -0
- package/cpp/chat.cpp +129 -107
- package/cpp/chat.h +2 -0
- package/cpp/common.cpp +58 -78
- package/cpp/common.h +29 -21
- package/cpp/ggml-alloc.c +4 -1
- package/cpp/ggml-backend.cpp +9 -5
- package/cpp/ggml-backend.h +4 -4
- package/cpp/ggml-cpp.h +1 -1
- package/cpp/ggml-cpu/amx/amx.cpp +221 -0
- package/cpp/ggml-cpu/amx/amx.h +8 -0
- package/cpp/ggml-cpu/amx/common.h +91 -0
- package/cpp/ggml-cpu/amx/mmq.cpp +2511 -0
- package/cpp/ggml-cpu/amx/mmq.h +10 -0
- package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/binary-ops.h +1 -1
- package/cpp/ggml-cpu/common.h +72 -0
- package/cpp/{ggml-cpu-aarch64.cpp → ggml-cpu/ggml-cpu-aarch64.cpp} +809 -103
- package/cpp/{ggml-cpu-quants.c → ggml-cpu/ggml-cpu-quants.c} +306 -6
- package/cpp/{ggml-cpu.c → ggml-cpu/ggml-cpu.c} +114 -55
- package/cpp/{ggml-cpu.cpp → ggml-cpu/ggml-cpu.cpp} +32 -16
- package/cpp/{ops.cpp → ggml-cpu/ops.cpp} +353 -173
- package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/ops.h +2 -20
- package/cpp/{sgemm.cpp → ggml-cpu/sgemm.cpp} +501 -0
- package/{ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers → cpp/ggml-cpu}/simd-mappings.h +7 -3
- package/{ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers → cpp/ggml-cpu}/unary-ops.h +1 -1
- package/cpp/{vec.cpp → ggml-cpu/vec.cpp} +0 -6
- package/{ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers → cpp/ggml-cpu}/vec.h +16 -0
- package/cpp/ggml-cpu.h +5 -0
- package/cpp/ggml-impl.h +16 -9
- package/cpp/ggml-llama-sim.metallib +0 -0
- package/cpp/ggml-llama.metallib +0 -0
- package/cpp/ggml-metal-impl.h +36 -11
- package/cpp/ggml-metal.m +810 -176
- package/cpp/ggml-opt.cpp +373 -190
- package/cpp/ggml-opt.h +49 -28
- package/cpp/ggml-quants.c +0 -6
- package/cpp/ggml.c +227 -282
- package/cpp/ggml.h +82 -101
- package/cpp/gguf.cpp +33 -33
- package/cpp/json-schema-to-grammar.cpp +3 -0
- package/cpp/llama-adapter.cpp +6 -0
- package/cpp/llama-arch.cpp +49 -17
- package/cpp/llama-arch.h +9 -0
- package/cpp/llama-batch.cpp +8 -2
- package/cpp/llama-batch.h +2 -1
- package/cpp/llama-chat.cpp +39 -16
- package/cpp/llama-chat.h +4 -2
- package/cpp/llama-context.cpp +440 -611
- package/cpp/llama-context.h +44 -33
- package/cpp/llama-cparams.h +1 -0
- package/cpp/llama-graph.cpp +214 -291
- package/cpp/llama-graph.h +69 -21
- package/cpp/llama-hparams.cpp +17 -1
- package/cpp/llama-hparams.h +39 -5
- package/cpp/llama-kv-cache.cpp +2067 -620
- package/cpp/llama-kv-cache.h +410 -108
- package/cpp/llama-memory.h +12 -1
- package/cpp/llama-model-loader.cpp +24 -15
- package/cpp/llama-model-saver.cpp +281 -0
- package/cpp/llama-model-saver.h +37 -0
- package/cpp/llama-model.cpp +1089 -359
- package/cpp/llama-model.h +19 -3
- package/cpp/llama-sampling.cpp +20 -7
- package/cpp/llama-vocab.cpp +54 -9
- package/cpp/llama-vocab.h +6 -0
- package/cpp/llama.cpp +14 -0
- package/cpp/llama.h +86 -142
- package/cpp/minja/chat-template.hpp +9 -5
- package/cpp/minja/minja.hpp +69 -36
- package/cpp/rn-llama.cpp +602 -190
- package/cpp/rn-llama.h +34 -8
- package/cpp/sampling.cpp +57 -50
- package/cpp/tools/mtmd/clip-impl.h +462 -0
- package/cpp/tools/mtmd/clip.cpp +4024 -0
- package/cpp/tools/mtmd/clip.h +101 -0
- package/cpp/tools/mtmd/miniaudio.h +93468 -0
- package/cpp/tools/mtmd/mtmd-audio.cpp +855 -0
- package/cpp/tools/mtmd/mtmd-audio.h +62 -0
- package/cpp/tools/mtmd/mtmd-helper.cpp +297 -0
- package/cpp/tools/mtmd/mtmd.cpp +942 -0
- package/cpp/tools/mtmd/mtmd.h +362 -0
- package/cpp/tools/mtmd/stb_image.h +7988 -0
- package/ios/CMakeLists.txt +20 -10
- package/ios/RNLlama.h +6 -0
- package/ios/RNLlama.mm +82 -3
- package/ios/RNLlamaContext.h +5 -1
- package/ios/RNLlamaContext.mm +131 -38
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat.h +2 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/common.h +29 -21
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend.h +4 -4
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpp.h +1 -1
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu.h +5 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-impl.h +16 -9
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-opt.h +49 -28
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml.h +82 -101
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-arch.h +9 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-batch.h +2 -1
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-chat.h +4 -2
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-context.h +44 -33
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cparams.h +1 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-graph.h +69 -21
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-hparams.h +39 -5
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache.h +410 -108
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory.h +12 -1
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model-saver.h +37 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model.h +19 -3
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-vocab.h +6 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama.h +86 -142
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/minja.hpp +69 -36
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-llama.h +34 -8
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/ggml-llama.metallib +0 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +2 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +29 -21
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +4 -4
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +1 -1
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +5 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +16 -9
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +49 -28
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +82 -101
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +9 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +2 -1
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +4 -2
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +44 -33
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +1 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +69 -21
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +39 -5
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +410 -108
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +12 -1
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-saver.h +37 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +19 -3
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +6 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +86 -142
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +69 -36
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +34 -8
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +1 -1
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat.h +2 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/common.h +29 -21
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend.h +4 -4
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpp.h +1 -1
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu.h +5 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-impl.h +16 -9
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-opt.h +49 -28
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml.h +82 -101
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-arch.h +9 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-batch.h +2 -1
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-chat.h +4 -2
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-context.h +44 -33
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cparams.h +1 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-graph.h +69 -21
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-hparams.h +39 -5
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache.h +410 -108
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory.h +12 -1
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model-saver.h +37 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model.h +19 -3
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-vocab.h +6 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama.h +86 -142
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/minja.hpp +69 -36
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-llama.h +34 -8
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/ggml-llama.metallib +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +2 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +29 -21
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +4 -4
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +1 -1
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +5 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +16 -9
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +36 -11
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +49 -28
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +82 -101
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +9 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +2 -1
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +4 -2
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +44 -33
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +1 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +69 -21
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +39 -5
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +410 -108
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +12 -1
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-saver.h +37 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +19 -3
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +6 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +86 -142
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +9 -5
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +69 -36
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +34 -8
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +1 -1
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/jest/mock.js +33 -7
- package/lib/commonjs/NativeRNLlama.js.map +1 -1
- package/lib/commonjs/index.js +153 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeRNLlama.js.map +1 -1
- package/lib/module/index.js +152 -20
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/NativeRNLlama.d.ts +54 -4
- package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +72 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeRNLlama.ts +72 -4
- package/src/index.ts +212 -38
- package/cpp/binary-ops.h +0 -16
- package/cpp/ops.h +0 -128
- package/cpp/simd-mappings.h +0 -888
- package/cpp/unary-ops.h +0 -28
- package/cpp/vec.h +0 -802
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/binary-ops.h +0 -16
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ops.h +0 -128
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/sgemm.h +0 -14
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/simd-mappings.h +0 -888
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/vec.h +0 -802
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +0 -14
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +0 -28
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +0 -802
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/binary-ops.h +0 -16
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ops.h +0 -128
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/sgemm.h +0 -14
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/simd-mappings.h +0 -888
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unary-ops.h +0 -28
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/binary-ops.h +0 -16
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-aarch64.h +0 -8
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-impl.h +0 -512
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-quants.h +0 -63
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu-traits.h +0 -38
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ops.h +0 -128
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/sgemm.h +0 -14
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/simd-mappings.h +0 -888
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unary-ops.h +0 -28
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/vec.h +0 -802
- package/lib/commonjs/chat.js +0 -37
- package/lib/commonjs/chat.js.map +0 -1
- package/lib/module/chat.js +0 -33
- package/lib/module/chat.js.map +0 -1
- package/lib/typescript/chat.d.ts +0 -10
- package/lib/typescript/chat.d.ts.map +0 -1
- package/src/chat.ts +0 -44
- /package/cpp/{binary-ops.cpp → ggml-cpu/binary-ops.cpp} +0 -0
- /package/cpp/{ggml-cpu-aarch64.h → ggml-cpu/ggml-cpu-aarch64.h} +0 -0
- /package/cpp/{ggml-cpu-impl.h → ggml-cpu/ggml-cpu-impl.h} +0 -0
- /package/cpp/{ggml-cpu-quants.h → ggml-cpu/ggml-cpu-quants.h} +0 -0
- /package/cpp/{ggml-cpu-traits.cpp → ggml-cpu/ggml-cpu-traits.cpp} +0 -0
- /package/cpp/{ggml-cpu-traits.h → ggml-cpu/ggml-cpu-traits.h} +0 -0
- /package/cpp/{sgemm.h → ggml-cpu/sgemm.h} +0 -0
- /package/cpp/{unary-ops.cpp → ggml-cpu/unary-ops.cpp} +0 -0
package/android/src/main/jni.cpp
CHANGED
@@ -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 =
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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->
|
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
|
-
|
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
|
-
|
1017
|
-
llama->ctx,
|
1018
|
-
text_chars,
|
1019
|
-
false
|
1020
|
-
);
|
1100
|
+
putBoolean(env, result, "has_media", tokenize_result.has_media);
|
1021
1101
|
|
1022
|
-
|
1023
|
-
for (const auto &
|
1024
|
-
|
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
|
-
|
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"
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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.
|