cactus-react-native 0.2.3 → 0.2.5
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 +1 -1
- package/android/src/main/java/com/cactus/Cactus.java +35 -0
- package/android/src/main/java/com/cactus/LlamaContext.java +5 -0
- package/android/src/main/jni.cpp +46 -15
- 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 +5 -0
- package/android/src/oldarch/java/com/cactus/CactusModule.java +5 -0
- package/ios/Cactus.mm +21 -0
- package/ios/CactusContext.h +1 -0
- package/ios/CactusContext.mm +6 -2
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
- package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
- package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
- package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
- package/lib/commonjs/NativeCactus.js +0 -1
- package/lib/commonjs/NativeCactus.js.map +1 -1
- package/lib/commonjs/chat.js +36 -0
- package/lib/commonjs/chat.js.map +1 -1
- package/lib/commonjs/index.js +0 -23
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lm.js +102 -57
- package/lib/commonjs/lm.js.map +1 -1
- package/lib/commonjs/tools.js +0 -7
- package/lib/commonjs/tools.js.map +1 -1
- package/lib/commonjs/tts.js +1 -4
- package/lib/commonjs/tts.js.map +1 -1
- package/lib/commonjs/vlm.js +100 -31
- package/lib/commonjs/vlm.js.map +1 -1
- package/lib/module/NativeCactus.js +0 -3
- package/lib/module/NativeCactus.js.map +1 -1
- package/lib/module/chat.js +34 -0
- package/lib/module/chat.js.map +1 -1
- package/lib/module/index.js +1 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/lm.js +102 -57
- package/lib/module/lm.js.map +1 -1
- package/lib/module/tools.js +0 -7
- package/lib/module/tools.js.map +1 -1
- package/lib/module/tts.js +1 -4
- package/lib/module/tts.js.map +1 -1
- package/lib/module/vlm.js +100 -31
- package/lib/module/vlm.js.map +1 -1
- package/lib/typescript/NativeCactus.d.ts +1 -142
- package/lib/typescript/NativeCactus.d.ts.map +1 -1
- package/lib/typescript/chat.d.ts +11 -0
- package/lib/typescript/chat.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/lm.d.ts +12 -6
- package/lib/typescript/lm.d.ts.map +1 -1
- package/lib/typescript/tools.d.ts.map +1 -1
- package/lib/typescript/tts.d.ts.map +1 -1
- package/lib/typescript/vlm.d.ts +10 -2
- package/lib/typescript/vlm.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeCactus.ts +6 -175
- package/src/chat.ts +46 -1
- package/src/index.ts +6 -17
- package/src/lm.ts +112 -58
- package/src/tools.ts +0 -5
- package/src/tts.ts +1 -4
- package/src/vlm.ts +113 -31
- package/android/src/main/jniLibs/x86_64/libcactus.so +0 -0
- package/android/src/main/jniLibs/x86_64/libcactus_x86_64.so +0 -0
- package/lib/commonjs/grammar.js +0 -560
- package/lib/commonjs/grammar.js.map +0 -1
- package/lib/module/grammar.js +0 -553
- package/lib/module/grammar.js.map +0 -1
- package/lib/typescript/grammar.d.ts +0 -37
- package/lib/typescript/grammar.d.ts.map +0 -1
- package/src/grammar.ts +0 -854
package/lib/module/lm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initLlama","Telemetry","setCactusToken","getVertexAIEmbedding","CactusLM","constructor","context","
|
|
1
|
+
{"version":3,"names":["initLlama","Telemetry","setCactusToken","getVertexAIEmbedding","ConversationHistoryManager","CactusLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","conversationHistoryManager","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","e","isLastConfig","indexOf","length","isLastAttempt","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","newMessages","requiresReset","processNewMessages","rewind","reset","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":[]}
|
package/lib/module/tools.js
CHANGED
|
@@ -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
|
};
|
package/lib/module/tools.js.map
CHANGED
|
@@ -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
|
|
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
|
-
//
|
|
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
|
}
|
package/lib/module/tts.js.map
CHANGED
|
@@ -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
|
|
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,44 +3,94 @@
|
|
|
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 {
|
|
8
|
+
// see CactusLM for detailed docs
|
|
9
|
+
static _initCache = new Map();
|
|
10
|
+
static getCacheKey(params, cactusToken, retryOptions) {
|
|
11
|
+
return JSON.stringify({
|
|
12
|
+
params,
|
|
13
|
+
cactusToken,
|
|
14
|
+
retryOptions
|
|
15
|
+
});
|
|
16
|
+
}
|
|
7
17
|
constructor(context) {
|
|
8
18
|
this.context = context;
|
|
19
|
+
this.conversationHistoryManager = new ConversationHistoryManager();
|
|
9
20
|
}
|
|
10
|
-
static async init(params, onProgress, cactusToken) {
|
|
21
|
+
static async init(params, onProgress, cactusToken, retryOptions) {
|
|
11
22
|
if (cactusToken) {
|
|
12
23
|
setCactusToken(cactusToken);
|
|
13
24
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const key = CactusVLM.getCacheKey(params, cactusToken, retryOptions);
|
|
26
|
+
if (CactusVLM._initCache.has(key)) {
|
|
27
|
+
return CactusVLM._initCache.get(key);
|
|
28
|
+
}
|
|
29
|
+
const initPromise = (async () => {
|
|
30
|
+
const maxRetries = retryOptions?.maxRetries ?? 3;
|
|
31
|
+
const delayMs = retryOptions?.delayMs ?? 1000;
|
|
32
|
+
const configs = [params, {
|
|
33
|
+
...params,
|
|
34
|
+
n_gpu_layers: 0
|
|
35
|
+
}];
|
|
36
|
+
const sleep = ms => {
|
|
37
|
+
return new Promise(resolve => {
|
|
38
|
+
const start = Date.now();
|
|
39
|
+
const wait = () => {
|
|
40
|
+
if (Date.now() - start >= ms) {
|
|
41
|
+
resolve();
|
|
42
|
+
} else {
|
|
43
|
+
Promise.resolve().then(wait);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
wait();
|
|
31
47
|
});
|
|
32
|
-
|
|
48
|
+
};
|
|
49
|
+
for (const config of configs) {
|
|
50
|
+
let lastError = null;
|
|
51
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
52
|
+
try {
|
|
53
|
+
const context = await initLlama(config, onProgress);
|
|
54
|
+
await initMultimodal(context.id, params.mmproj, false);
|
|
55
|
+
return {
|
|
56
|
+
vlm: new CactusVLM(context),
|
|
57
|
+
error: null
|
|
58
|
+
};
|
|
59
|
+
} catch (e) {
|
|
60
|
+
lastError = e;
|
|
61
|
+
const isLastConfig = configs.indexOf(config) === configs.length - 1;
|
|
62
|
+
const isLastAttempt = attempt === maxRetries;
|
|
63
|
+
Telemetry.error(e, {
|
|
64
|
+
n_gpu_layers: config.n_gpu_layers ?? null,
|
|
65
|
+
n_ctx: config.n_ctx ?? null,
|
|
66
|
+
model: config.model ?? null
|
|
67
|
+
});
|
|
68
|
+
if (!isLastAttempt) {
|
|
69
|
+
const delay = delayMs * Math.pow(2, attempt - 1);
|
|
70
|
+
await sleep(delay);
|
|
71
|
+
} else if (!isLastConfig) {
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (configs.indexOf(config) === configs.length - 1 && lastError) {
|
|
33
77
|
return {
|
|
34
78
|
vlm: null,
|
|
35
|
-
error:
|
|
79
|
+
error: lastError
|
|
36
80
|
};
|
|
37
81
|
}
|
|
38
82
|
}
|
|
83
|
+
return {
|
|
84
|
+
vlm: null,
|
|
85
|
+
error: new Error('Failed to initialize CactusVLM')
|
|
86
|
+
};
|
|
87
|
+
})();
|
|
88
|
+
CactusVLM._initCache.set(key, initPromise);
|
|
89
|
+
const result = await initPromise;
|
|
90
|
+
if (result.error) {
|
|
91
|
+
CactusVLM._initCache.delete(key);
|
|
39
92
|
}
|
|
40
|
-
return
|
|
41
|
-
vlm: null,
|
|
42
|
-
error: new Error('Failed to initialize CactusVLM')
|
|
43
|
-
};
|
|
93
|
+
return result;
|
|
44
94
|
}
|
|
45
95
|
async completion(messages, params = {}, callback) {
|
|
46
96
|
const mode = params.mode || 'local';
|
|
@@ -77,22 +127,39 @@ export class CactusVLM {
|
|
|
77
127
|
}
|
|
78
128
|
return result;
|
|
79
129
|
}
|
|
80
|
-
async
|
|
130
|
+
_handleLocalCompletion = async (messages, params, callback) => {
|
|
131
|
+
const {
|
|
132
|
+
newMessages,
|
|
133
|
+
requiresReset
|
|
134
|
+
} = this.conversationHistoryManager.processNewMessages(messages);
|
|
135
|
+
if (requiresReset) {
|
|
136
|
+
this.context?.rewind();
|
|
137
|
+
this.conversationHistoryManager.reset();
|
|
138
|
+
}
|
|
139
|
+
if (newMessages.length === 0) {
|
|
140
|
+
console.warn('No messages to complete!');
|
|
141
|
+
}
|
|
142
|
+
let result;
|
|
81
143
|
if (params.images && params.images.length > 0) {
|
|
82
|
-
const formattedPrompt = await this.context.getFormattedChat(
|
|
144
|
+
const formattedPrompt = await this.context.getFormattedChat(newMessages);
|
|
83
145
|
const prompt = typeof formattedPrompt === 'string' ? formattedPrompt : formattedPrompt.prompt;
|
|
84
|
-
|
|
146
|
+
result = await multimodalCompletion(this.context.id, prompt, params.images, {
|
|
85
147
|
...params,
|
|
86
148
|
prompt,
|
|
87
149
|
emit_partial_completion: !!callback
|
|
88
150
|
});
|
|
89
151
|
} else {
|
|
90
|
-
|
|
91
|
-
messages,
|
|
152
|
+
result = await this.context.completion({
|
|
153
|
+
messages: newMessages,
|
|
92
154
|
...params
|
|
93
155
|
}, callback);
|
|
94
156
|
}
|
|
95
|
-
|
|
157
|
+
this.conversationHistoryManager.update(newMessages, {
|
|
158
|
+
role: 'assistant',
|
|
159
|
+
content: result.content || result.text
|
|
160
|
+
});
|
|
161
|
+
return result;
|
|
162
|
+
};
|
|
96
163
|
async _handleRemoteCompletion(messages, params, callback) {
|
|
97
164
|
const prompt = messages.map(m => `${m.role}: ${m.content}`).join('\n');
|
|
98
165
|
const imagePath = params.images && params.images.length > 0 ? params.images[0] : '';
|
|
@@ -135,11 +202,13 @@ export class CactusVLM {
|
|
|
135
202
|
};
|
|
136
203
|
}
|
|
137
204
|
async rewind() {
|
|
138
|
-
// @ts-ignore
|
|
139
205
|
return this.context?.rewind();
|
|
140
206
|
}
|
|
141
207
|
async release() {
|
|
142
208
|
return this.context.release();
|
|
143
209
|
}
|
|
210
|
+
async stopCompletion() {
|
|
211
|
+
return await this.context.stopCompletion();
|
|
212
|
+
}
|
|
144
213
|
}
|
|
145
214
|
//# sourceMappingURL=vlm.js.map
|
package/lib/module/vlm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","CactusVLM","constructor","context","
|
|
1
|
+
{"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","ConversationHistoryManager","CactusVLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","conversationHistoryManager","init","onProgress","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","id","mmproj","vlm","error","e","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","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","stopCompletion"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":";;AAAA,SACEA,SAAS,EACTC,cAAc,EACdC,oBAAoB,QAMf,SAAS;AAEhB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,EAAEC,iBAAiB,EAAEC,mBAAmB,QAAQ,UAAU;AACjF,SAASC,0BAA0B,QAAQ,QAAQ;AAgBnD,OAAO,MAAMC,SAAS,CAAC;EAIrB;EACA,OAAeC,UAAU,GAA0C,IAAIC,GAAG,CAAC,CAAC;EAE5E,OAAeC,WAAWA,CAACC,MAAwB,EAAEC,WAAoB,EAAEC,YAAwD,EAAU;IAC3I,OAAOC,IAAI,CAACC,SAAS,CAAC;MAAEJ,MAAM;MAAEC,WAAW;MAAEC;IAAa,CAAC,CAAC;EAC9D;EAEQG,WAAWA,CAACC,OAAqB,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,0BAA0B,GAAG,IAAIZ,0BAA0B,CAAC,CAAC;EACpE;EAEA,aAAaa,IAAIA,CACfR,MAAwB,EACxBS,UAAuC,EACvCR,WAAoB,EACpBC,YAAwD,EAC9B;IAC1B,IAAID,WAAW,EAAE;MACfT,cAAc,CAACS,WAAW,CAAC;IAC7B;IAEA,MAAMS,GAAG,GAAGd,SAAS,CAACG,WAAW,CAACC,MAAM,EAAEC,WAAW,EAAEC,YAAY,CAAC;IACpE,IAAIN,SAAS,CAACC,UAAU,CAACc,GAAG,CAACD,GAAG,CAAC,EAAE;MACjC,OAAOd,SAAS,CAACC,UAAU,CAACe,GAAG,CAACF,GAAG,CAAC;IACtC;IAEA,MAAMG,WAAW,GAAG,CAAC,YAAY;MAC/B,MAAMC,UAAU,GAAGZ,YAAY,EAAEY,UAAU,IAAI,CAAC;MAChD,MAAMC,OAAO,GAAGb,YAAY,EAAEa,OAAO,IAAI,IAAI;MAE7C,MAAMC,OAAO,GAAG,CACdhB,MAAM,EACN;QAAE,GAAGA,MAAM;QAAEiB,YAAY,EAAE;MAAE,CAAC,CAC/B;MAED,MAAMC,KAAK,GAAIC,EAAU,IAAoB;QAC3C,OAAO,IAAIC,OAAO,CAACC,OAAO,IAAI;UAC5B,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;UACxB,MAAMC,IAAI,GAAGA,CAAA,KAAM;YACjB,IAAIF,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,IAAIH,EAAE,EAAE;cAC5BE,OAAO,CAAC,CAAC;YACX,CAAC,MAAM;cACLD,OAAO,CAACC,OAAO,CAAC,CAAC,CAACK,IAAI,CAACD,IAAI,CAAC;YAC9B;UACF,CAAC;UACDA,IAAI,CAAC,CAAC;QACR,CAAC,CAAC;MACJ,CAAC;MAED,KAAK,MAAME,MAAM,IAAIX,OAAO,EAAE;QAC5B,IAAIY,SAAuB,GAAG,IAAI;QAElC,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAIf,UAAU,EAAEe,OAAO,EAAE,EAAE;UACtD,IAAI;YACF,MAAMvB,OAAO,GAAG,MAAMlB,SAAS,CAACuC,MAAM,EAAElB,UAAU,CAAC;YACnD,MAAMpB,cAAc,CAACiB,OAAO,CAACwB,EAAE,EAAE9B,MAAM,CAAC+B,MAAM,EAAE,KAAK,CAAC;YACtD,OAAO;cAACC,GAAG,EAAE,IAAIpC,SAAS,CAACU,OAAO,CAAC;cAAE2B,KAAK,EAAE;YAAI,CAAC;UACnD,CAAC,CAAC,OAAOC,CAAC,EAAE;YACVN,SAAS,GAAGM,CAAU;YACtB,MAAMC,YAAY,GAAGnB,OAAO,CAACoB,OAAO,CAACT,MAAM,CAAC,KAAKX,OAAO,CAACqB,MAAM,GAAG,CAAC;YACnE,MAAMC,aAAa,GAAGT,OAAO,KAAKf,UAAU;YAE5CvB,SAAS,CAAC0C,KAAK,CAACC,CAAC,EAAW;cAC1BjB,YAAY,EAAEU,MAAM,CAACV,YAAY,IAAI,IAAI;cACzCsB,KAAK,EAAEZ,MAAM,CAACY,KAAK,IAAI,IAAI;cAC3BC,KAAK,EAAEb,MAAM,CAACa,KAAK,IAAI;YACzB,CAAC,CAAC;YAEF,IAAI,CAACF,aAAa,EAAE;cAClB,MAAMG,KAAK,GAAG1B,OAAO,GAAG2B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEd,OAAO,GAAG,CAAC,CAAC;cAChD,MAAMX,KAAK,CAACuB,KAAK,CAAC;YACpB,CAAC,MAAM,IAAI,CAACN,YAAY,EAAE;cACxB;YACF;UACF;QACF;QAEA,IAAInB,OAAO,CAACoB,OAAO,CAACT,MAAM,CAAC,KAAKX,OAAO,CAACqB,MAAM,GAAG,CAAC,IAAIT,SAAS,EAAE;UAC/D,OAAO;YAACI,GAAG,EAAE,IAAI;YAAEC,KAAK,EAAEL;UAAS,CAAC;QACtC;MACF;MAEA,OAAO;QAACI,GAAG,EAAE,IAAI;QAAEC,KAAK,EAAE,IAAIW,KAAK,CAAC,gCAAgC;MAAC,CAAC;IACxE,CAAC,EAAE,CAAC;IAEJhD,SAAS,CAACC,UAAU,CAACgD,GAAG,CAACnC,GAAG,EAAEG,WAAW,CAAC;IAE1C,MAAMiC,MAAM,GAAG,MAAMjC,WAAW;IAChC,IAAIiC,MAAM,CAACb,KAAK,EAAE;MAChBrC,SAAS,CAACC,UAAU,CAACkD,MAAM,CAACrC,GAAG,CAAC;IAClC;IACA,OAAOoC,MAAM;EACf;EAEA,MAAME,UAAUA,CACdC,QAAsC,EACtCjD,MAA2B,GAAG,CAAC,CAAC,EAChCkD,QAA8B,EACG;IACjC,MAAMC,IAAI,GAAGnD,MAAM,CAACmD,IAAI,IAAI,OAAO;IAEnC,IAAIL,MAA8B;IAClC,IAAIlB,SAAuB,GAAG,IAAI;IAElC,IAAIuB,IAAI,KAAK,QAAQ,EAAE;MACrBL,MAAM,GAAG,MAAM,IAAI,CAACM,uBAAuB,CAACH,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;IACzE,CAAC,MAAM,IAAIC,IAAI,KAAK,OAAO,EAAE;MAC3BL,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACJ,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;IACxE,CAAC,MAAM,IAAIC,IAAI,KAAK,YAAY,EAAE;MAChC,IAAI;QACFL,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACJ,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;MACxE,CAAC,CAAC,OAAOhB,CAAC,EAAE;QACVN,SAAS,GAAGM,CAAU;QACtB,IAAI;UACFY,MAAM,GAAG,MAAM,IAAI,CAACM,uBAAuB,CAACH,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;QACzE,CAAC,CAAC,OAAOI,WAAW,EAAE;UACpB,MAAM1B,SAAS;QACjB;MACF;IACF,CAAC,MAAM,IAAIuB,IAAI,KAAK,aAAa,EAAE;MACjC,IAAI;QACFL,MAAM,GAAG,MAAM,IAAI,CAACM,uBAAuB,CAACH,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;MACzE,CAAC,CAAC,OAAOhB,CAAC,EAAE;QACVN,SAAS,GAAGM,CAAU;QACtB,IAAI;UACFY,MAAM,GAAG,MAAM,IAAI,CAACO,sBAAsB,CAACJ,QAAQ,EAAEjD,MAAM,EAAEkD,QAAQ,CAAC;QACxE,CAAC,CAAC,OAAOK,UAAU,EAAE;UACnB,MAAM3B,SAAS;QACjB;MACF;IACF,CAAC,MAAM;MACL,MAAM,IAAIgB,KAAK,CAAC,gBAAgB,GAAGO,IAAI,GAAG,6DAA6D,CAAC;IAC1G;IAEA,OAAOL,MAAM;EACf;EAEQO,sBAAsB,GAAG,MAAAA,CAC/BJ,QAAsC,EACtCjD,MAA2B,EAC3BkD,QAA8B,KACM;IACpC,MAAM;MAAEM,WAAW;MAAEC;IAAc,CAAC,GAClC,IAAI,CAAClD,0BAA0B,CAACmD,kBAAkB,CAACT,QAAQ,CAAC;IAE9D,IAAIQ,aAAa,EAAE;MACjB,IAAI,CAACnD,OAAO,EAAEqD,MAAM,CAAC,CAAC;MACtB,IAAI,CAACpD,0BAA0B,CAACqD,KAAK,CAAC,CAAC;IACzC;IAEA,IAAIJ,WAAW,CAACnB,MAAM,KAAK,CAAC,EAAE;MAC5BwB,OAAO,CAACC,IAAI,CAAC,0BAA0B,CAAC;IAC1C;IAEA,IAAIhB,MAA8B;IAElC,IAAI9C,MAAM,CAAC+D,MAAM,IAAI/D,MAAM,CAAC+D,MAAM,CAAC1B,MAAM,GAAG,CAAC,EAAE;MAC7C,MAAM2B,eAAe,GAAG,MAAM,IAAI,CAAC1D,OAAO,CAAC2D,gBAAgB,CAACT,WAAW,CAAC;MACxE,MAAMU,MAAM,GACV,OAAOF,eAAe,KAAK,QAAQ,GAC/BA,eAAe,GACfA,eAAe,CAACE,MAAM;MAC5BpB,MAAM,GAAG,MAAMxD,oBAAoB,CACjC,IAAI,CAACgB,OAAO,CAACwB,EAAE,EACfoC,MAAM,EACNlE,MAAM,CAAC+D,MAAM,EACb;QAAE,GAAG/D,MAAM;QAAEkE,MAAM;QAAEC,uBAAuB,EAAE,CAAC,CAACjB;MAAS,CAC3D,CAAC;IACH,CAAC,MAAM;MACLJ,MAAM,GAAG,MAAM,IAAI,CAACxC,OAAO,CAAC0C,UAAU,CAAC;QAAEC,QAAQ,EAAEO,WAAW;QAAE,GAAGxD;MAAO,CAAC,EAAEkD,QAAQ,CAAC;IACxF;IAEA,IAAI,CAAC3C,0BAA0B,CAAC6D,MAAM,CAACZ,WAAW,EAAE;MAClDa,IAAI,EAAE,WAAW;MACjBC,OAAO,EAAExB,MAAM,CAACwB,OAAO,IAAIxB,MAAM,CAACyB;IACpC,CAAC,CAAC;IAEF,OAAOzB,MAAM;EACf,CAAC;EAED,MAAcM,uBAAuBA,CACnCH,QAAsC,EACtCjD,MAA2B,EAC3BkD,QAA8B,EACG;IACjC,MAAMgB,MAAM,GAAGjB,QAAQ,CAACuB,GAAG,CAAEC,CAAC,IAAK,GAAGA,CAAC,CAACJ,IAAI,KAAKI,CAAC,CAACH,OAAO,EAAE,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;IACxE,MAAMC,SAAS,GAAG3E,MAAM,CAAC+D,MAAM,IAAI/D,MAAM,CAAC+D,MAAM,CAAC1B,MAAM,GAAG,CAAC,GAAGrC,MAAM,CAAC+D,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;IAEnF,IAAIa,YAAoB;IACxB,IAAID,SAAS,EAAE;MACbC,YAAY,GAAG,MAAMlF,mBAAmB,CAACwE,MAAM,EAAES,SAAS,CAAC;IAC7D,CAAC,MAAM;MACLC,YAAY,GAAG,MAAMnF,iBAAiB,CAACyE,MAAM,CAAC;IAChD;IAEA,IAAIhB,QAAQ,EAAE;MACZ,KAAK,IAAI2B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,YAAY,CAACvC,MAAM,EAAEwC,CAAC,EAAE,EAAE;QAC5C3B,QAAQ,CAAC;UAAE4B,KAAK,EAAEF,YAAY,CAACC,CAAC;QAAE,CAAC,CAAC;MACtC;IACF;IAEA,OAAO;MACLN,IAAI,EAAEK,YAAY;MAClBG,iBAAiB,EAAE,EAAE;MACrBC,UAAU,EAAE,EAAE;MACdV,OAAO,EAAEM,YAAY;MACrBK,gBAAgB,EAAEL,YAAY,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC7C,MAAM;MAChD8C,gBAAgB,EAAEjB,MAAM,CAACgB,KAAK,CAAC,GAAG,CAAC,CAAC7C,MAAM;MAC1C+C,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE,EAAE;MAChBC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE,EAAE;MACjBC,aAAa,EAAE,CAAC;MAChBC,OAAO,EAAE;QACPC,QAAQ,EAAEzB,MAAM,CAACgB,KAAK,CAAC,GAAG,CAAC,CAAC7C,MAAM;QAClCuD,SAAS,EAAE,CAAC;QACZC,mBAAmB,EAAE,CAAC;QACtBC,iBAAiB,EAAE,CAAC;QACpBC,WAAW,EAAEnB,YAAY,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC7C,MAAM;QAC3C2D,YAAY,EAAE,CAAC;QACfC,sBAAsB,EAAE,CAAC;QACzBC,oBAAoB,EAAE;MACxB;IACF,CAAC;EACH;EAEA,MAAMvC,MAAMA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACrD,OAAO,EAAEqD,MAAM,CAAC,CAAC;EAC/B;EAEA,MAAMwC,OAAOA,CAAA,EAAkB;IAC7B,OAAO,IAAI,CAAC7F,OAAO,CAAC6F,OAAO,CAAC,CAAC;EAC/B;EAEA,MAAMC,cAAcA,CAAA,EAAkB;IACpC,OAAO,MAAM,IAAI,CAAC9F,OAAO,CAAC8F,cAAc,CAAC,CAAC;EAC5C;AACF","ignoreList":[]}
|
|
@@ -4,9 +4,6 @@ export type NativeEmbeddingParams = {
|
|
|
4
4
|
};
|
|
5
5
|
export type NativeContextParams = {
|
|
6
6
|
model: string;
|
|
7
|
-
/**
|
|
8
|
-
* Chat template to override the default one from the model.
|
|
9
|
-
*/
|
|
10
7
|
chat_template?: string;
|
|
11
8
|
reasoning_format?: string;
|
|
12
9
|
is_model_asset?: boolean;
|
|
@@ -15,40 +12,16 @@ export type NativeContextParams = {
|
|
|
15
12
|
n_batch?: number;
|
|
16
13
|
n_ubatch?: number;
|
|
17
14
|
n_threads?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Number of layers to store in VRAM (Currently only for iOS)
|
|
20
|
-
*/
|
|
21
15
|
n_gpu_layers?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Skip GPU devices (iOS only)
|
|
24
|
-
*/
|
|
25
16
|
no_gpu_devices?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Enable flash attention, only recommended in GPU device (Experimental in llama.cpp)
|
|
28
|
-
*/
|
|
29
17
|
flash_attn?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* KV cache data type for the K (Experimental in llama.cpp)
|
|
32
|
-
*/
|
|
33
18
|
cache_type_k?: string;
|
|
34
|
-
/**
|
|
35
|
-
* KV cache data type for the V (Experimental in llama.cpp)
|
|
36
|
-
*/
|
|
37
19
|
cache_type_v?: string;
|
|
38
20
|
use_mlock?: boolean;
|
|
39
21
|
use_mmap?: boolean;
|
|
40
22
|
vocab_only?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Single LoRA adapter path
|
|
43
|
-
*/
|
|
44
23
|
lora?: string;
|
|
45
|
-
/**
|
|
46
|
-
* Single LoRA adapter scale
|
|
47
|
-
*/
|
|
48
24
|
lora_scaled?: number;
|
|
49
|
-
/**
|
|
50
|
-
* LoRA adapter list
|
|
51
|
-
*/
|
|
52
25
|
lora_list?: Array<{
|
|
53
26
|
path: string;
|
|
54
27
|
scaled?: number;
|
|
@@ -62,22 +35,9 @@ export type NativeContextParams = {
|
|
|
62
35
|
export type NativeCompletionParams = {
|
|
63
36
|
prompt: string;
|
|
64
37
|
n_threads?: number;
|
|
65
|
-
/**
|
|
66
|
-
* JSON schema for convert to grammar for structured JSON output.
|
|
67
|
-
* It will be override by grammar if both are set.
|
|
68
|
-
*/
|
|
69
38
|
json_schema?: string;
|
|
70
|
-
/**
|
|
71
|
-
* Set grammar for grammar-based sampling. Default: no grammar
|
|
72
|
-
*/
|
|
73
39
|
grammar?: string;
|
|
74
|
-
/**
|
|
75
|
-
* Lazy grammar sampling, trigger by grammar_triggers. Default: false
|
|
76
|
-
*/
|
|
77
40
|
grammar_lazy?: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Lazy grammar triggers. Default: []
|
|
80
|
-
*/
|
|
81
41
|
grammar_triggers?: Array<{
|
|
82
42
|
type: number;
|
|
83
43
|
value: string;
|
|
@@ -85,118 +45,31 @@ export type NativeCompletionParams = {
|
|
|
85
45
|
}>;
|
|
86
46
|
preserved_tokens?: Array<string>;
|
|
87
47
|
chat_format?: number;
|
|
88
|
-
/**
|
|
89
|
-
* Specify a JSON array of stopping strings.
|
|
90
|
-
* These words will not be included in the completion, so make sure to add them to the prompt for the next iteration. Default: `[]`
|
|
91
|
-
*/
|
|
92
48
|
stop?: Array<string>;
|
|
93
|
-
/**
|
|
94
|
-
* Set the maximum number of tokens to predict when generating text.
|
|
95
|
-
* **Note:** May exceed the set limit slightly if the last token is a partial multibyte character.
|
|
96
|
-
* When 0,no tokens will be generated but the prompt is evaluated into the cache. Default: `-1`, where `-1` is infinity.
|
|
97
|
-
*/
|
|
98
49
|
n_predict?: number;
|
|
99
|
-
/**
|
|
100
|
-
* If greater than 0, the response also contains the probabilities of top N tokens for each generated token given the sampling settings.
|
|
101
|
-
* Note that for temperature < 0 the tokens are sampled greedily but token probabilities are still being calculated via a simple softmax of the logits without considering any other sampler settings.
|
|
102
|
-
* Default: `0`
|
|
103
|
-
*/
|
|
104
50
|
n_probs?: number;
|
|
105
|
-
/**
|
|
106
|
-
* Limit the next token selection to the K most probable tokens. Default: `40`
|
|
107
|
-
*/
|
|
108
51
|
top_k?: number;
|
|
109
|
-
/**
|
|
110
|
-
* Limit the next token selection to a subset of tokens with a cumulative probability above a threshold P. Default: `0.95`
|
|
111
|
-
*/
|
|
112
52
|
top_p?: number;
|
|
113
|
-
/**
|
|
114
|
-
* The minimum probability for a token to be considered, relative to the probability of the most likely token. Default: `0.05`
|
|
115
|
-
*/
|
|
116
53
|
min_p?: number;
|
|
117
|
-
/**
|
|
118
|
-
* Set the chance for token removal via XTC sampler. Default: `0.0`, which is disabled.
|
|
119
|
-
*/
|
|
120
54
|
xtc_probability?: number;
|
|
121
|
-
/**
|
|
122
|
-
* Set a minimum probability threshold for tokens to be removed via XTC sampler. Default: `0.1` (> `0.5` disables XTC)
|
|
123
|
-
*/
|
|
124
55
|
xtc_threshold?: number;
|
|
125
|
-
/**
|
|
126
|
-
* Enable locally typical sampling with parameter p. Default: `1.0`, which is disabled.
|
|
127
|
-
*/
|
|
128
56
|
typical_p?: number;
|
|
129
|
-
/**
|
|
130
|
-
* Adjust the randomness of the generated text. Default: `0.8`
|
|
131
|
-
*/
|
|
132
57
|
temperature?: number;
|
|
133
|
-
/**
|
|
134
|
-
* Last n tokens to consider for penalizing repetition. Default: `64`, where `0` is disabled and `-1` is ctx-size.
|
|
135
|
-
*/
|
|
136
58
|
penalty_last_n?: number;
|
|
137
|
-
/**
|
|
138
|
-
* Control the repetition of token sequences in the generated text. Default: `1.0`
|
|
139
|
-
*/
|
|
140
59
|
penalty_repeat?: number;
|
|
141
|
-
/**
|
|
142
|
-
* Repeat alpha frequency penalty. Default: `0.0`, which is disabled.
|
|
143
|
-
*/
|
|
144
60
|
penalty_freq?: number;
|
|
145
|
-
/**
|
|
146
|
-
* Repeat alpha presence penalty. Default: `0.0`, which is disabled.
|
|
147
|
-
*/
|
|
148
61
|
penalty_present?: number;
|
|
149
|
-
/**
|
|
150
|
-
* Enable Mirostat sampling, controlling perplexity during text generation. Default: `0`, where `0` is disabled, `1` is Mirostat, and `2` is Mirostat 2.0.
|
|
151
|
-
*/
|
|
152
62
|
mirostat?: number;
|
|
153
|
-
/**
|
|
154
|
-
* Set the Mirostat target entropy, parameter tau. Default: `5.0`
|
|
155
|
-
*/
|
|
156
63
|
mirostat_tau?: number;
|
|
157
|
-
/**
|
|
158
|
-
* Set the Mirostat learning rate, parameter eta. Default: `0.1`
|
|
159
|
-
*/
|
|
160
64
|
mirostat_eta?: number;
|
|
161
|
-
/**
|
|
162
|
-
* Set the DRY (Don't Repeat Yourself) repetition penalty multiplier. Default: `0.0`, which is disabled.
|
|
163
|
-
*/
|
|
164
65
|
dry_multiplier?: number;
|
|
165
|
-
/**
|
|
166
|
-
* Set the DRY repetition penalty base value. Default: `1.75`
|
|
167
|
-
*/
|
|
168
66
|
dry_base?: number;
|
|
169
|
-
/**
|
|
170
|
-
* Tokens that extend repetition beyond this receive exponentially increasing penalty: multiplier * base ^ (length of repeating sequence before token - allowed length). Default: `2`
|
|
171
|
-
*/
|
|
172
67
|
dry_allowed_length?: number;
|
|
173
|
-
/**
|
|
174
|
-
* How many tokens to scan for repetitions. Default: `-1`, where `0` is disabled and `-1` is context size.
|
|
175
|
-
*/
|
|
176
68
|
dry_penalty_last_n?: number;
|
|
177
|
-
/**
|
|
178
|
-
* Specify an array of sequence breakers for DRY sampling. Only a JSON array of strings is accepted. Default: `['\n', ':', '"', '*']`
|
|
179
|
-
*/
|
|
180
69
|
dry_sequence_breakers?: Array<string>;
|
|
181
|
-
/**
|
|
182
|
-
* Top n sigma sampling as described in academic paper "Top-nσ: Not All Logits Are You Need" https://arxiv.org/pdf/2411.07641. Default: `-1.0` (Disabled)
|
|
183
|
-
*/
|
|
184
70
|
top_n_sigma?: number;
|
|
185
|
-
/**
|
|
186
|
-
* Ignore end of stream token and continue generating. Default: `false`
|
|
187
|
-
*/
|
|
188
71
|
ignore_eos?: boolean;
|
|
189
|
-
/**
|
|
190
|
-
* Modify the likelihood of a token appearing in the generated text completion.
|
|
191
|
-
* For example, use `"logit_bias": [[15043,1.0]]` to increase the likelihood of the token 'Hello', or `"logit_bias": [[15043,-1.0]]` to decrease its likelihood.
|
|
192
|
-
* Setting the value to false, `"logit_bias": [[15043,false]]` ensures that the token `Hello` is never produced. The tokens can also be represented as strings,
|
|
193
|
-
* e.g.`[["Hello, World!",-0.5]]` will reduce the likelihood of all the individual tokens that represent the string `Hello, World!`, just like the `presence_penalty` does.
|
|
194
|
-
* Default: `[]`
|
|
195
|
-
*/
|
|
196
72
|
logit_bias?: Array<Array<number>>;
|
|
197
|
-
/**
|
|
198
|
-
* Set the random number generator (RNG) seed. Default: `-1`, which is a random seed.
|
|
199
|
-
*/
|
|
200
73
|
seed?: number;
|
|
201
74
|
emit_partial_completion: boolean;
|
|
202
75
|
};
|
|
@@ -219,17 +92,8 @@ export type NativeCompletionResultTimings = {
|
|
|
219
92
|
predicted_per_second: number;
|
|
220
93
|
};
|
|
221
94
|
export type NativeCompletionResult = {
|
|
222
|
-
/**
|
|
223
|
-
* Original text (Ignored reasoning_content / tool_calls)
|
|
224
|
-
*/
|
|
225
95
|
text: string;
|
|
226
|
-
/**
|
|
227
|
-
* Reasoning content (parsed for reasoning model)
|
|
228
|
-
*/
|
|
229
96
|
reasoning_content: string;
|
|
230
|
-
/**
|
|
231
|
-
* Tool calls
|
|
232
|
-
*/
|
|
233
97
|
tool_calls: Array<{
|
|
234
98
|
type: 'function';
|
|
235
99
|
function: {
|
|
@@ -238,9 +102,6 @@ export type NativeCompletionResult = {
|
|
|
238
102
|
};
|
|
239
103
|
id?: string;
|
|
240
104
|
}>;
|
|
241
|
-
/**
|
|
242
|
-
* Content text (Filtered text by reasoning_content / tool_calls)
|
|
243
|
-
*/
|
|
244
105
|
content: string;
|
|
245
106
|
tokens_predicted: number;
|
|
246
107
|
tokens_evaluated: number;
|
|
@@ -314,9 +175,6 @@ export type NativeLlamaContext = {
|
|
|
314
175
|
metadata: Object;
|
|
315
176
|
isChatTemplateSupported: boolean;
|
|
316
177
|
};
|
|
317
|
-
/**
|
|
318
|
-
* Loaded library name for Android
|
|
319
|
-
*/
|
|
320
178
|
androidLib?: string;
|
|
321
179
|
gpu: boolean;
|
|
322
180
|
reasonNoGPU: string;
|
|
@@ -385,6 +243,7 @@ export interface Spec extends TurboModule {
|
|
|
385
243
|
decodeAudioTokens(contextId: number, tokens: number[]): Promise<NativeAudioDecodeResult>;
|
|
386
244
|
getDeviceInfo(contextId: number): Promise<NativeDeviceInfo>;
|
|
387
245
|
releaseVocoder(contextId: number): Promise<void>;
|
|
246
|
+
rewind(contextId: number): Promise<void>;
|
|
388
247
|
releaseContext(contextId: number): Promise<void>;
|
|
389
248
|
releaseAllContexts(): Promise<void>;
|
|
390
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeCactus.d.ts","sourceRoot":"","sources":["../../src/NativeCactus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb
|
|
1
|
+
{"version":3,"file":"NativeCactus.d.ts","sourceRoot":"","sources":["../../src/NativeCactus.ts"],"names":[],"mappings":"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"}
|
package/lib/typescript/chat.d.ts
CHANGED
|
@@ -7,4 +7,15 @@ export type CactusOAICompatibleMessage = {
|
|
|
7
7
|
content?: string | CactusMessagePart[] | any;
|
|
8
8
|
};
|
|
9
9
|
export declare function formatChat(messages: CactusOAICompatibleMessage[]): NativeLlamaChatMessage[];
|
|
10
|
+
export interface ProcessedMessages {
|
|
11
|
+
newMessages: CactusOAICompatibleMessage[];
|
|
12
|
+
requiresReset: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class ConversationHistoryManager {
|
|
15
|
+
private history;
|
|
16
|
+
processNewMessages(fullMessageHistory: CactusOAICompatibleMessage[]): ProcessedMessages;
|
|
17
|
+
update(newMessages: CactusOAICompatibleMessage[], assistantResponse: CactusOAICompatibleMessage): void;
|
|
18
|
+
reset(): void;
|
|
19
|
+
getMessages(): CactusOAICompatibleMessage[];
|
|
20
|
+
}
|
|
10
21
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,GAAG,CAAA;CAC7C,CAAA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,0BAA0B,EAAE,GACrC,sBAAsB,EAAE,CA8B1B"}
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,GAAG,CAAA;CAC7C,CAAA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,0BAA0B,EAAE,GACrC,sBAAsB,EAAE,CA8B1B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,OAAO,CAAoC;IAE5C,kBAAkB,CACvB,kBAAkB,EAAE,0BAA0B,EAAE,GAC/C,iBAAiB;IAmBb,MAAM,CACX,WAAW,EAAE,0BAA0B,EAAE,EACzC,iBAAiB,EAAE,0BAA0B;IAKxC,KAAK;IAIL,WAAW,IAAI,0BAA0B,EAAE;CAGnD"}
|