cui-llama.rn 0.2.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/LICENSE +20 -0
- package/README.md +330 -0
- package/android/build.gradle +107 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/CMakeLists.txt +69 -0
- package/android/src/main/java/com/rnllama/LlamaContext.java +353 -0
- package/android/src/main/java/com/rnllama/RNLlama.java +446 -0
- package/android/src/main/java/com/rnllama/RNLlamaPackage.java +48 -0
- package/android/src/main/jni.cpp +635 -0
- package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +94 -0
- package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +95 -0
- package/cpp/README.md +4 -0
- package/cpp/common.cpp +3237 -0
- package/cpp/common.h +467 -0
- package/cpp/ggml-aarch64.c +2193 -0
- package/cpp/ggml-aarch64.h +39 -0
- package/cpp/ggml-alloc.c +1041 -0
- package/cpp/ggml-alloc.h +76 -0
- package/cpp/ggml-backend-impl.h +153 -0
- package/cpp/ggml-backend.c +2225 -0
- package/cpp/ggml-backend.h +236 -0
- package/cpp/ggml-common.h +1829 -0
- package/cpp/ggml-impl.h +655 -0
- package/cpp/ggml-metal.h +65 -0
- package/cpp/ggml-metal.m +3273 -0
- package/cpp/ggml-quants.c +15022 -0
- package/cpp/ggml-quants.h +132 -0
- package/cpp/ggml.c +22034 -0
- package/cpp/ggml.h +2444 -0
- package/cpp/grammar-parser.cpp +536 -0
- package/cpp/grammar-parser.h +29 -0
- package/cpp/json-schema-to-grammar.cpp +1045 -0
- package/cpp/json-schema-to-grammar.h +8 -0
- package/cpp/json.hpp +24766 -0
- package/cpp/llama.cpp +21789 -0
- package/cpp/llama.h +1201 -0
- package/cpp/log.h +737 -0
- package/cpp/rn-llama.hpp +630 -0
- package/cpp/sampling.cpp +460 -0
- package/cpp/sampling.h +160 -0
- package/cpp/sgemm.cpp +1027 -0
- package/cpp/sgemm.h +14 -0
- package/cpp/unicode-data.cpp +7032 -0
- package/cpp/unicode-data.h +20 -0
- package/cpp/unicode.cpp +812 -0
- package/cpp/unicode.h +64 -0
- package/ios/RNLlama.h +11 -0
- package/ios/RNLlama.mm +302 -0
- package/ios/RNLlama.xcodeproj/project.pbxproj +278 -0
- package/ios/RNLlamaContext.h +39 -0
- package/ios/RNLlamaContext.mm +426 -0
- package/jest/mock.js +169 -0
- package/lib/commonjs/NativeRNLlama.js +10 -0
- package/lib/commonjs/NativeRNLlama.js.map +1 -0
- package/lib/commonjs/grammar.js +574 -0
- package/lib/commonjs/grammar.js.map +1 -0
- package/lib/commonjs/index.js +151 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/module/NativeRNLlama.js +3 -0
- package/lib/module/NativeRNLlama.js.map +1 -0
- package/lib/module/grammar.js +566 -0
- package/lib/module/grammar.js.map +1 -0
- package/lib/module/index.js +129 -0
- package/lib/module/index.js.map +1 -0
- package/lib/typescript/NativeRNLlama.d.ts +107 -0
- package/lib/typescript/NativeRNLlama.d.ts.map +1 -0
- package/lib/typescript/grammar.d.ts +38 -0
- package/lib/typescript/grammar.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +46 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/llama-rn.podspec +56 -0
- package/package.json +230 -0
- package/src/NativeRNLlama.ts +132 -0
- package/src/grammar.ts +849 -0
- package/src/index.ts +182 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
package com.rnllama;
|
2
|
+
|
3
|
+
import androidx.annotation.NonNull;
|
4
|
+
|
5
|
+
import com.facebook.react.bridge.Promise;
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
7
|
+
import com.facebook.react.bridge.ReactMethod;
|
8
|
+
import com.facebook.react.bridge.ReadableMap;
|
9
|
+
import com.facebook.react.bridge.ReadableArray;
|
10
|
+
import com.facebook.react.module.annotations.ReactModule;
|
11
|
+
|
12
|
+
import java.util.HashMap;
|
13
|
+
import java.util.Random;
|
14
|
+
import java.io.File;
|
15
|
+
import java.io.FileInputStream;
|
16
|
+
import java.io.PushbackInputStream;
|
17
|
+
|
18
|
+
@ReactModule(name = RNLlama.NAME)
|
19
|
+
public class RNLlamaModule extends NativeRNLlamaSpec {
|
20
|
+
public static final String NAME = RNLlama.NAME;
|
21
|
+
|
22
|
+
private RNLlama rnllama = null;
|
23
|
+
|
24
|
+
public RNLlamaModule(ReactApplicationContext reactContext) {
|
25
|
+
super(reactContext);
|
26
|
+
rnllama = new RNLlama(reactContext);
|
27
|
+
}
|
28
|
+
|
29
|
+
@Override
|
30
|
+
@NonNull
|
31
|
+
public String getName() {
|
32
|
+
return NAME;
|
33
|
+
}
|
34
|
+
|
35
|
+
@ReactMethod
|
36
|
+
public void setContextLimit(double limit, Promise promise) {
|
37
|
+
rnllama.setContextLimit(limit, promise);
|
38
|
+
}
|
39
|
+
|
40
|
+
@ReactMethod
|
41
|
+
public void initContext(final ReadableMap params, final Promise promise) {
|
42
|
+
rnllama.initContext(params, promise);
|
43
|
+
}
|
44
|
+
|
45
|
+
@ReactMethod
|
46
|
+
public void loadSession(double id, String path, Promise promise) {
|
47
|
+
rnllama.loadSession(id, path, promise);
|
48
|
+
}
|
49
|
+
|
50
|
+
@ReactMethod
|
51
|
+
public void saveSession(double id, String path, double size, Promise promise) {
|
52
|
+
rnllama.saveSession(id, path, size, promise);
|
53
|
+
}
|
54
|
+
|
55
|
+
@ReactMethod
|
56
|
+
public void completion(double id, final ReadableMap params, final Promise promise) {
|
57
|
+
rnllama.completion(id, params, promise);
|
58
|
+
}
|
59
|
+
|
60
|
+
@ReactMethod
|
61
|
+
public void stopCompletion(double id, final Promise promise) {
|
62
|
+
rnllama.stopCompletion(id, promise);
|
63
|
+
}
|
64
|
+
|
65
|
+
@ReactMethod
|
66
|
+
public void tokenize(double id, final String text, final Promise promise) {
|
67
|
+
rnllama.tokenize(id, text, promise);
|
68
|
+
}
|
69
|
+
|
70
|
+
@ReactMethod
|
71
|
+
public void detokenize(double id, final ReadableArray tokens, final Promise promise) {
|
72
|
+
rnllama.detokenize(id, tokens, promise);
|
73
|
+
}
|
74
|
+
|
75
|
+
@ReactMethod
|
76
|
+
public void embedding(double id, final String text, final Promise promise) {
|
77
|
+
rnllama.embedding(id, text, promise);
|
78
|
+
}
|
79
|
+
|
80
|
+
@ReactMethod
|
81
|
+
public void bench(double id, final double pp, final double tg, final double pl, final double nr, final Promise promise) {
|
82
|
+
rnllama.bench(id, pp, tg, pl, nr, promise);
|
83
|
+
}
|
84
|
+
|
85
|
+
@ReactMethod
|
86
|
+
public void releaseContext(double id, Promise promise) {
|
87
|
+
rnllama.releaseContext(id, promise);
|
88
|
+
}
|
89
|
+
|
90
|
+
@ReactMethod
|
91
|
+
public void releaseAllContexts(Promise promise) {
|
92
|
+
rnllama.releaseAllContexts(promise);
|
93
|
+
}
|
94
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
package com.rnllama;
|
2
|
+
|
3
|
+
import androidx.annotation.NonNull;
|
4
|
+
|
5
|
+
import com.facebook.react.bridge.Promise;
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
7
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
8
|
+
import com.facebook.react.bridge.ReactMethod;
|
9
|
+
import com.facebook.react.bridge.ReadableMap;
|
10
|
+
import com.facebook.react.bridge.ReadableArray;
|
11
|
+
import com.facebook.react.module.annotations.ReactModule;
|
12
|
+
|
13
|
+
import java.util.HashMap;
|
14
|
+
import java.util.Random;
|
15
|
+
import java.io.File;
|
16
|
+
import java.io.FileInputStream;
|
17
|
+
import java.io.PushbackInputStream;
|
18
|
+
|
19
|
+
@ReactModule(name = RNLlama.NAME)
|
20
|
+
public class RNLlamaModule extends ReactContextBaseJavaModule {
|
21
|
+
public static final String NAME = RNLlama.NAME;
|
22
|
+
|
23
|
+
private RNLlama rnllama = null;
|
24
|
+
|
25
|
+
public RNLlamaModule(ReactApplicationContext reactContext) {
|
26
|
+
super(reactContext);
|
27
|
+
rnllama = new RNLlama(reactContext);
|
28
|
+
}
|
29
|
+
|
30
|
+
@Override
|
31
|
+
@NonNull
|
32
|
+
public String getName() {
|
33
|
+
return NAME;
|
34
|
+
}
|
35
|
+
|
36
|
+
@ReactMethod
|
37
|
+
public void setContextLimit(double limit, Promise promise) {
|
38
|
+
rnllama.setContextLimit(limit, promise);
|
39
|
+
}
|
40
|
+
|
41
|
+
@ReactMethod
|
42
|
+
public void initContext(final ReadableMap params, final Promise promise) {
|
43
|
+
rnllama.initContext(params, promise);
|
44
|
+
}
|
45
|
+
|
46
|
+
@ReactMethod
|
47
|
+
public void loadSession(double id, String path, Promise promise) {
|
48
|
+
rnllama.loadSession(id, path, promise);
|
49
|
+
}
|
50
|
+
|
51
|
+
@ReactMethod
|
52
|
+
public void saveSession(double id, String path, int size, Promise promise) {
|
53
|
+
rnllama.saveSession(id, path, size, promise);
|
54
|
+
}
|
55
|
+
|
56
|
+
@ReactMethod
|
57
|
+
public void completion(double id, final ReadableMap params, final Promise promise) {
|
58
|
+
rnllama.completion(id, params, promise);
|
59
|
+
}
|
60
|
+
|
61
|
+
@ReactMethod
|
62
|
+
public void stopCompletion(double id, final Promise promise) {
|
63
|
+
rnllama.stopCompletion(id, promise);
|
64
|
+
}
|
65
|
+
|
66
|
+
@ReactMethod
|
67
|
+
public void tokenize(double id, final String text, final Promise promise) {
|
68
|
+
rnllama.tokenize(id, text, promise);
|
69
|
+
}
|
70
|
+
|
71
|
+
@ReactMethod
|
72
|
+
public void detokenize(double id, final ReadableArray tokens, final Promise promise) {
|
73
|
+
rnllama.detokenize(id, tokens, promise);
|
74
|
+
}
|
75
|
+
|
76
|
+
@ReactMethod
|
77
|
+
public void embedding(double id, final String text, final Promise promise) {
|
78
|
+
rnllama.embedding(id, text, promise);
|
79
|
+
}
|
80
|
+
|
81
|
+
@ReactMethod
|
82
|
+
public void bench(double id, final double pp, final double tg, final double pl, final double nr, final Promise promise) {
|
83
|
+
rnllama.bench(id, pp, tg, pl, nr, promise);
|
84
|
+
}
|
85
|
+
|
86
|
+
@ReactMethod
|
87
|
+
public void releaseContext(double id, Promise promise) {
|
88
|
+
rnllama.releaseContext(id, promise);
|
89
|
+
}
|
90
|
+
|
91
|
+
@ReactMethod
|
92
|
+
public void releaseAllContexts(Promise promise) {
|
93
|
+
rnllama.releaseAllContexts(promise);
|
94
|
+
}
|
95
|
+
}
|
package/cpp/README.md
ADDED