cactus-react-native 0.2.8 → 0.2.9

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 (43) hide show
  1. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  2. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  3. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  4. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  5. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  6. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  7. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/chat-template.hpp +1 -0
  8. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
  9. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +1 -0
  10. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  11. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
  12. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  13. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/chat-template.hpp +1 -0
  14. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Info.plist +0 -0
  15. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +1 -0
  16. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  17. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
  18. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  19. package/lib/commonjs/lm.js +70 -0
  20. package/lib/commonjs/lm.js.map +1 -1
  21. package/lib/commonjs/remote.js +36 -89
  22. package/lib/commonjs/remote.js.map +1 -1
  23. package/lib/commonjs/tools.js.map +1 -1
  24. package/lib/commonjs/vlm.js +2 -2
  25. package/lib/commonjs/vlm.js.map +1 -1
  26. package/lib/module/lm.js +71 -1
  27. package/lib/module/lm.js.map +1 -1
  28. package/lib/module/remote.js +36 -89
  29. package/lib/module/remote.js.map +1 -1
  30. package/lib/module/tools.js.map +1 -1
  31. package/lib/module/vlm.js +2 -2
  32. package/lib/module/vlm.js.map +1 -1
  33. package/lib/typescript/lm.d.ts +5 -1
  34. package/lib/typescript/lm.d.ts.map +1 -1
  35. package/lib/typescript/remote.d.ts +5 -4
  36. package/lib/typescript/remote.d.ts.map +1 -1
  37. package/lib/typescript/tools.d.ts +15 -14
  38. package/lib/typescript/tools.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/lm.ts +85 -2
  41. package/src/remote.ts +43 -105
  42. package/src/tools.ts +14 -1
  43. package/src/vlm.ts +2 -2
@@ -99,6 +99,7 @@ class chat_template {
99
99
  // fprintf(stderr, "try_raw_render: %s\n", prompt.c_str());
100
100
  return prompt;
101
101
  } catch (const std::exception & e) {
102
+ (void)e; // Suppress unused variable warning in MSVC builds.
102
103
  // fprintf(stderr, "try_raw_render error: %s\n", e.what());
103
104
  return "";
104
105
  }
@@ -99,6 +99,7 @@ class chat_template {
99
99
  // fprintf(stderr, "try_raw_render: %s\n", prompt.c_str());
100
100
  return prompt;
101
101
  } catch (const std::exception & e) {
102
+ (void)e; // Suppress unused variable warning in MSVC builds.
102
103
  // fprintf(stderr, "try_raw_render error: %s\n", e.what());
103
104
  return "";
104
105
  }
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Info.plist</key>
8
8
  <data>
9
- IZXklQ3AEYRu0y+3B+RU0m576Pc=
9
+ Gx4DnC3Ma4tU2Ci8wUBo1y8gxds=
10
10
  </data>
11
11
  </dict>
12
12
  <key>files2</key>
@@ -99,6 +99,7 @@ class chat_template {
99
99
  // fprintf(stderr, "try_raw_render: %s\n", prompt.c_str());
100
100
  return prompt;
101
101
  } catch (const std::exception & e) {
102
+ (void)e; // Suppress unused variable warning in MSVC builds.
102
103
  // fprintf(stderr, "try_raw_render error: %s\n", e.what());
103
104
  return "";
104
105
  }
@@ -99,6 +99,7 @@ class chat_template {
99
99
  // fprintf(stderr, "try_raw_render: %s\n", prompt.c_str());
100
100
  return prompt;
101
101
  } catch (const std::exception & e) {
102
+ (void)e; // Suppress unused variable warning in MSVC builds.
102
103
  // fprintf(stderr, "try_raw_render error: %s\n", e.what());
103
104
  return "";
104
105
  }
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Info.plist</key>
8
8
  <data>
9
- 81nGrPR4q6ApFomZe7da0Q0R+vc=
9
+ B8Whiwk8UpuKGl/idWz/uqtjLFg=
10
10
  </data>
11
11
  </dict>
12
12
  <key>files2</key>
@@ -115,6 +115,41 @@ class CactusLM {
115
115
  return result;
116
116
  }
117
117
  completion = async (messages, params = {}, callback) => {
118
+ const mode = params.mode || 'local';
119
+ let result;
120
+ let lastError = null;
121
+ if (mode === 'remote') {
122
+ result = await this._handleRemoteCompletion(messages, callback);
123
+ } else if (mode === 'local') {
124
+ result = await this._handleLocalCompletion(messages, params, callback);
125
+ } else if (mode === 'localfirst') {
126
+ try {
127
+ result = await this._handleLocalCompletion(messages, params, callback);
128
+ } catch (e) {
129
+ lastError = e;
130
+ try {
131
+ result = await this._handleRemoteCompletion(messages, callback);
132
+ } catch (remoteError) {
133
+ throw lastError;
134
+ }
135
+ }
136
+ } else if (mode === 'remotefirst') {
137
+ try {
138
+ result = await this._handleRemoteCompletion(messages, callback);
139
+ } catch (e) {
140
+ lastError = e;
141
+ try {
142
+ result = await this._handleLocalCompletion(messages, params, callback);
143
+ } catch (localError) {
144
+ throw lastError;
145
+ }
146
+ }
147
+ } else {
148
+ throw new Error('Invalid mode: ' + mode + '. Must be "local", "remote", "localfirst", or "remotefirst"');
149
+ }
150
+ return result;
151
+ };
152
+ _handleLocalCompletion = async (messages, params, callback) => {
118
153
  const {
119
154
  newMessages,
120
155
  requiresReset
@@ -136,6 +171,41 @@ class CactusLM {
136
171
  });
137
172
  return result;
138
173
  };
174
+ async _handleRemoteCompletion(messages, callback) {
175
+ const prompt = messages.map(m => `${m.role}: ${m.content}`).join('\n');
176
+ const responseText = await (0, _remote.getTextCompletion)(messages);
177
+ if (callback) {
178
+ for (let i = 0; i < responseText.length; i++) {
179
+ callback({
180
+ token: responseText[i]
181
+ });
182
+ }
183
+ }
184
+ return {
185
+ text: responseText,
186
+ reasoning_content: '',
187
+ tool_calls: [],
188
+ content: responseText,
189
+ tokens_predicted: responseText.split(' ').length,
190
+ tokens_evaluated: prompt.split(' ').length,
191
+ truncated: false,
192
+ stopped_eos: true,
193
+ stopped_word: '',
194
+ stopped_limit: 0,
195
+ stopping_word: '',
196
+ tokens_cached: 0,
197
+ timings: {
198
+ prompt_n: prompt.split(' ').length,
199
+ prompt_ms: 0,
200
+ prompt_per_token_ms: 0,
201
+ prompt_per_second: 0,
202
+ predicted_n: responseText.split(' ').length,
203
+ predicted_ms: 0,
204
+ predicted_per_token_ms: 0,
205
+ predicted_per_second: 0
206
+ }
207
+ };
208
+ }
139
209
  async embedding(text, params, mode = 'local') {
140
210
  let result;
141
211
  let lastError = null;
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","initParams","conversationHistoryManager","ConversationHistoryManager","isContextNotFoundError","e","message","String","test","reinit","newContext","initLlama","reset","run","op","init","onProgress","setCactusToken","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","lm","error","isLastConfig","indexOf","length","isLastAttempt","Telemetry","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","newMessages","requiresReset","processNewMessages","rewind","console","warn","update","role","content","embedding","text","mode","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","getVertexAIEmbedding","release","stopCompletion","exports"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","initParams","conversationHistoryManager","ConversationHistoryManager","isContextNotFoundError","e","message","String","test","reinit","newContext","initLlama","reset","run","op","init","onProgress","setCactusToken","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","lm","error","isLastConfig","indexOf","length","isLastAttempt","Telemetry","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","mode","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","console","warn","update","role","content","prompt","map","m","join","responseText","getTextCompletion","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","embedding","_handleRemoteEmbedding","_handleLocalEmbedding","embeddingValues","getVertexAIEmbedding","release","stopCompletion","exports"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
@@ -14,87 +14,48 @@ function setCactusToken(token) {
14
14
  _cactusToken = token;
15
15
  }
16
16
  async function getVertexAIEmbedding(text) {
17
- if (_cactusToken === null) {
18
- throw new Error('CactusToken not set. Please call CactusLM.init with cactusToken parameter.');
19
- }
20
- const projectId = 'cactus-v1-452518';
21
- const location = 'us-central1';
22
- const modelId = 'text-embedding-005';
23
- const endpoint = `https://${location}-aiplatform.googleapis.com/v1/projects/${projectId}/locations/${location}/publishers/google/models/${modelId}:predict`;
24
- const headers = {
25
- 'Authorization': `Bearer ${_cactusToken}`,
26
- 'Content-Type': 'application/json'
27
- };
28
- const requestBody = {
29
- instances: [{
30
- content: text
31
- }]
32
- };
33
- const response = await fetch(endpoint, {
34
- method: 'POST',
35
- headers,
36
- body: JSON.stringify(requestBody)
37
- });
38
- if (response.status === 401) {
39
- _cactusToken = null;
40
- throw new Error('Authentication failed. Please update your cactusToken.');
41
- } else if (!response.ok) {
42
- const errorText = await response.text();
43
- throw new Error(`HTTP ${response.status}: ${errorText}`);
44
- }
45
- const responseBody = await response.json();
46
- if (responseBody.error) {
47
- throw new Error(`API Error: ${responseBody.error.message}`);
48
- }
49
- const predictions = responseBody.predictions;
50
- if (!predictions || predictions.length === 0) {
51
- throw new Error('No predictions in response');
52
- }
53
- const embeddings = predictions[0].embeddings;
54
- const values = embeddings.values;
55
- return values;
17
+ text = text;
18
+ throw new Error('Remote embedding is not currently supported. The Cactus library is in active development - if you need this functionality, please contact us at founders@cactuscompute.com');
56
19
  }
57
- async function getVertexAICompletion(textPrompt, imageData, imagePath, mimeType) {
20
+ async function getVertexAICompletion(messages, imageData, imagePath, mimeType) {
58
21
  if (_cactusToken === null) {
59
22
  throw new Error('CactusToken not set. Please call CactusVLM.init with cactusToken parameter.');
60
23
  }
61
- const projectId = 'cactus-v1-452518';
62
- const location = 'global';
63
- const modelId = 'gemini-2.5-flash-lite-preview-06-17';
64
- const endpoint = `https://aiplatform.googleapis.com/v1/projects/${projectId}/locations/${location}/publishers/google/models/${modelId}:generateContent`;
24
+ const endpoint = 'https://openrouter.ai/api/v1/chat/completions';
65
25
  const headers = {
66
26
  'Authorization': `Bearer ${_cactusToken}`,
67
27
  'Content-Type': 'application/json'
68
28
  };
69
- const parts = [];
29
+ const requestBody = {
30
+ model: 'google/gemini-2.5-flash-lite',
31
+ messages: messages
32
+ };
33
+ let imageUrl = '';
70
34
  if (imageData) {
71
- const detectedMimeType = mimeType || 'image/jpeg';
72
- parts.push({
73
- inlineData: {
74
- mimeType: detectedMimeType,
75
- data: imageData
76
- }
77
- });
35
+ imageUrl = `data:${mimeType || 'image/jpeg'};base64,${imageData}`;
78
36
  } else if (imagePath) {
79
- const detectedMimeType = mimeType || detectMimeType(imagePath);
80
37
  const RNFS = require('react-native-fs');
81
38
  const base64Data = await RNFS.readFile(imagePath, 'base64');
82
- parts.push({
83
- inlineData: {
84
- mimeType: detectedMimeType,
85
- data: base64Data
86
- }
87
- });
39
+ imageUrl = `data:${mimeType || detectMimeType(imagePath)};base64,${base64Data}`;
88
40
  }
89
- parts.push({
90
- text: textPrompt
91
- });
92
- const requestBody = {
93
- contents: {
94
- role: 'user',
95
- parts: parts
41
+ if (imageUrl) {
42
+ if (requestBody.messages[requestBody.messages.length - 1]?.role === 'user') {
43
+ requestBody.messages[requestBody.messages.length - 1] = {
44
+ role: 'user',
45
+ content: [{
46
+ type: 'text',
47
+ text: requestBody.messages[requestBody.messages.length - 1]?.content || ''
48
+ }, {
49
+ type: 'image_url',
50
+ image_url: {
51
+ url: imageUrl
52
+ }
53
+ }]
54
+ };
55
+ } else {
56
+ console.warn('Image data provided but message is not a user message: ', requestBody.messages);
96
57
  }
97
- };
58
+ }
98
59
  const response = await fetch(endpoint, {
99
60
  method: 'POST',
100
61
  headers,
@@ -108,31 +69,17 @@ async function getVertexAICompletion(textPrompt, imageData, imagePath, mimeType)
108
69
  throw new Error(`HTTP ${response.status}: ${errorText}`);
109
70
  }
110
71
  const responseBody = await response.json();
111
- if (Array.isArray(responseBody)) {
112
- throw new Error('Unexpected response format: received array instead of object');
113
- }
114
- if (responseBody.error) {
115
- throw new Error(`API Error: ${responseBody.error.message}`);
116
- }
117
- const candidates = responseBody.candidates;
118
- if (!candidates || candidates.length === 0) {
119
- throw new Error('No candidates in response');
120
- }
121
- const content = candidates[0].content;
122
- const responseParts = content.parts;
123
- if (!responseParts || responseParts.length === 0) {
124
- throw new Error('No parts in response');
125
- }
126
- return responseParts[0].text || '';
72
+ const responseText = responseBody.choices[0].message.content;
73
+ return responseText;
127
74
  }
128
- async function getTextCompletion(prompt) {
129
- return getVertexAICompletion(prompt);
75
+ async function getTextCompletion(messages) {
76
+ return getVertexAICompletion(messages);
130
77
  }
131
- async function getVisionCompletion(prompt, imagePath) {
132
- return getVertexAICompletion(prompt, undefined, imagePath);
78
+ async function getVisionCompletion(messages, imagePath) {
79
+ return getVertexAICompletion(messages, undefined, imagePath);
133
80
  }
134
- async function getVisionCompletionFromData(prompt, imageData, mimeType) {
135
- return getVertexAICompletion(prompt, imageData, undefined, mimeType);
81
+ async function getVisionCompletionFromData(messages, imageData, mimeType) {
82
+ return getVertexAICompletion(messages, imageData, undefined, mimeType);
136
83
  }
137
84
  function detectMimeType(filePath) {
138
85
  const extension = filePath.toLowerCase().split('.').pop();
@@ -1 +1 @@
1
- {"version":3,"names":["_cactusToken","setCactusToken","token","getVertexAIEmbedding","text","Error","projectId","location","modelId","endpoint","headers","requestBody","instances","content","response","fetch","method","body","JSON","stringify","status","ok","errorText","responseBody","json","error","message","predictions","length","embeddings","values","getVertexAICompletion","textPrompt","imageData","imagePath","mimeType","parts","detectedMimeType","push","inlineData","data","detectMimeType","RNFS","require","base64Data","readFile","contents","role","Array","isArray","candidates","responseParts","getTextCompletion","prompt","getVisionCompletion","undefined","getVisionCompletionFromData","filePath","extension","toLowerCase","split","pop"],"sourceRoot":"../../src","sources":["remote.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cactusToken","setCactusToken","token","getVertexAIEmbedding","text","Error","getVertexAICompletion","messages","imageData","imagePath","mimeType","endpoint","headers","requestBody","model","imageUrl","RNFS","require","base64Data","readFile","detectMimeType","length","role","content","type","image_url","url","console","warn","response","fetch","method","body","JSON","stringify","status","ok","errorText","responseBody","json","responseText","choices","message","getTextCompletion","getVisionCompletion","undefined","getVisionCompletionFromData","filePath","extension","toLowerCase","split","pop"],"sourceRoot":"../../src","sources":["remote.ts"],"mappings":"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","ignoreList":[]}
@@ -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","exports","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;;;;;;AAeO,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;AAACK,OAAA,CAAA7B,KAAA,GAAAA,KAAA;AAEM,eAAe8B,mBAAmBA,CAACC,MAA8B,EAAE9B,KAAY,EAAwF;EAC5K,IAAI,CAAC8B,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,CAACd,QAAQ,CAACb,IAAI;IACvC,MAAM6B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACd,QAAQ,CAACmB,SAAS,CAAC;IAEzD,MAAMC,UAAU,GAAG,MAAMxC,KAAK,CAACsB,OAAO,CAACa,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":[]}
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","exports","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;;;;;;AA4BO,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,EAAuB;IAC7B,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;AAACK,OAAA,CAAA7B,KAAA,GAAAA,KAAA;AAEM,eAAe8B,mBAAmBA,CAACC,MAA8B,EAAE9B,KAAY,EAAwF;EAC5K,IAAI,CAAC8B,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,CAACd,QAAQ,CAACb,IAAI;IACvC,MAAM6B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACd,QAAQ,CAACmB,SAAS,CAAC;IAEzD,MAAMC,UAAU,GAAG,MAAMxC,KAAK,CAACsB,OAAO,CAACa,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":[]}
@@ -168,9 +168,9 @@ class CactusVLM {
168
168
  const imagePath = params.images && params.images.length > 0 ? params.images[0] : '';
169
169
  let responseText;
170
170
  if (imagePath) {
171
- responseText = await (0, _remote.getVisionCompletion)(prompt, imagePath);
171
+ responseText = await (0, _remote.getVisionCompletion)(messages, imagePath);
172
172
  } else {
173
- responseText = await (0, _remote.getTextCompletion)(prompt);
173
+ responseText = await (0, _remote.getTextCompletion)(messages);
174
174
  }
175
175
  if (callback) {
176
176
  for (let i = 0; i < responseText.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusVLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","conversationHistoryManager","ConversationHistoryManager","init","onProgress","setCactusToken","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","initLlama","initMultimodal","id","mmproj","vlm","error","e","isLastConfig","indexOf","length","isLastAttempt","Telemetry","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","mode","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","multimodalCompletion","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","getVisionCompletion","getTextCompletion","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","stopCompletion","exports"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusVLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","conversationHistoryManager","ConversationHistoryManager","init","onProgress","setCactusToken","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","initLlama","initMultimodal","id","mmproj","vlm","error","e","isLastConfig","indexOf","length","isLastAttempt","Telemetry","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","mode","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","multimodalCompletion","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","getVisionCompletion","getTextCompletion","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","stopCompletion","exports"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/lm.js CHANGED
@@ -4,7 +4,7 @@ import { initLlama } from './index';
4
4
  // @ts-ignore
5
5
 
6
6
  import { Telemetry } from './telemetry';
7
- import { setCactusToken, getVertexAIEmbedding } from './remote';
7
+ import { setCactusToken, getVertexAIEmbedding, getTextCompletion } from './remote';
8
8
  import { ConversationHistoryManager } from './chat';
9
9
  export class CactusLM {
10
10
  static _initCache = new Map();
@@ -111,6 +111,41 @@ export class CactusLM {
111
111
  return result;
112
112
  }
113
113
  completion = async (messages, params = {}, callback) => {
114
+ const mode = params.mode || 'local';
115
+ let result;
116
+ let lastError = null;
117
+ if (mode === 'remote') {
118
+ result = await this._handleRemoteCompletion(messages, callback);
119
+ } else if (mode === 'local') {
120
+ result = await this._handleLocalCompletion(messages, params, callback);
121
+ } else if (mode === 'localfirst') {
122
+ try {
123
+ result = await this._handleLocalCompletion(messages, params, callback);
124
+ } catch (e) {
125
+ lastError = e;
126
+ try {
127
+ result = await this._handleRemoteCompletion(messages, callback);
128
+ } catch (remoteError) {
129
+ throw lastError;
130
+ }
131
+ }
132
+ } else if (mode === 'remotefirst') {
133
+ try {
134
+ result = await this._handleRemoteCompletion(messages, callback);
135
+ } catch (e) {
136
+ lastError = e;
137
+ try {
138
+ result = await this._handleLocalCompletion(messages, params, callback);
139
+ } catch (localError) {
140
+ throw lastError;
141
+ }
142
+ }
143
+ } else {
144
+ throw new Error('Invalid mode: ' + mode + '. Must be "local", "remote", "localfirst", or "remotefirst"');
145
+ }
146
+ return result;
147
+ };
148
+ _handleLocalCompletion = async (messages, params, callback) => {
114
149
  const {
115
150
  newMessages,
116
151
  requiresReset
@@ -132,6 +167,41 @@ export class CactusLM {
132
167
  });
133
168
  return result;
134
169
  };
170
+ async _handleRemoteCompletion(messages, callback) {
171
+ const prompt = messages.map(m => `${m.role}: ${m.content}`).join('\n');
172
+ const responseText = await getTextCompletion(messages);
173
+ if (callback) {
174
+ for (let i = 0; i < responseText.length; i++) {
175
+ callback({
176
+ token: responseText[i]
177
+ });
178
+ }
179
+ }
180
+ return {
181
+ text: responseText,
182
+ reasoning_content: '',
183
+ tool_calls: [],
184
+ content: responseText,
185
+ tokens_predicted: responseText.split(' ').length,
186
+ tokens_evaluated: prompt.split(' ').length,
187
+ truncated: false,
188
+ stopped_eos: true,
189
+ stopped_word: '',
190
+ stopped_limit: 0,
191
+ stopping_word: '',
192
+ tokens_cached: 0,
193
+ timings: {
194
+ prompt_n: prompt.split(' ').length,
195
+ prompt_ms: 0,
196
+ prompt_per_token_ms: 0,
197
+ prompt_per_second: 0,
198
+ predicted_n: responseText.split(' ').length,
199
+ predicted_ms: 0,
200
+ predicted_per_token_ms: 0,
201
+ predicted_per_second: 0
202
+ }
203
+ };
204
+ }
135
205
  async embedding(text, params, mode = 'local') {
136
206
  let result;
137
207
  let lastError = null;
@@ -1 +1 @@
1
- {"version":3,"names":["initLlama","Telemetry","setCactusToken","getVertexAIEmbedding","ConversationHistoryManager","CactusLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","initParams","conversationHistoryManager","isContextNotFoundError","e","message","String","test","reinit","newContext","reset","run","op","init","onProgress","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","lm","error","isLastConfig","indexOf","length","isLastAttempt","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","newMessages","requiresReset","processNewMessages","rewind","console","warn","update","role","content","embedding","text","mode","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","release","stopCompletion"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["initLlama","Telemetry","setCactusToken","getVertexAIEmbedding","getTextCompletion","ConversationHistoryManager","CactusLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","initParams","conversationHistoryManager","isContextNotFoundError","e","message","String","test","reinit","newContext","reset","run","op","init","onProgress","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","lm","error","isLastConfig","indexOf","length","isLastAttempt","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","mode","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","console","warn","update","role","content","prompt","map","m","join","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","embedding","_handleRemoteEmbedding","_handleLocalEmbedding","embeddingValues","release","stopCompletion"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}