cactus-react-native 0.2.2 → 0.2.4

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 (80) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/com/cactus/Cactus.java +35 -0
  3. package/android/src/main/java/com/cactus/LlamaContext.java +18 -1
  4. package/android/src/main/jni.cpp +11 -0
  5. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  6. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  11. package/android/src/newarch/java/com/cactus/CactusModule.java +5 -0
  12. package/android/src/oldarch/java/com/cactus/CactusModule.java +5 -0
  13. package/ios/Cactus.mm +21 -0
  14. package/ios/CactusContext.h +1 -0
  15. package/ios/CactusContext.mm +4 -0
  16. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
  17. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  18. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
  19. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  20. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
  21. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
  22. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
  23. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  24. package/lib/commonjs/NativeCactus.js +0 -1
  25. package/lib/commonjs/NativeCactus.js.map +1 -1
  26. package/lib/commonjs/chat.js +33 -0
  27. package/lib/commonjs/chat.js.map +1 -1
  28. package/lib/commonjs/index.js +0 -23
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/commonjs/lm.js +69 -32
  31. package/lib/commonjs/lm.js.map +1 -1
  32. package/lib/commonjs/tools.js +0 -7
  33. package/lib/commonjs/tools.js.map +1 -1
  34. package/lib/commonjs/tts.js +1 -4
  35. package/lib/commonjs/tts.js.map +1 -1
  36. package/lib/commonjs/vlm.js +25 -7
  37. package/lib/commonjs/vlm.js.map +1 -1
  38. package/lib/module/NativeCactus.js +0 -3
  39. package/lib/module/NativeCactus.js.map +1 -1
  40. package/lib/module/chat.js +31 -0
  41. package/lib/module/chat.js.map +1 -1
  42. package/lib/module/index.js +1 -10
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/lm.js +70 -32
  45. package/lib/module/lm.js.map +1 -1
  46. package/lib/module/tools.js +0 -7
  47. package/lib/module/tools.js.map +1 -1
  48. package/lib/module/tts.js +1 -4
  49. package/lib/module/tts.js.map +1 -1
  50. package/lib/module/vlm.js +25 -7
  51. package/lib/module/vlm.js.map +1 -1
  52. package/lib/typescript/NativeCactus.d.ts +1 -142
  53. package/lib/typescript/NativeCactus.d.ts.map +1 -1
  54. package/lib/typescript/chat.d.ts +10 -0
  55. package/lib/typescript/chat.d.ts.map +1 -1
  56. package/lib/typescript/index.d.ts +2 -4
  57. package/lib/typescript/index.d.ts.map +1 -1
  58. package/lib/typescript/lm.d.ts +13 -7
  59. package/lib/typescript/lm.d.ts.map +1 -1
  60. package/lib/typescript/tools.d.ts.map +1 -1
  61. package/lib/typescript/tts.d.ts.map +1 -1
  62. package/lib/typescript/vlm.d.ts +3 -1
  63. package/lib/typescript/vlm.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/src/NativeCactus.ts +6 -175
  66. package/src/chat.ts +42 -1
  67. package/src/index.ts +6 -17
  68. package/src/lm.ts +81 -26
  69. package/src/tools.ts +0 -5
  70. package/src/tts.ts +1 -4
  71. package/src/vlm.ts +35 -13
  72. package/android/src/main/jniLibs/x86_64/libcactus.so +0 -0
  73. package/android/src/main/jniLibs/x86_64/libcactus_x86_64.so +0 -0
  74. package/lib/commonjs/grammar.js +0 -560
  75. package/lib/commonjs/grammar.js.map +0 -1
  76. package/lib/module/grammar.js +0 -553
  77. package/lib/module/grammar.js.map +0 -1
  78. package/lib/typescript/grammar.d.ts +0 -37
  79. package/lib/typescript/grammar.d.ts.map +0 -1
  80. package/src/grammar.ts +0 -854
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Cactus","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","Tools","parseAndExecuteTool","Telemetry","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","OS","logListeners","addListener","evt","forEach","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","default","getFormattedChat","messages","template","params","chat","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","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","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","CactusLM","CactusVLM","CactusTTS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Cactus","formatChat","Tools","parseAndExecuteTool","Telemetry","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","OS","logListeners","addListener","evt","forEach","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","default","getFormattedChat","messages","template","params","chat","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","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","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","CactusLM","CactusVLM","CactusTTS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/lm.js CHANGED
@@ -2,59 +2,98 @@
2
2
 
3
3
  import { initLlama } from './index';
4
4
  // @ts-ignore
5
- import { Platform } from 'react-native';
5
+
6
6
  import { Telemetry } from './telemetry';
7
7
  import { setCactusToken, getVertexAIEmbedding } from './remote';
8
+ import { ConversationHistoryManager } from './chat';
8
9
  export class CactusLM {
9
10
  constructor(context) {
10
11
  this.context = context;
12
+ this.conversationHistoryManager = new ConversationHistoryManager();
11
13
  }
12
- static async init(params, onProgress, cactusToken) {
14
+ static async init(params, onProgress, cactusToken, retryOptions) {
13
15
  if (cactusToken) {
14
16
  setCactusToken(cactusToken);
15
17
  }
16
-
17
- // Avoid two back-to-back loads on devices where GPU off-load is unsupported (Android).
18
- const needGpuAttempt = Platform.OS !== 'android' && (params.n_gpu_layers ?? 0) > 0;
19
- const configs = needGpuAttempt ? [params, {
20
- ...params,
21
- n_gpu_layers: 0
22
- }] : [{
18
+ const maxRetries = retryOptions?.maxRetries ?? 3;
19
+ const delayMs = retryOptions?.delayMs ?? 1000;
20
+ const configs = [params, {
23
21
  ...params,
24
22
  n_gpu_layers: 0
25
23
  }];
26
- for (const config of configs) {
27
- try {
28
- const context = await initLlama(config, onProgress);
29
- return {
30
- lm: new CactusLM(context),
31
- error: null
24
+ const sleep = ms => {
25
+ return new Promise(resolve => {
26
+ const start = Date.now();
27
+ const wait = () => {
28
+ if (Date.now() - start >= ms) {
29
+ resolve();
30
+ } else {
31
+ Promise.resolve().then(wait);
32
+ }
32
33
  };
33
- } catch (e) {
34
- Telemetry.error(e, {
35
- n_gpu_layers: config.n_gpu_layers ?? null,
36
- n_ctx: config.n_ctx ?? null,
37
- model: config.model ?? null
38
- });
39
- if (configs.indexOf(config) === configs.length - 1) {
34
+ wait();
35
+ });
36
+ };
37
+ for (const config of configs) {
38
+ let lastError = null;
39
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
40
+ try {
41
+ const context = await initLlama(config, onProgress);
40
42
  return {
41
- lm: null,
42
- error: e
43
+ lm: new CactusLM(context),
44
+ error: null
43
45
  };
46
+ } catch (e) {
47
+ lastError = e;
48
+ const isLastConfig = configs.indexOf(config) === configs.length - 1;
49
+ const isLastAttempt = attempt === maxRetries;
50
+ Telemetry.error(e, {
51
+ n_gpu_layers: config.n_gpu_layers ?? null,
52
+ n_ctx: config.n_ctx ?? null,
53
+ model: config.model ?? null
54
+ });
55
+ if (!isLastAttempt) {
56
+ const delay = delayMs * Math.pow(2, attempt - 1);
57
+ await sleep(delay);
58
+ } else if (!isLastConfig) {
59
+ break;
60
+ }
44
61
  }
45
62
  }
63
+ if (configs.indexOf(config) === configs.length - 1 && lastError) {
64
+ return {
65
+ lm: null,
66
+ error: lastError
67
+ };
68
+ }
46
69
  }
47
70
  return {
48
71
  lm: null,
49
- error: new Error('Failed to initialize CactusLM')
72
+ error: new Error('Failed to initialize CactusLM after all retries')
50
73
  };
51
74
  }
52
- async completion(messages, params = {}, callback) {
53
- return await this.context.completion({
54
- messages,
75
+ completion = async (messages, params = {}, callback) => {
76
+ const {
77
+ newMessages,
78
+ requiresReset
79
+ } = this.conversationHistoryManager.processNewMessages(messages);
80
+ if (requiresReset) {
81
+ this.context?.rewind();
82
+ this.conversationHistoryManager.reset();
83
+ }
84
+ if (newMessages.length === 0) {
85
+ console.warn('No messages to complete!');
86
+ }
87
+ const result = await this.context.completion({
88
+ messages: newMessages,
55
89
  ...params
56
90
  }, callback);
57
- }
91
+ this.conversationHistoryManager.update(newMessages, {
92
+ role: 'assistant',
93
+ content: result.content
94
+ });
95
+ return result;
96
+ };
58
97
  async embedding(text, params, mode = 'local') {
59
98
  let result;
60
99
  let lastError = null;
@@ -98,10 +137,9 @@ export class CactusLM {
98
137
  embedding: embeddingValues
99
138
  };
100
139
  }
101
- async rewind() {
102
- // @ts-ignore
140
+ rewind = async () => {
103
141
  return this.context?.rewind();
104
- }
142
+ };
105
143
  async release() {
106
144
  return this.context.release();
107
145
  }
@@ -1 +1 @@
1
- {"version":3,"names":["initLlama","Platform","Telemetry","setCactusToken","getVertexAIEmbedding","CactusLM","constructor","context","init","params","onProgress","cactusToken","needGpuAttempt","OS","n_gpu_layers","configs","config","lm","error","e","n_ctx","model","indexOf","length","Error","completion","messages","callback","embedding","text","mode","result","lastError","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","rewind","release"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["initLlama","Telemetry","setCactusToken","getVertexAIEmbedding","ConversationHistoryManager","CactusLM","constructor","context","conversationHistoryManager","init","params","onProgress","cactusToken","retryOptions","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","lm","error","e","isLastConfig","indexOf","length","isLastAttempt","n_ctx","model","delay","Math","pow","Error","completion","messages","callback","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","result","update","role","content","embedding","text","mode","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","release"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAsB,SAAS;AACjD;;AAWA,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,UAAU;AAC/D,SAASC,0BAA0B,QAAQ,QAAQ;AAOnD,OAAO,MAAMC,QAAQ,CAAC;EAIVC,WAAWA,CAACC,OAAqB,EAAE;IAC3C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,0BAA0B,GAAG,IAAIJ,0BAA0B,CAAC,CAAC;EACpE;EAEA,aAAaK,IAAIA,CACfC,MAAqB,EACrBC,UAAuC,EACvCC,WAAoB,EACpBC,YAAwD,EAC/B;IACzB,IAAID,WAAW,EAAE;MACfV,cAAc,CAACU,WAAW,CAAC;IAC7B;IAEA,MAAME,UAAU,GAAGD,YAAY,EAAEC,UAAU,IAAI,CAAC;IAChD,MAAMC,OAAO,GAAGF,YAAY,EAAEE,OAAO,IAAI,IAAI;IAE7C,MAAMC,OAAO,GAAG,CACdN,MAAM,EACN;MAAE,GAAGA,MAAM;MAAEO,YAAY,EAAE;IAAE,CAAC,CAC/B;IAED,MAAMC,KAAK,GAAIC,EAAU,IAAoB;MAC3C,OAAO,IAAIC,OAAO,CAACC,OAAO,IAAI;QAC5B,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;QACxB,MAAMC,IAAI,GAAGA,CAAA,KAAM;UACjB,IAAIF,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,IAAIH,EAAE,EAAE;YAC5BE,OAAO,CAAC,CAAC;UACX,CAAC,MAAM;YACLD,OAAO,CAACC,OAAO,CAAC,CAAC,CAACK,IAAI,CAACD,IAAI,CAAC;UAC9B;QACF,CAAC;QACDA,IAAI,CAAC,CAAC;MACR,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,MAAME,MAAM,IAAIX,OAAO,EAAE;MAC5B,IAAIY,SAAuB,GAAG,IAAI;MAElC,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAIf,UAAU,EAAEe,OAAO,EAAE,EAAE;QACtD,IAAI;UACF,MAAMtB,OAAO,GAAG,MAAMP,SAAS,CAAC2B,MAAM,EAAEhB,UAAU,CAAC;UACnD,OAAO;YAAEmB,EAAE,EAAE,IAAIzB,QAAQ,CAACE,OAAO,CAAC;YAAEwB,KAAK,EAAE;UAAK,CAAC;QACnD,CAAC,CAAC,OAAOC,CAAC,EAAE;UACVJ,SAAS,GAAGI,CAAU;UACtB,MAAMC,YAAY,GAAGjB,OAAO,CAACkB,OAAO,CAACP,MAAM,CAAC,KAAKX,OAAO,CAACmB,MAAM,GAAG,CAAC;UACnE,MAAMC,aAAa,GAAGP,OAAO,KAAKf,UAAU;UAE5Cb,SAAS,CAAC8B,KAAK,CAACC,CAAC,EAAW;YAC1Bf,YAAY,EAAEU,MAAM,CAACV,YAAY,IAAI,IAAI;YACzCoB,KAAK,EAAEV,MAAM,CAACU,KAAK,IAAI,IAAI;YAC3BC,KAAK,EAAEX,MAAM,CAACW,KAAK,IAAI;UACzB,CAAC,CAAC;UAEF,IAAI,CAACF,aAAa,EAAE;YAClB,MAAMG,KAAK,GAAGxB,OAAO,GAAGyB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEZ,OAAO,GAAG,CAAC,CAAC;YAChD,MAAMX,KAAK,CAACqB,KAAK,CAAC;UACpB,CAAC,MAAM,IAAI,CAACN,YAAY,EAAE;YACxB;UACF;QACF;MACF;MAEA,IAAIjB,OAAO,CAACkB,OAAO,CAACP,MAAM,CAAC,KAAKX,OAAO,CAACmB,MAAM,GAAG,CAAC,IAAIP,SAAS,EAAE;QAC/D,OAAO;UAAEE,EAAE,EAAE,IAAI;UAAEC,KAAK,EAAEH;QAAU,CAAC;MACvC;IACF;IACA,OAAO;MAAEE,EAAE,EAAE,IAAI;MAAEC,KAAK,EAAE,IAAIW,KAAK,CAAC,iDAAiD;IAAE,CAAC;EAC1F;EAEAC,UAAU,GAAG,MAAAA,CACXC,QAAsC,EACtClC,MAAwB,GAAG,CAAC,CAAC,EAC7BmC,QAA8B,KACM;IACpC,MAAM;MAAEC,WAAW;MAAEC;IAAc,CAAC,GAClC,IAAI,CAACvC,0BAA0B,CAACwC,kBAAkB,CAACJ,QAAQ,CAAC;IAE9D,IAAIG,aAAa,EAAE;MACjB,IAAI,CAACxC,OAAO,EAAE0C,MAAM,CAAC,CAAC;MACtB,IAAI,CAACzC,0BAA0B,CAAC0C,KAAK,CAAC,CAAC;IACzC;IAEA,IAAIJ,WAAW,CAACX,MAAM,KAAK,CAAC,EAAE;MAC5BgB,OAAO,CAACC,IAAI,CAAC,0BAA0B,CAAC;IAC1C;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAAC9C,OAAO,CAACoC,UAAU,CAAC;MAAEC,QAAQ,EAAEE,WAAW;MAAE,GAAGpC;IAAO,CAAC,EAAEmC,QAAQ,CAAC;IAE5F,IAAI,CAACrC,0BAA0B,CAAC8C,MAAM,CAACR,WAAW,EAAE;MAClDS,IAAI,EAAE,WAAW;MACjBC,OAAO,EAAEH,MAAM,CAACG;IAClB,CAAC,CAAC;IAEF,OAAOH,MAAM;EACf,CAAC;EAED,MAAMI,SAASA,CACbC,IAAY,EACZhD,MAAwB,EACxBiD,IAAY,GAAG,OAAO,EACU;IAChC,IAAIN,MAA6B;IACjC,IAAIzB,SAAuB,GAAG,IAAI;IAElC,IAAI+B,IAAI,KAAK,QAAQ,EAAE;MACrBN,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACF,IAAI,CAAC;IAClD,CAAC,MAAM,IAAIC,IAAI,KAAK,OAAO,EAAE;MAC3BN,MAAM,GAAG,MAAM,IAAI,CAACQ,qBAAqB,CAACH,IAAI,EAAEhD,MAAM,CAAC;IACzD,CAAC,MAAM,IAAIiD,IAAI,KAAK,YAAY,EAAE;MAChC,IAAI;QACFN,MAAM,GAAG,MAAM,IAAI,CAACQ,qBAAqB,CAACH,IAAI,EAAEhD,MAAM,CAAC;MACzD,CAAC,CAAC,OAAOsB,CAAC,EAAE;QACVJ,SAAS,GAAGI,CAAU;QACtB,IAAI;UACFqB,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACF,IAAI,CAAC;QAClD,CAAC,CAAC,OAAOI,WAAW,EAAE;UACpB,MAAMlC,SAAS;QACjB;MACF;IACF,CAAC,MAAM,IAAI+B,IAAI,KAAK,aAAa,EAAE;MACjC,IAAI;QACFN,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACF,IAAI,CAAC;MAClD,CAAC,CAAC,OAAO1B,CAAC,EAAE;QACVJ,SAAS,GAAGI,CAAU;QACtB,IAAI;UACFqB,MAAM,GAAG,MAAM,IAAI,CAACQ,qBAAqB,CAACH,IAAI,EAAEhD,MAAM,CAAC;QACzD,CAAC,CAAC,OAAOqD,UAAU,EAAE;UACnB,MAAMnC,SAAS;QACjB;MACF;IACF,CAAC,MAAM;MACL,MAAM,IAAIc,KAAK,CAAC,gBAAgB,GAAGiB,IAAI,GAAG,6DAA6D,CAAC;IAC1G;IACA,OAAON,MAAM;EACf;EAEA,MAAgBQ,qBAAqBA,CAACH,IAAY,EAAEhD,MAAwB,EAAkC;IAC5G,OAAO,IAAI,CAACH,OAAO,CAACkD,SAAS,CAACC,IAAI,EAAEhD,MAAM,CAAC;EAC7C;EAEA,MAAgBkD,sBAAsBA,CAACF,IAAY,EAAkC;IACnF,MAAMM,eAAe,GAAG,MAAM7D,oBAAoB,CAACuD,IAAI,CAAC;IACxD,OAAO;MACLD,SAAS,EAAEO;IACb,CAAC;EACH;EAEAf,MAAM,GAAG,MAAAA,CAAA,KAA2B;IAClC,OAAO,IAAI,CAAC1C,OAAO,EAAE0C,MAAM,CAAC,CAAC;EAC/B,CAAC;EAED,MAAMgB,OAAOA,CAAA,EAAkB;IAC7B,OAAO,IAAI,CAAC1D,OAAO,CAAC0D,OAAO,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
@@ -37,7 +37,6 @@ export class Tools {
37
37
  }
38
38
  export async function parseAndExecuteTool(result, tools) {
39
39
  if (!result.tool_calls || result.tool_calls.length === 0) {
40
- // console.log('No tool calls found');
41
40
  return {
42
41
  toolCalled: false
43
42
  };
@@ -45,18 +44,13 @@ export async function parseAndExecuteTool(result, tools) {
45
44
  try {
46
45
  const toolCall = result.tool_calls[0];
47
46
  if (!toolCall) {
48
- // console.log('No tool call found');
49
47
  return {
50
48
  toolCalled: false
51
49
  };
52
50
  }
53
51
  const toolName = toolCall.function.name;
54
52
  const toolInput = JSON.parse(toolCall.function.arguments);
55
-
56
- // console.log('Calling tool:', toolName, toolInput);
57
53
  const toolOutput = await tools.execute(toolName, toolInput);
58
- // console.log('Tool called result:', toolOutput);
59
-
60
54
  return {
61
55
  toolCalled: true,
62
56
  toolName,
@@ -64,7 +58,6 @@ export async function parseAndExecuteTool(result, tools) {
64
58
  toolOutput
65
59
  };
66
60
  } catch (error) {
67
- // console.error('Error parsing tool call:', error);
68
61
  return {
69
62
  toolCalled: false
70
63
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Tools","tools","Map","add","func","description","parameters","set","name","required","Object","entries","filter","_","param","map","key","getSchemas","Array","from","type","function","properties","execute","args","tool","get","Error","values","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;AAeA,OAAO,MAAMA,KAAK,CAAC;EACTC,KAAK,GAAG,IAAIC,GAAG,CAAe,CAAC;EAEvCC,GAAGA,CACCC,IAAc,EACdC,WAAmB,EACnBC,UAAsC,EACtC;IACA,IAAI,CAACL,KAAK,CAACM,GAAG,CAACH,IAAI,CAACI,IAAI,EAAE;MACxBJ,IAAI;MACJC,WAAW;MACXC,UAAU;MACVG,QAAQ,EAAEC,MAAM,CAACC,OAAO,CAACL,UAAU,CAAC,CACjCM,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAKA,KAAK,CAACL,QAAQ,CAAC,CACtCM,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEH,CAAC,CAAC,KAAKG,GAAG;IAC1B,CAAC,CAAC;IACF,OAAOZ,IAAI;EACb;EAEFa,UAAUA,CAAA,EAAG;IACT,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC,CAACI,GAAG,CAAC,CAAC,CAACP,IAAI,EAAE;MAAEH,WAAW;MAAEC,UAAU;MAAEG;IAAS,CAAC,CAAC,MAAM;MAC9FW,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE;QACRb,IAAI;QACJH,WAAW;QACXC,UAAU,EAAE;UACVc,IAAI,EAAE,QAAQ;UACdE,UAAU,EAAEhB,UAAU;UACtBG;QACF;MACF;IACF,CAAC,CAAC,CAAC;EACL;EAEF,MAAMc,OAAOA,CAACf,IAAY,EAAEgB,IAAS,EAAE;IACnC,MAAMC,IAAI,GAAG,IAAI,CAACxB,KAAK,CAACyB,GAAG,CAAClB,IAAI,CAAC;IACjC,IAAI,CAACiB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,QAAQnB,IAAI,YAAY,CAAC;IACpD,OAAO,MAAMiB,IAAI,CAACrB,IAAI,CAAC,GAAGM,MAAM,CAACkB,MAAM,CAACJ,IAAI,CAAC,CAAC;EAClD;AACF;AAEA,OAAO,eAAeK,mBAAmBA,CAACC,MAA8B,EAAE7B,KAAY,EAAwF;EAC5K,IAAI,CAAC6B,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACtD;IACA,OAAO;MAACC,UAAU,EAAE;IAAK,CAAC;EAC9B;EAEA,IAAI;IACA,MAAMC,QAAQ,GAAGJ,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;IACrC,IAAI,CAACG,QAAQ,EAAE;MACb;MACA,OAAO;QAACD,UAAU,EAAE;MAAK,CAAC;IAC5B;IACA,MAAME,QAAQ,GAAGD,QAAQ,CAACb,QAAQ,CAACb,IAAI;IACvC,MAAM4B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACb,QAAQ,CAACkB,SAAS,CAAC;;IAEzD;IACA,MAAMC,UAAU,GAAG,MAAMvC,KAAK,CAACsB,OAAO,CAACY,QAAQ,EAAEC,SAAS,CAAC;IAC3D;;IAEA,OAAO;MACHH,UAAU,EAAE,IAAI;MAChBE,QAAQ;MACRC,SAAS;MACTI;IACJ,CAAC;EACL,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ;IACA,OAAO;MAACR,UAAU,EAAE;IAAK,CAAC;EAC9B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Tools","tools","Map","add","func","description","parameters","set","name","required","Object","entries","filter","_","param","map","key","getSchemas","Array","from","type","function","properties","execute","args","tool","get","Error","values","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;AAeA,OAAO,MAAMA,KAAK,CAAC;EACTC,KAAK,GAAG,IAAIC,GAAG,CAAe,CAAC;EAEvCC,GAAGA,CACCC,IAAc,EACdC,WAAmB,EACnBC,UAAsC,EACtC;IACA,IAAI,CAACL,KAAK,CAACM,GAAG,CAACH,IAAI,CAACI,IAAI,EAAE;MACxBJ,IAAI;MACJC,WAAW;MACXC,UAAU;MACVG,QAAQ,EAAEC,MAAM,CAACC,OAAO,CAACL,UAAU,CAAC,CACjCM,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAKA,KAAK,CAACL,QAAQ,CAAC,CACtCM,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEH,CAAC,CAAC,KAAKG,GAAG;IAC1B,CAAC,CAAC;IACF,OAAOZ,IAAI;EACb;EAEFa,UAAUA,CAAA,EAAG;IACT,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC,CAACI,GAAG,CAAC,CAAC,CAACP,IAAI,EAAE;MAAEH,WAAW;MAAEC,UAAU;MAAEG;IAAS,CAAC,CAAC,MAAM;MAC9FW,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE;QACRb,IAAI;QACJH,WAAW;QACXC,UAAU,EAAE;UACVc,IAAI,EAAE,QAAQ;UACdE,UAAU,EAAEhB,UAAU;UACtBG;QACF;MACF;IACF,CAAC,CAAC,CAAC;EACL;EAEF,MAAMc,OAAOA,CAACf,IAAY,EAAEgB,IAAS,EAAE;IACnC,MAAMC,IAAI,GAAG,IAAI,CAACxB,KAAK,CAACyB,GAAG,CAAClB,IAAI,CAAC;IACjC,IAAI,CAACiB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,QAAQnB,IAAI,YAAY,CAAC;IACpD,OAAO,MAAMiB,IAAI,CAACrB,IAAI,CAAC,GAAGM,MAAM,CAACkB,MAAM,CAACJ,IAAI,CAAC,CAAC;EAClD;AACF;AAEA,OAAO,eAAeK,mBAAmBA,CAACC,MAA8B,EAAE7B,KAAY,EAAwF;EAC5K,IAAI,CAAC6B,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACtD,OAAO;MAACC,UAAU,EAAE;IAAK,CAAC;EAC9B;EAEA,IAAI;IACA,MAAMC,QAAQ,GAAGJ,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;IACrC,IAAI,CAACG,QAAQ,EAAE;MACb,OAAO;QAACD,UAAU,EAAE;MAAK,CAAC;IAC5B;IACA,MAAME,QAAQ,GAAGD,QAAQ,CAACb,QAAQ,CAACb,IAAI;IACvC,MAAM4B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACb,QAAQ,CAACkB,SAAS,CAAC;IAEzD,MAAMC,UAAU,GAAG,MAAMvC,KAAK,CAACsB,OAAO,CAACY,QAAQ,EAAEC,SAAS,CAAC;IAE3D,OAAO;MACHH,UAAU,EAAE,IAAI;MAChBE,QAAQ;MACRC,SAAS;MACTI;IACJ,CAAC;EACL,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ,OAAO;MAACR,UAAU,EAAE;IAAK,CAAC;EAC9B;AACF","ignoreList":[]}
package/lib/module/tts.js CHANGED
@@ -13,10 +13,7 @@ export class CactusTTS {
13
13
  const {
14
14
  formatted_prompt
15
15
  } = await getFormattedAudioCompletion(this.context.id, speakerJsonStr, textToSpeak);
16
- // This part is simplified. In a real scenario, the tokens from
17
- // the main model would be generated and passed to decodeAudioTokens.
18
- // For now, we are assuming a direct path which may not be fully functional
19
- // without the main model's token output for TTS.
16
+ // To-DO: Fix
20
17
  const tokens = (await this.context.tokenize(formatted_prompt)).tokens;
21
18
  return decodeAudioTokens(this.context.id, tokens);
22
19
  }
@@ -1 +1 @@
1
- {"version":3,"names":["initVocoder","getFormattedAudioCompletion","decodeAudioTokens","releaseVocoder","CactusTTS","constructor","context","init","vocoderModelPath","id","generate","textToSpeak","speakerJsonStr","formatted_prompt","tokens","tokenize","release"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":";;AAAA,SAEEA,WAAW,EACXC,2BAA2B,EAC3BC,iBAAiB,EACjBC,cAAc,QACT,SAAS;AAGhB,OAAO,MAAMC,SAAS,CAAC;EAGbC,WAAWA,CAACC,OAAqB,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAEA,aAAaC,IAAIA,CACfD,OAAqB,EACrBE,gBAAwB,EACJ;IACpB,MAAMR,WAAW,CAACM,OAAO,CAACG,EAAE,EAAED,gBAAgB,CAAC;IAC/C,OAAO,IAAIJ,SAAS,CAACE,OAAO,CAAC;EAC/B;EAEA,MAAMI,QAAQA,CACZC,WAAmB,EACnBC,cAAsB,EACY;IAClC,MAAM;MAAEC;IAAiB,CAAC,GAAG,MAAMZ,2BAA2B,CAC5D,IAAI,CAACK,OAAO,CAACG,EAAE,EACfG,cAAc,EACdD,WACF,CAAC;IACD;IACA;IACA;IACA;IACA,MAAMG,MAAM,GAAG,CAAC,MAAM,IAAI,CAACR,OAAO,CAACS,QAAQ,CAACF,gBAAgB,CAAC,EAAEC,MAAM;IACrE,OAAOZ,iBAAiB,CAAC,IAAI,CAACI,OAAO,CAACG,EAAE,EAAEK,MAAM,CAAC;EACnD;EAEA,MAAME,OAAOA,CAAA,EAAkB;IAC7B,OAAOb,cAAc,CAAC,IAAI,CAACG,OAAO,CAACG,EAAE,CAAC;EACxC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["initVocoder","getFormattedAudioCompletion","decodeAudioTokens","releaseVocoder","CactusTTS","constructor","context","init","vocoderModelPath","id","generate","textToSpeak","speakerJsonStr","formatted_prompt","tokens","tokenize","release"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":";;AAAA,SAEEA,WAAW,EACXC,2BAA2B,EAC3BC,iBAAiB,EACjBC,cAAc,QACT,SAAS;AAGhB,OAAO,MAAMC,SAAS,CAAC;EAGbC,WAAWA,CAACC,OAAqB,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAEA,aAAaC,IAAIA,CACfD,OAAqB,EACrBE,gBAAwB,EACJ;IACpB,MAAMR,WAAW,CAACM,OAAO,CAACG,EAAE,EAAED,gBAAgB,CAAC;IAC/C,OAAO,IAAIJ,SAAS,CAACE,OAAO,CAAC;EAC/B;EAEA,MAAMI,QAAQA,CACZC,WAAmB,EACnBC,cAAsB,EACY;IAClC,MAAM;MAAEC;IAAiB,CAAC,GAAG,MAAMZ,2BAA2B,CAC5D,IAAI,CAACK,OAAO,CAACG,EAAE,EACfG,cAAc,EACdD,WACF,CAAC;IACD;IACA,MAAMG,MAAM,GAAG,CAAC,MAAM,IAAI,CAACR,OAAO,CAACS,QAAQ,CAACF,gBAAgB,CAAC,EAAEC,MAAM;IACrE,OAAOZ,iBAAiB,CAAC,IAAI,CAACI,OAAO,CAACG,EAAE,EAAEK,MAAM,CAAC;EACnD;EAEA,MAAME,OAAOA,CAAA,EAAkB;IAC7B,OAAOb,cAAc,CAAC,IAAI,CAACG,OAAO,CAACG,EAAE,CAAC;EACxC;AACF","ignoreList":[]}
package/lib/module/vlm.js CHANGED
@@ -3,9 +3,11 @@
3
3
  import { initLlama, initMultimodal, multimodalCompletion } from './index';
4
4
  import { Telemetry } from './telemetry';
5
5
  import { setCactusToken, getTextCompletion, getVisionCompletion } from './remote';
6
+ import { ConversationHistoryManager } from './chat';
6
7
  export class CactusVLM {
7
8
  constructor(context) {
8
9
  this.context = context;
10
+ this.conversationHistoryManager = new ConversationHistoryManager();
9
11
  }
10
12
  static async init(params, onProgress, cactusToken) {
11
13
  if (cactusToken) {
@@ -77,22 +79,39 @@ export class CactusVLM {
77
79
  }
78
80
  return result;
79
81
  }
80
- async _handleLocalCompletion(messages, params, callback) {
82
+ _handleLocalCompletion = async (messages, params, callback) => {
83
+ const {
84
+ newMessages,
85
+ requiresReset
86
+ } = this.conversationHistoryManager.processNewMessages(messages);
87
+ if (requiresReset) {
88
+ this.context?.rewind();
89
+ this.conversationHistoryManager.reset();
90
+ }
91
+ if (newMessages.length === 0) {
92
+ console.warn('No messages to complete!');
93
+ }
94
+ let result;
81
95
  if (params.images && params.images.length > 0) {
82
- const formattedPrompt = await this.context.getFormattedChat(messages);
96
+ const formattedPrompt = await this.context.getFormattedChat(newMessages);
83
97
  const prompt = typeof formattedPrompt === 'string' ? formattedPrompt : formattedPrompt.prompt;
84
- return await multimodalCompletion(this.context.id, prompt, params.images, {
98
+ result = await multimodalCompletion(this.context.id, prompt, params.images, {
85
99
  ...params,
86
100
  prompt,
87
101
  emit_partial_completion: !!callback
88
102
  });
89
103
  } else {
90
- return await this.context.completion({
91
- messages,
104
+ result = await this.context.completion({
105
+ messages: newMessages,
92
106
  ...params
93
107
  }, callback);
94
108
  }
95
- }
109
+ this.conversationHistoryManager.update(newMessages, {
110
+ role: 'assistant',
111
+ content: result.content || result.text
112
+ });
113
+ return result;
114
+ };
96
115
  async _handleRemoteCompletion(messages, params, callback) {
97
116
  const prompt = messages.map(m => `${m.role}: ${m.content}`).join('\n');
98
117
  const imagePath = params.images && params.images.length > 0 ? params.images[0] : '';
@@ -135,7 +154,6 @@ export class CactusVLM {
135
154
  };
136
155
  }
137
156
  async rewind() {
138
- // @ts-ignore
139
157
  return this.context?.rewind();
140
158
  }
141
159
  async release() {
@@ -1 +1 @@
1
- {"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","CactusVLM","constructor","context","init","params","onProgress","cactusToken","configs","n_gpu_layers","config","id","mmproj","vlm","error","e","n_ctx","model","indexOf","length","Error","completion","messages","callback","mode","result","lastError","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","images","formattedPrompt","getFormattedChat","prompt","emit_partial_completion","map","m","role","content","join","imagePath","responseText","i","token","text","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","rewind","release"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","ConversationHistoryManager","CactusVLM","constructor","context","conversationHistoryManager","init","params","onProgress","cactusToken","configs","n_gpu_layers","config","id","mmproj","vlm","error","e","n_ctx","model","indexOf","length","Error","completion","messages","callback","mode","result","lastError","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","i","token","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","release"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}