cactus-react-native 0.2.10 → 0.2.11
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 +52 -776
- package/android/src/main/CMakeLists.txt +2 -1
- package/android/src/main/java/com/cactus/CactusPackage.java +5 -5
- package/android/src/main/java/com/cactus/LlamaContext.java +1 -67
- package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
- package/android/src/newarch/java/com/cactus/CactusModule.java +0 -2
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
- package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
- package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
- package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
- package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/projectId.js +2 -1
- package/lib/commonjs/projectId.js.map +1 -1
- package/lib/commonjs/tts.js +124 -12
- package/lib/commonjs/tts.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/projectId.js +2 -1
- package/lib/module/projectId.js.map +1 -1
- package/lib/module/tts.js +123 -12
- package/lib/module/tts.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/projectId.d.ts +1 -1
- package/lib/typescript/projectId.d.ts.map +1 -1
- package/lib/typescript/tts.d.ts +46 -2
- package/lib/typescript/tts.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/tts.ts +209 -15
|
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.10)
|
|
|
3
3
|
project(cactus)
|
|
4
4
|
|
|
5
5
|
set(CMAKE_CXX_STANDARD 17)
|
|
6
|
-
set(SOURCE_DIR ${CMAKE_SOURCE_DIR}
|
|
6
|
+
set(SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../../cpp)
|
|
7
7
|
|
|
8
8
|
include_directories(${SOURCE_DIR})
|
|
9
9
|
include_directories(${SOURCE_DIR}/ggml-cpu)
|
|
@@ -121,6 +121,7 @@ function(build_library target_name cpu_flags)
|
|
|
121
121
|
target_link_options(${target_name} PRIVATE -Wl,--gc-sections)
|
|
122
122
|
target_link_options(${target_name} PRIVATE -Wl,--exclude-libs,ALL)
|
|
123
123
|
target_link_options(${target_name} PRIVATE -flto)
|
|
124
|
+
target_link_options(${target_name} PRIVATE -Wl,-z,max-page-size=16384)
|
|
124
125
|
|
|
125
126
|
endfunction()
|
|
126
127
|
|
|
@@ -35,11 +35,11 @@ public class CactusPackage extends TurboReactPackage {
|
|
|
35
35
|
new ReactModuleInfo(
|
|
36
36
|
CactusModule.NAME,
|
|
37
37
|
CactusModule.NAME,
|
|
38
|
-
false,
|
|
39
|
-
false,
|
|
40
|
-
true,
|
|
41
|
-
false,
|
|
42
|
-
isTurboModule
|
|
38
|
+
false,
|
|
39
|
+
false,
|
|
40
|
+
true,
|
|
41
|
+
false,
|
|
42
|
+
isTurboModule
|
|
43
43
|
)
|
|
44
44
|
);
|
|
45
45
|
return moduleInfos;
|
|
@@ -78,51 +78,28 @@ public class LlamaContext {
|
|
|
78
78
|
eventEmitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class);
|
|
79
79
|
this.id = id;
|
|
80
80
|
this.context = initContext(
|
|
81
|
-
// String model,
|
|
82
81
|
params.getString("model"),
|
|
83
|
-
// String chat_template,
|
|
84
82
|
params.hasKey("chat_template") ? params.getString("chat_template") : "",
|
|
85
|
-
// String reasoning_format,
|
|
86
83
|
params.hasKey("reasoning_format") ? params.getString("reasoning_format") : "none",
|
|
87
|
-
// boolean embedding,
|
|
88
84
|
params.hasKey("embedding") ? params.getBoolean("embedding") : false,
|
|
89
|
-
// int embd_normalize,
|
|
90
85
|
params.hasKey("embd_normalize") ? params.getInt("embd_normalize") : -1,
|
|
91
|
-
// int n_ctx,
|
|
92
86
|
params.hasKey("n_ctx") ? params.getInt("n_ctx") : 512,
|
|
93
|
-
// int n_batch,
|
|
94
87
|
params.hasKey("n_batch") ? params.getInt("n_batch") : 512,
|
|
95
|
-
// int n_ubatch,
|
|
96
88
|
params.hasKey("n_ubatch") ? params.getInt("n_ubatch") : 512,
|
|
97
|
-
// int n_threads,
|
|
98
89
|
params.hasKey("n_threads") ? params.getInt("n_threads") : 0,
|
|
99
|
-
// int n_gpu_layers, // TODO: Support this
|
|
100
90
|
params.hasKey("n_gpu_layers") ? params.getInt("n_gpu_layers") : 0,
|
|
101
|
-
// boolean flash_attn,
|
|
102
91
|
params.hasKey("flash_attn") ? params.getBoolean("flash_attn") : false,
|
|
103
|
-
// String cache_type_k,
|
|
104
92
|
params.hasKey("cache_type_k") ? params.getString("cache_type_k") : "f16",
|
|
105
|
-
// String cache_type_v,
|
|
106
93
|
params.hasKey("cache_type_v") ? params.getString("cache_type_v") : "f16",
|
|
107
|
-
// boolean use_mlock,
|
|
108
94
|
params.hasKey("use_mlock") ? params.getBoolean("use_mlock") : true,
|
|
109
|
-
// boolean use_mmap,
|
|
110
95
|
params.hasKey("use_mmap") ? params.getBoolean("use_mmap") : true,
|
|
111
|
-
//boolean vocab_only,
|
|
112
96
|
params.hasKey("vocab_only") ? params.getBoolean("vocab_only") : false,
|
|
113
|
-
// String lora,
|
|
114
97
|
params.hasKey("lora") ? params.getString("lora") : "",
|
|
115
|
-
// float lora_scaled,
|
|
116
98
|
params.hasKey("lora_scaled") ? (float) params.getDouble("lora_scaled") : 1.0f,
|
|
117
|
-
// ReadableArray lora_adapters,
|
|
118
99
|
params.hasKey("lora_list") ? params.getArray("lora_list") : null,
|
|
119
|
-
// float rope_freq_base,
|
|
120
100
|
params.hasKey("rope_freq_base") ? (float) params.getDouble("rope_freq_base") : 0.0f,
|
|
121
|
-
// float rope_freq_scale
|
|
122
101
|
params.hasKey("rope_freq_scale") ? (float) params.getDouble("rope_freq_scale") : 0.0f,
|
|
123
|
-
// int pooling_type,
|
|
124
102
|
params.hasKey("pooling_type") ? params.getInt("pooling_type") : -1,
|
|
125
|
-
// LoadProgressCallback load_progress_callback
|
|
126
103
|
params.hasKey("use_progress_callback") ? new LoadProgressCallback(this) : null
|
|
127
104
|
);
|
|
128
105
|
if (this.context == -1) {
|
|
@@ -257,75 +234,40 @@ public class LlamaContext {
|
|
|
257
234
|
Log.d(NAME, "🚀 ANDROID: About to call doCompletion native method...");
|
|
258
235
|
WritableMap result = doCompletion(
|
|
259
236
|
this.context,
|
|
260
|
-
// String prompt,
|
|
261
237
|
params.getString("prompt"),
|
|
262
|
-
// int chat_format,
|
|
263
238
|
params.hasKey("chat_format") ? params.getInt("chat_format") : 0,
|
|
264
|
-
// String grammar,
|
|
265
239
|
params.hasKey("grammar") ? params.getString("grammar") : "",
|
|
266
|
-
// String json_schema,
|
|
267
240
|
params.hasKey("json_schema") ? params.getString("json_schema") : "",
|
|
268
|
-
// boolean grammar_lazy,
|
|
269
241
|
params.hasKey("grammar_lazy") ? params.getBoolean("grammar_lazy") : false,
|
|
270
|
-
// ReadableArray grammar_triggers,
|
|
271
242
|
params.hasKey("grammar_triggers") ? params.getArray("grammar_triggers") : null,
|
|
272
|
-
// ReadableArray preserved_tokens,
|
|
273
243
|
params.hasKey("preserved_tokens") ? params.getArray("preserved_tokens") : null,
|
|
274
|
-
// float temperature,
|
|
275
244
|
params.hasKey("temperature") ? (float) params.getDouble("temperature") : 0.7f,
|
|
276
|
-
// int n_threads,
|
|
277
245
|
params.hasKey("n_threads") ? params.getInt("n_threads") : 0,
|
|
278
|
-
// int n_predict,
|
|
279
246
|
params.hasKey("n_predict") ? params.getInt("n_predict") : -1,
|
|
280
|
-
// int n_probs,
|
|
281
247
|
params.hasKey("n_probs") ? params.getInt("n_probs") : 0,
|
|
282
|
-
// int penalty_last_n,
|
|
283
248
|
params.hasKey("penalty_last_n") ? params.getInt("penalty_last_n") : 64,
|
|
284
|
-
// float penalty_repeat,
|
|
285
249
|
params.hasKey("penalty_repeat") ? (float) params.getDouble("penalty_repeat") : 1.00f,
|
|
286
|
-
// float penalty_freq,
|
|
287
250
|
params.hasKey("penalty_freq") ? (float) params.getDouble("penalty_freq") : 0.00f,
|
|
288
|
-
// float penalty_present,
|
|
289
251
|
params.hasKey("penalty_present") ? (float) params.getDouble("penalty_present") : 0.00f,
|
|
290
|
-
// float mirostat,
|
|
291
252
|
params.hasKey("mirostat") ? (float) params.getDouble("mirostat") : 0.00f,
|
|
292
|
-
// float mirostat_tau,
|
|
293
253
|
params.hasKey("mirostat_tau") ? (float) params.getDouble("mirostat_tau") : 5.00f,
|
|
294
|
-
// float mirostat_eta,
|
|
295
254
|
params.hasKey("mirostat_eta") ? (float) params.getDouble("mirostat_eta") : 0.10f,
|
|
296
|
-
// int top_k,
|
|
297
255
|
params.hasKey("top_k") ? params.getInt("top_k") : 40,
|
|
298
|
-
// float top_p,
|
|
299
256
|
params.hasKey("top_p") ? (float) params.getDouble("top_p") : 0.95f,
|
|
300
|
-
// float min_p,
|
|
301
257
|
params.hasKey("min_p") ? (float) params.getDouble("min_p") : 0.05f,
|
|
302
|
-
// float xtc_threshold,
|
|
303
258
|
params.hasKey("xtc_threshold") ? (float) params.getDouble("xtc_threshold") : 0.00f,
|
|
304
|
-
// float xtc_probability,
|
|
305
259
|
params.hasKey("xtc_probability") ? (float) params.getDouble("xtc_probability") : 0.00f,
|
|
306
|
-
// float typical_p,
|
|
307
260
|
params.hasKey("typical_p") ? (float) params.getDouble("typical_p") : 1.00f,
|
|
308
|
-
// int seed,
|
|
309
261
|
params.hasKey("seed") ? params.getInt("seed") : -1,
|
|
310
|
-
// String[] stop,
|
|
311
262
|
params.hasKey("stop") ? params.getArray("stop").toArrayList().toArray(new String[0]) : new String[0],
|
|
312
|
-
// boolean ignore_eos,
|
|
313
263
|
params.hasKey("ignore_eos") ? params.getBoolean("ignore_eos") : false,
|
|
314
|
-
// double[][] logit_bias,
|
|
315
264
|
logit_bias,
|
|
316
|
-
// float dry_multiplier,
|
|
317
265
|
params.hasKey("dry_multiplier") ? (float) params.getDouble("dry_multiplier") : 0.00f,
|
|
318
|
-
// float dry_base,
|
|
319
266
|
params.hasKey("dry_base") ? (float) params.getDouble("dry_base") : 1.75f,
|
|
320
|
-
// int dry_allowed_length,
|
|
321
267
|
params.hasKey("dry_allowed_length") ? params.getInt("dry_allowed_length") : 2,
|
|
322
|
-
// int dry_penalty_last_n,
|
|
323
268
|
params.hasKey("dry_penalty_last_n") ? params.getInt("dry_penalty_last_n") : -1,
|
|
324
|
-
// float top_n_sigma,
|
|
325
269
|
params.hasKey("top_n_sigma") ? (float) params.getDouble("top_n_sigma") : -1.0f,
|
|
326
|
-
// String[] dry_sequence_breakers, when undef, we use the default definition from common.h
|
|
327
270
|
params.hasKey("dry_sequence_breakers") ? params.getArray("dry_sequence_breakers").toArrayList().toArray(new String[0]) : new String[]{"\n", ":", "\"", "*"},
|
|
328
|
-
// PartialCompletionCallback partial_completion_callback
|
|
329
271
|
new PartialCompletionCallback(
|
|
330
272
|
this,
|
|
331
273
|
params.hasKey("emit_partial_completion") ? params.getBoolean("emit_partial_completion") : false
|
|
@@ -369,7 +311,6 @@ public class LlamaContext {
|
|
|
369
311
|
WritableMap result = embedding(
|
|
370
312
|
this.context,
|
|
371
313
|
text,
|
|
372
|
-
// int embd_normalize,
|
|
373
314
|
params.hasKey("embd_normalize") ? params.getInt("embd_normalize") : -1
|
|
374
315
|
);
|
|
375
316
|
if (result.hasKey("error")) {
|
|
@@ -406,7 +347,6 @@ public class LlamaContext {
|
|
|
406
347
|
freeContext(context);
|
|
407
348
|
}
|
|
408
349
|
|
|
409
|
-
// Multimodal methods
|
|
410
350
|
public boolean initMultimodal(String mmprojPath, boolean useGpu) {
|
|
411
351
|
return initMultimodal(this.context, mmprojPath, useGpu);
|
|
412
352
|
}
|
|
@@ -508,7 +448,6 @@ public class LlamaContext {
|
|
|
508
448
|
return result;
|
|
509
449
|
}
|
|
510
450
|
|
|
511
|
-
// TTS/Vocoder methods
|
|
512
451
|
public boolean initVocoder(String vocoderModelPath) {
|
|
513
452
|
return initVocoder(this.context, vocoderModelPath);
|
|
514
453
|
}
|
|
@@ -577,7 +516,6 @@ public class LlamaContext {
|
|
|
577
516
|
Log.d(NAME, "- isAtLeastArmV82: " + isAtLeastArmV82);
|
|
578
517
|
Log.d(NAME, "- isAtLeastArmV84: " + isAtLeastArmV84);
|
|
579
518
|
|
|
580
|
-
// TODO: Add runtime check for cpu features
|
|
581
519
|
if (LlamaContext.isArm64V8a()) {
|
|
582
520
|
if (hasDotProd && hasI8mm) {
|
|
583
521
|
Log.d(NAME, "Loading libcactus_v8_2_dotprod_i8mm.so");
|
|
@@ -600,8 +538,6 @@ public class LlamaContext {
|
|
|
600
538
|
System.loadLibrary("cactus_v8");
|
|
601
539
|
loadedLibrary = "cactus_v8";
|
|
602
540
|
}
|
|
603
|
-
// Log.d(NAME, "Loading libcactus_v8_7.so with runtime feature detection");
|
|
604
|
-
// System.loadLibrary("cactus_v8_7");
|
|
605
541
|
} else if (LlamaContext.isX86_64()) {
|
|
606
542
|
Log.d(NAME, "Loading libcactus_x86_64.so");
|
|
607
543
|
System.loadLibrary("cactus_x86_64");
|
|
@@ -657,7 +593,7 @@ public class LlamaContext {
|
|
|
657
593
|
int n_batch,
|
|
658
594
|
int n_ubatch,
|
|
659
595
|
int n_threads,
|
|
660
|
-
int n_gpu_layers,
|
|
596
|
+
int n_gpu_layers,
|
|
661
597
|
boolean flash_attn,
|
|
662
598
|
String cache_type_k,
|
|
663
599
|
String cache_type_v,
|
|
@@ -756,7 +692,6 @@ public class LlamaContext {
|
|
|
756
692
|
protected static native void setupLog(NativeLogCallback logCallback);
|
|
757
693
|
protected static native void unsetLog();
|
|
758
694
|
|
|
759
|
-
// Multimodal native methods
|
|
760
695
|
protected static native boolean initMultimodal(long contextPtr, String mmprojPath, boolean useGpu);
|
|
761
696
|
protected static native boolean isMultimodalEnabled(long contextPtr);
|
|
762
697
|
protected static native boolean isMultimodalSupportVision(long contextPtr);
|
|
@@ -803,7 +738,6 @@ public class LlamaContext {
|
|
|
803
738
|
);
|
|
804
739
|
protected static native WritableMap tokenize(long contextPtr, String text, String[] mediaPaths);
|
|
805
740
|
|
|
806
|
-
// TTS/Vocoder native methods
|
|
807
741
|
protected static native boolean initVocoder(long contextPtr, String vocoderModelPath);
|
|
808
742
|
protected static native boolean isVocoderEnabled(long contextPtr);
|
|
809
743
|
protected static native int getTTSType(long contextPtr);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -117,7 +117,6 @@ public class CactusModule extends NativeCactusSpec {
|
|
|
117
117
|
cactus.getLoadedLoraAdapters(id, promise);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
// New Multimodal Methods
|
|
121
120
|
@ReactMethod
|
|
122
121
|
public void initMultimodal(double id, String mmprojPath, Boolean useGpu, Promise promise) {
|
|
123
122
|
cactus.initMultimodal(id, mmprojPath, useGpu.booleanValue(), promise);
|
|
@@ -148,7 +147,6 @@ public class CactusModule extends NativeCactusSpec {
|
|
|
148
147
|
cactus.multimodalCompletion(id, prompt, mediaPaths, params, promise);
|
|
149
148
|
}
|
|
150
149
|
|
|
151
|
-
// New TTS/Vocoder Methods
|
|
152
150
|
@ReactMethod
|
|
153
151
|
public void initVocoder(double id, String vocoderModelPath, Promise promise) {
|
|
154
152
|
cactus.initVocoder(id, vocoderModelPath, promise);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_chat","_tools","_telemetry","_remote","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_lm","_vlm","_tts","_agent","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","telemetryParams","n_gpu_layers","n_ctx","model","LlamaContext","gpu","reasonNoGPU","constructor","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","getSchemas","result","toolCalled","toolName","toolInput","toolOutput","parseAndExecuteTool","assistantMessage","role","content","tool_calls","push","toolCallId","toolMessage","tool_call_id","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","startTime","Date","now","firstTokenTime","deviceInfo","getDeviceInfo","wrappedCallback","data","tokenListener","tokenResult","Error","promise","then","completionResult","Telemetry","track","event","tok_per_sec","timings","predicted_per_second","toks_generated","predicted_n","ttft","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","embeddingResult","totalTime","mode","embedding_time","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","rewind","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","num_images","length","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_chat","_tools","_telemetry","_remote","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_lm","_vlm","_tts","_agent","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","telemetryParams","n_gpu_layers","n_ctx","model","LlamaContext","gpu","reasonNoGPU","constructor","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","getSchemas","result","toolCalled","toolName","toolInput","toolOutput","parseAndExecuteTool","assistantMessage","role","content","tool_calls","push","toolCallId","toolMessage","tool_call_id","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","startTime","Date","now","firstTokenTime","deviceInfo","getDeviceInfo","wrappedCallback","data","tokenListener","tokenResult","Error","promise","then","completionResult","Telemetry","track","event","tok_per_sec","timings","predicted_per_second","toks_generated","predicted_n","ttft","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","embeddingResult","totalTime","mode","embedding_time","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","rewind","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","num_images","length","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,5 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PROJECT_ID = void 0;
|
|
7
|
-
|
|
7
|
+
// DO NOT EDIT. This file is automatically generated by a post-install script.
|
|
8
|
+
const PROJECT_ID = exports.PROJECT_ID = '3bdfa16e-5da9-48dd-9969-794c13230061';
|
|
8
9
|
//# sourceMappingURL=projectId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PROJECT_ID","exports"],"sourceRoot":"../../src","sources":["projectId.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["PROJECT_ID","exports"],"sourceRoot":"../../src","sources":["projectId.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,sCAAsC","ignoreList":[]}
|
package/lib/commonjs/tts.js
CHANGED
|
@@ -3,26 +3,138 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CactusTTS = void 0;
|
|
6
|
+
exports.TTSError = exports.CactusTTS = void 0;
|
|
7
7
|
var _index = require("./index");
|
|
8
|
+
class TTSError extends Error {
|
|
9
|
+
constructor(message, code, contextId) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.contextId = contextId;
|
|
13
|
+
this.name = 'TTSError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.TTSError = TTSError;
|
|
8
17
|
class CactusTTS {
|
|
9
|
-
|
|
18
|
+
isInitialized = false;
|
|
19
|
+
isReleased = false;
|
|
20
|
+
constructor(context, vocoderPath) {
|
|
10
21
|
this.context = context;
|
|
22
|
+
this.vocoderPath = vocoderPath;
|
|
11
23
|
}
|
|
12
24
|
static async init(context, vocoderModelPath) {
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
if (!context) {
|
|
26
|
+
throw new TTSError('LlamaContext is required', 'INVALID_CONTEXT');
|
|
27
|
+
}
|
|
28
|
+
if (!vocoderModelPath || typeof vocoderModelPath !== 'string') {
|
|
29
|
+
throw new TTSError('Valid vocoder model path is required', 'INVALID_VOCODER_PATH');
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
await (0, _index.initVocoder)(context.id, vocoderModelPath);
|
|
33
|
+
const instance = new CactusTTS(context, vocoderModelPath);
|
|
34
|
+
instance.isInitialized = true;
|
|
35
|
+
instance.ttsType = await (0, _index.getTTSType)(context.id);
|
|
36
|
+
return instance;
|
|
37
|
+
} catch (error) {
|
|
38
|
+
throw new TTSError(`Failed to initialize TTS: ${error instanceof Error ? error.message : 'Unknown error'}`, 'INITIALIZATION_FAILED', context.id);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async generate(textToSpeak, speaker, options) {
|
|
42
|
+
this.validateState();
|
|
43
|
+
this.validateInputs(textToSpeak, speaker);
|
|
44
|
+
const speakerConfig = typeof speaker === 'string' ? speaker : JSON.stringify(speaker.config);
|
|
45
|
+
const startTime = Date.now();
|
|
46
|
+
try {
|
|
47
|
+
const {
|
|
48
|
+
formatted_prompt
|
|
49
|
+
} = await (0, _index.getFormattedAudioCompletion)(this.context.id, speakerConfig, textToSpeak);
|
|
50
|
+
if (!formatted_prompt) {
|
|
51
|
+
throw new TTSError('Failed to format audio prompt', 'FORMATTING_FAILED', this.context.id);
|
|
52
|
+
}
|
|
53
|
+
const tokenizeResult = await this.context.tokenize(formatted_prompt);
|
|
54
|
+
if (!tokenizeResult?.tokens || tokenizeResult.tokens.length === 0) {
|
|
55
|
+
throw new TTSError('Failed to tokenize prompt', 'TOKENIZATION_FAILED', this.context.id);
|
|
56
|
+
}
|
|
57
|
+
const audioResult = await (0, _index.decodeAudioTokens)(this.context.id, tokenizeResult.tokens);
|
|
58
|
+
const endTime = Date.now();
|
|
59
|
+
return {
|
|
60
|
+
...audioResult,
|
|
61
|
+
metadata: {
|
|
62
|
+
duration: endTime - startTime,
|
|
63
|
+
sampleRate: options?.sampleRate,
|
|
64
|
+
format: options?.format || 'wav',
|
|
65
|
+
channels: 1 // Assuming mono output
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
} catch (error) {
|
|
69
|
+
if (error instanceof TTSError) {
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
throw new TTSError(`Audio generation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'GENERATION_FAILED', this.context.id);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async isVocoderReady() {
|
|
76
|
+
if (!this.isInitialized || this.isReleased) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
return await (0, _index.isVocoderEnabled)(this.context.id);
|
|
81
|
+
} catch {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
getTTSType() {
|
|
86
|
+
return this.ttsType;
|
|
87
|
+
}
|
|
88
|
+
getContextId() {
|
|
89
|
+
return this.context.id;
|
|
90
|
+
}
|
|
91
|
+
getVocoderPath() {
|
|
92
|
+
return this.vocoderPath;
|
|
93
|
+
}
|
|
94
|
+
isReady() {
|
|
95
|
+
return this.isInitialized && !this.isReleased;
|
|
96
|
+
}
|
|
97
|
+
static createSpeaker(id, config, metadata) {
|
|
98
|
+
return {
|
|
99
|
+
id,
|
|
100
|
+
config,
|
|
101
|
+
...metadata
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
validateState() {
|
|
105
|
+
if (this.isReleased) {
|
|
106
|
+
throw new TTSError('TTS instance has been released', 'INSTANCE_RELEASED', this.context.id);
|
|
107
|
+
}
|
|
108
|
+
if (!this.isInitialized) {
|
|
109
|
+
throw new TTSError('TTS instance not initialized', 'NOT_INITIALIZED', this.context.id);
|
|
110
|
+
}
|
|
15
111
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
112
|
+
validateInputs(textToSpeak, speaker) {
|
|
113
|
+
if (!textToSpeak || typeof textToSpeak !== 'string' || textToSpeak.trim().length === 0) {
|
|
114
|
+
throw new TTSError('Valid text input is required', 'INVALID_TEXT_INPUT');
|
|
115
|
+
}
|
|
116
|
+
if (textToSpeak.length > 10000) {
|
|
117
|
+
// Reasonable limit
|
|
118
|
+
throw new TTSError('Text input too long (max 10000 characters)', 'TEXT_TOO_LONG');
|
|
119
|
+
}
|
|
120
|
+
if (!speaker) {
|
|
121
|
+
throw new TTSError('Speaker configuration is required', 'INVALID_SPEAKER');
|
|
122
|
+
}
|
|
123
|
+
if (typeof speaker === 'object' && (!speaker.id || !speaker.config)) {
|
|
124
|
+
throw new TTSError('Speaker must have id and config properties', 'INVALID_SPEAKER_FORMAT');
|
|
125
|
+
}
|
|
23
126
|
}
|
|
24
127
|
async release() {
|
|
25
|
-
|
|
128
|
+
if (this.isReleased) {
|
|
129
|
+
return; // Already released, no-op
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
await (0, _index.releaseVocoder)(this.context.id);
|
|
133
|
+
this.isReleased = true;
|
|
134
|
+
this.isInitialized = false;
|
|
135
|
+
} catch (error) {
|
|
136
|
+
throw new TTSError(`Failed to release TTS resources: ${error instanceof Error ? error.message : 'Unknown error'}`, 'RELEASE_FAILED', this.context.id);
|
|
137
|
+
}
|
|
26
138
|
}
|
|
27
139
|
}
|
|
28
140
|
exports.CactusTTS = CactusTTS;
|
package/lib/commonjs/tts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","
|
|
1
|
+
{"version":3,"names":["_index","require","TTSError","Error","constructor","message","code","contextId","name","exports","CactusTTS","isInitialized","isReleased","context","vocoderPath","init","vocoderModelPath","initVocoder","id","instance","ttsType","getTTSType","error","generate","textToSpeak","speaker","options","validateState","validateInputs","speakerConfig","JSON","stringify","config","startTime","Date","now","formatted_prompt","getFormattedAudioCompletion","tokenizeResult","tokenize","tokens","length","audioResult","decodeAudioTokens","endTime","metadata","duration","sampleRate","format","channels","isVocoderReady","isVocoderEnabled","getContextId","getVocoderPath","isReady","createSpeaker","trim","release","releaseVocoder"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":"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","ignoreList":[]}
|