cui-llama.rn 1.7.0 → 1.7.1
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/android/src/main/java/com/rnllama/LlamaContext.java +13 -9
- package/android/src/main/java/com/rnllama/RNLlama.java +19 -2
- 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/cpp/common.cpp +0 -3
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/package.json +1 -1
@@ -112,15 +112,7 @@ public class LlamaContext {
|
|
112
112
|
throw new IllegalArgumentException("File is not in GGUF format");
|
113
113
|
}
|
114
114
|
|
115
|
-
|
116
|
-
Uri uri = Uri.parse(modelName);
|
117
|
-
try {
|
118
|
-
ParcelFileDescriptor pfd = reactContext.getApplicationContext().getContentResolver().openFileDescriptor(uri, "r");
|
119
|
-
modelName = "" + pfd.getFd();
|
120
|
-
} catch (Exception e) {
|
121
|
-
Log.e(NAME, "Failed to convert to FD!");
|
122
|
-
}
|
123
|
-
}
|
115
|
+
modelName = getContentFileDescriptor(modelName);
|
124
116
|
|
125
117
|
// Check if file has GGUF magic numbers
|
126
118
|
this.id = id;
|
@@ -471,6 +463,18 @@ public class LlamaContext {
|
|
471
463
|
freeContext(context);
|
472
464
|
}
|
473
465
|
|
466
|
+
private String getContentFileDescriptor(String modelName) {
|
467
|
+
if (!modelName.startsWith("content://")) return modelName;
|
468
|
+
Uri uri = Uri.parse(modelName);
|
469
|
+
try {
|
470
|
+
ParcelFileDescriptor pfd = reactContext.getApplicationContext().getContentResolver().openFileDescriptor(uri, "r");
|
471
|
+
return "" + pfd.getFd();
|
472
|
+
} catch (Exception e) {
|
473
|
+
Log.e(NAME, "Failed to convert to FD!");
|
474
|
+
}
|
475
|
+
return modelName;
|
476
|
+
}
|
477
|
+
|
474
478
|
static {
|
475
479
|
Log.d(NAME, "Primary ABI: " + Build.SUPPORTED_ABIS[0]);
|
476
480
|
|
@@ -5,6 +5,8 @@ import android.util.Log;
|
|
5
5
|
import android.os.Build;
|
6
6
|
import android.os.Handler;
|
7
7
|
import android.os.AsyncTask;
|
8
|
+
import android.os.ParcelFileDescriptor;
|
9
|
+
import android.net.Uri;
|
8
10
|
|
9
11
|
import com.facebook.react.bridge.Promise;
|
10
12
|
import com.facebook.react.bridge.ReactApplicationContext;
|
@@ -15,6 +17,7 @@ import com.facebook.react.bridge.ReadableArray;
|
|
15
17
|
import com.facebook.react.bridge.WritableMap;
|
16
18
|
import com.facebook.react.bridge.Arguments;
|
17
19
|
|
20
|
+
|
18
21
|
import java.util.HashMap;
|
19
22
|
import java.util.Random;
|
20
23
|
import java.io.File;
|
@@ -68,10 +71,24 @@ public class RNLlama implements LifecycleEventListener {
|
|
68
71
|
promise.resolve(null);
|
69
72
|
}
|
70
73
|
|
74
|
+
private String getContentFileDescriptor(String modelName) {
|
75
|
+
if (!modelName.startsWith("content://")) return modelName;
|
76
|
+
Uri uri = Uri.parse(modelName);
|
77
|
+
try {
|
78
|
+
ParcelFileDescriptor pfd = reactContext.getApplicationContext().getContentResolver().openFileDescriptor(uri, "r");
|
79
|
+
return "" + pfd.getFd();
|
80
|
+
} catch (Exception e) {
|
81
|
+
Log.e(NAME, "Failed to convert to FD!");
|
82
|
+
}
|
83
|
+
return modelName;
|
84
|
+
}
|
85
|
+
|
71
86
|
public void modelInfo(final String model, final ReadableArray skip, final Promise promise) {
|
87
|
+
final String modelPath = getContentFileDescriptor(model);
|
88
|
+
|
72
89
|
new AsyncTask<Void, Void, WritableMap>() {
|
73
90
|
private Exception exception;
|
74
|
-
|
91
|
+
|
75
92
|
@Override
|
76
93
|
protected WritableMap doInBackground(Void... voids) {
|
77
94
|
try {
|
@@ -79,7 +96,7 @@ public class RNLlama implements LifecycleEventListener {
|
|
79
96
|
for (int i = 0; i < skip.size(); i++) {
|
80
97
|
skipArray[i] = skip.getString(i);
|
81
98
|
}
|
82
|
-
return LlamaContext.modelInfo(
|
99
|
+
return LlamaContext.modelInfo(modelPath, skipArray);
|
83
100
|
} catch (Exception e) {
|
84
101
|
exception = e;
|
85
102
|
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/cpp/common.cpp
CHANGED
@@ -1112,9 +1112,6 @@ struct llama_model_params common_model_params_to_llama(common_params & params) {
|
|
1112
1112
|
mparams.tensor_buft_overrides = params.tensor_buft_overrides.data();
|
1113
1113
|
}
|
1114
1114
|
|
1115
|
-
mparams.progress_callback = params.load_progress_callback;
|
1116
|
-
mparams.progress_callback_user_data = params.load_progress_callback_user_data;
|
1117
|
-
|
1118
1115
|
return mparams;
|
1119
1116
|
}
|
1120
1117
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|