cactus-react-native 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -10
- package/android/src/main/java/com/margelo/nitro/cactus/HybridCactusFileSystem.kt +1 -3
- package/android/src/main/jniLibs/arm64-v8a/libcactus.a +0 -0
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/engine.h +2 -2
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/graph.h +46 -6
- package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
- package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/engine.h +2 -2
- package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/graph.h +46 -6
- package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/cactus +0 -0
- package/lib/module/api/Database.js +45 -0
- package/lib/module/api/Database.js.map +1 -1
- package/lib/module/classes/CactusLM.js +0 -5
- package/lib/module/classes/CactusLM.js.map +1 -1
- package/lib/module/classes/CactusSTT.js +8 -10
- package/lib/module/classes/CactusSTT.js.map +1 -1
- package/lib/module/constants/packageVersion.js +1 -1
- package/lib/module/hooks/useCactusSTT.js +7 -7
- package/lib/module/hooks/useCactusSTT.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/Cactus.js +8 -3
- package/lib/module/native/Cactus.js.map +1 -1
- package/lib/module/types/CactusSTTModel.js +2 -0
- package/lib/module/types/CactusSTTModel.js.map +1 -0
- package/lib/typescript/src/api/Database.d.ts +3 -0
- package/lib/typescript/src/api/Database.d.ts.map +1 -1
- package/lib/typescript/src/classes/CactusLM.d.ts +0 -1
- package/lib/typescript/src/classes/CactusLM.d.ts.map +1 -1
- package/lib/typescript/src/classes/CactusSTT.d.ts +3 -3
- package/lib/typescript/src/classes/CactusSTT.d.ts.map +1 -1
- package/lib/typescript/src/constants/packageVersion.d.ts +1 -1
- package/lib/typescript/src/hooks/useCactusSTT.d.ts +3 -3
- package/lib/typescript/src/hooks/useCactusSTT.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/Cactus.d.ts.map +1 -1
- package/lib/typescript/src/types/CactusModel.d.ts +1 -0
- package/lib/typescript/src/types/CactusModel.d.ts.map +1 -1
- package/lib/typescript/src/types/CactusSTTModel.d.ts +8 -0
- package/lib/typescript/src/types/CactusSTTModel.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/api/Database.ts +66 -0
- package/src/classes/CactusLM.ts +0 -6
- package/src/classes/CactusSTT.ts +14 -13
- package/src/constants/packageVersion.ts +1 -1
- package/src/hooks/useCactusSTT.ts +9 -9
- package/src/index.tsx +1 -0
- package/src/native/Cactus.ts +11 -3
- package/src/types/CactusModel.ts +1 -0
- package/src/types/CactusSTTModel.ts +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useState","useRef","CactusSTT","CactusFileSystem","getErrorMessage","useCactusSTT","model","contextSize","cactusSTT","setCactusSTT","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useRef","CactusSTT","CactusFileSystem","getErrorMessage","useCactusSTT","model","contextSize","cactusSTT","setCactusSTT","transcription","setTranscription","isGenerating","setIsGenerating","isInitializing","setIsInitializing","isDownloaded","setIsDownloaded","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","error","setError","currentModelRef","currentDownloadIdRef","current","mounted","modelExists","then","exists","catch","e","destroy","download","onProgress","message","Error","thisModel","thisDownloadId","progress","init","transcribe","audioFilePath","prompt","options","onToken","token","prev","audioEmbed","audioPath","stop","reset","getModels"],"sourceRoot":"../../../src","sources":["hooks/useCactusSTT.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CactusLM","CactusSTT","useCactusLM","useCactusSTT","CactusConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,SAAS,QAAQ,wBAAqB;;AAE/C;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;;AAEnD;;
|
|
1
|
+
{"version":3,"names":["CactusLM","CactusSTT","useCactusLM","useCactusSTT","CactusConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,SAAS,QAAQ,wBAAqB;;AAE/C;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;;AAEnD;;AA0BA;AACA,SAASC,YAAY,QAAQ,0BAAuB","ignoreList":[]}
|
|
@@ -9,9 +9,14 @@ export class Cactus {
|
|
|
9
9
|
}
|
|
10
10
|
async complete(messages, responseBufferSize, options, tools, callback) {
|
|
11
11
|
const messagesInternal = [];
|
|
12
|
-
for (
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
for (let i = 0; i < messages.length; i++) {
|
|
13
|
+
const message = messages[i];
|
|
14
|
+
const isLastMessage = i === messages.length - 1;
|
|
15
|
+
if (!message.images || !isLastMessage) {
|
|
16
|
+
messagesInternal.push({
|
|
17
|
+
...message,
|
|
18
|
+
images: undefined
|
|
19
|
+
});
|
|
15
20
|
continue;
|
|
16
21
|
}
|
|
17
22
|
const resizedImages = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","contextSize","corpusDir","complete","messages","responseBufferSize","options","tools","callback","messagesInternal","message","images","push","resizedImages","imagePath","resizedImage","resize","replace","messagesJson","JSON","stringify","optionsJson","temperature","top_p","topP","top_k","topK","max_tokens","maxTokens","stop_sequences","stopSequences","
|
|
1
|
+
{"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","contextSize","corpusDir","complete","messages","responseBufferSize","options","tools","callback","messagesInternal","i","length","message","isLastMessage","images","push","undefined","resizedImages","imagePath","resizedImage","resize","replace","messagesJson","JSON","stringify","optionsJson","temperature","top_p","topP","top_k","topK","max_tokens","maxTokens","stop_sequences","stopSequences","toolsJson","response","parsed","parse","success","functionCalls","function_calls","timeToFirstTokenMs","time_to_first_token_ms","totalTimeMs","total_time_ms","tokensPerSecond","tokens_per_second","prefillTokens","prefill_tokens","decodeTokens","decode_tokens","totalTokens","total_tokens","Error","transcribe","audioFilePath","prompt","embed","text","embeddingBufferSize","imageEmbed","audioEmbed","audioPath","reset","stop","destroy"],"sourceRoot":"../../../src","sources":["native/Cactus.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/CactusSTTModel.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { DeviceInfo } from '../specs/CactusDeviceInfo.nitro';
|
|
2
2
|
import type { LogRecord } from '../telemetry/Telemetry';
|
|
3
3
|
import type { CactusModel } from '../types/CactusModel';
|
|
4
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
4
5
|
export declare class Database {
|
|
5
6
|
private static readonly url;
|
|
6
7
|
private static readonly key;
|
|
7
8
|
static sendLogRecords(records: LogRecord[]): Promise<void>;
|
|
8
9
|
static registerDevice(device_data: DeviceInfo): Promise<string>;
|
|
9
10
|
static getModel(slug: string): Promise<CactusModel>;
|
|
11
|
+
static getSTTModel(slug: string): Promise<CactusSTTModel>;
|
|
10
12
|
static getModels(): Promise<CactusModel[]>;
|
|
13
|
+
static getSTTModels(): Promise<CactusSTTModel[]>;
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=Database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../../src/api/Database.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../../src/api/Database.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAqB9D,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAA8C;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC0L;WAEjM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAkBnD,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;WAgBxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;WA4B5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;WA+BlD,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;WA4BnC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAuB9D"}
|
|
@@ -13,7 +13,6 @@ export declare class CactusLM {
|
|
|
13
13
|
private static readonly defaultCompleteOptions;
|
|
14
14
|
private static readonly defaultCompleteMode;
|
|
15
15
|
private static readonly defaultEmbedBufferSize;
|
|
16
|
-
private static cactusModelsCache;
|
|
17
16
|
constructor({ model, contextSize, corpusDir }?: CactusLMParams);
|
|
18
17
|
download({ onProgress, }?: CactusLMDownloadParams): Promise<void>;
|
|
19
18
|
init(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CactusLM.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusLM.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAe;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAE5C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;
|
|
1
|
+
{"version":3,"file":"CactusLM.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusLM.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAe;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAE5C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAE1C,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAE,cAAmB;IAQrD,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,QAAQ,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0D9C,KAAK,CAAC,EACjB,IAAI,GACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuBxC,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuBxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAOjD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CactusSTTDownloadParams, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult } from '../types/CactusSTT';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
3
3
|
export declare class CactusSTT {
|
|
4
4
|
private readonly cactus;
|
|
5
5
|
private readonly model;
|
|
@@ -9,9 +9,9 @@ export declare class CactusSTT {
|
|
|
9
9
|
private isGenerating;
|
|
10
10
|
private static readonly defaultModel;
|
|
11
11
|
private static readonly defaultContextSize;
|
|
12
|
+
private static readonly defaultPrompt;
|
|
12
13
|
private static readonly defaultTranscribeOptions;
|
|
13
14
|
private static readonly defaultEmbedBufferSize;
|
|
14
|
-
private static cactusModelsCache;
|
|
15
15
|
constructor({ model, contextSize }?: CactusSTTParams);
|
|
16
16
|
download({ onProgress, }?: CactusSTTDownloadParams): Promise<void>;
|
|
17
17
|
init(): Promise<void>;
|
|
@@ -20,6 +20,6 @@ export declare class CactusSTT {
|
|
|
20
20
|
stop(): Promise<void>;
|
|
21
21
|
reset(): Promise<void>;
|
|
22
22
|
destroy(): Promise<void>;
|
|
23
|
-
getModels(): Promise<
|
|
23
|
+
getModels(): Promise<CactusSTTModel[]>;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=CactusSTT.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusSTT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusSTT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACyB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAE9C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAE1C,EAAE,KAAK,EAAE,WAAW,EAAE,GAAE,eAAoB;IAO3C,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,UAAU,CAAC,EACtB,aAAa,EACb,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAsCpD,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAuB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAOpD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const packageVersion = "1.1
|
|
1
|
+
export declare const packageVersion = "1.2.1";
|
|
2
2
|
//# sourceMappingURL=packageVersion.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CactusSTTParams, CactusSTTTranscribeResult, CactusSTTTranscribeParams, CactusSTTDownloadParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult } from '../types/CactusSTT';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
3
3
|
export declare const useCactusSTT: ({ model, contextSize, }?: CactusSTTParams) => {
|
|
4
|
-
|
|
4
|
+
transcription: string;
|
|
5
5
|
isGenerating: boolean;
|
|
6
6
|
isInitializing: boolean;
|
|
7
7
|
isDownloaded: boolean;
|
|
@@ -15,6 +15,6 @@ export declare const useCactusSTT: ({ model, contextSize, }?: CactusSTTParams) =
|
|
|
15
15
|
reset: () => Promise<void>;
|
|
16
16
|
stop: () => Promise<void>;
|
|
17
17
|
destroy: () => Promise<void>;
|
|
18
|
-
getModels: () => Promise<
|
|
18
|
+
getModels: () => Promise<CactusSTTModel[]>;
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=useCactusSTT.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCactusSTT.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useCactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCactusSTT.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,eAAO,MAAM,YAAY,GAAI,0BAG1B,eAAoB;;;;;;;;gCA4DI,uBAAuB;;+DA2F3C,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;iCAiC9D,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;;;;qBAuD3B,OAAO,CAAC,cAAc,EAAE,CAAC;CA4BlE,CAAC"}
|
|
@@ -3,6 +3,7 @@ export { CactusSTT } from './classes/CactusSTT';
|
|
|
3
3
|
export { useCactusLM } from './hooks/useCactusLM';
|
|
4
4
|
export { useCactusSTT } from './hooks/useCactusSTT';
|
|
5
5
|
export type { CactusModel } from './types/CactusModel';
|
|
6
|
+
export type { CactusSTTModel } from './types/CactusSTTModel';
|
|
6
7
|
export type { CactusLMParams, CactusLMDownloadParams, Message, CompleteOptions, Tool, CactusLMCompleteParams, CactusLMCompleteResult, CactusLMEmbedParams, CactusLMEmbedResult, CactusLMImageEmbedParams, CactusLMImageEmbedResult, } from './types/CactusLM';
|
|
7
8
|
export type { CactusSTTParams, CactusSTTDownloadParams, TranscribeOptions, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, } from './types/CactusSTT';
|
|
8
9
|
export { CactusConfig } from './config/CactusConfig';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,EAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,EAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;IAmErB,UAAU,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAqC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7D,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUb,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAOb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CactusModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"CactusModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CactusSTTModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusSTTModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
package/package.json
CHANGED
package/src/api/Database.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { DeviceInfo } from '../specs/CactusDeviceInfo.nitro';
|
|
|
3
3
|
import type { LogRecord } from '../telemetry/Telemetry';
|
|
4
4
|
import { packageVersion } from '../constants/packageVersion';
|
|
5
5
|
import type { CactusModel } from '../types/CactusModel';
|
|
6
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
6
7
|
|
|
7
8
|
interface CactusModelResponse {
|
|
8
9
|
name: string;
|
|
@@ -12,6 +13,14 @@ interface CactusModelResponse {
|
|
|
12
13
|
download_url: string;
|
|
13
14
|
supports_tool_calling: boolean;
|
|
14
15
|
supports_vision: boolean;
|
|
16
|
+
supports_completion: boolean;
|
|
17
|
+
created_at: Date;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
interface CactusSTTModelResponse {
|
|
21
|
+
slug: string;
|
|
22
|
+
download_url: string;
|
|
23
|
+
size_mb: number;
|
|
15
24
|
created_at: Date;
|
|
16
25
|
}
|
|
17
26
|
|
|
@@ -76,6 +85,38 @@ export class Database {
|
|
|
76
85
|
downloadUrl: model.download_url,
|
|
77
86
|
supportsToolCalling: model.supports_tool_calling,
|
|
78
87
|
supportsVision: model.supports_vision,
|
|
88
|
+
supportsCompletion: model.supports_completion,
|
|
89
|
+
createdAt: model.created_at,
|
|
90
|
+
isDownloaded: false,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
public static async getSTTModel(slug: string): Promise<CactusSTTModel> {
|
|
95
|
+
const response = await fetch(
|
|
96
|
+
`${this.url}/rest/v1/whisper?slug=eq.${slug}&select=*`,
|
|
97
|
+
{
|
|
98
|
+
headers: {
|
|
99
|
+
'apikey': this.key,
|
|
100
|
+
'Authorization': `Bearer ${this.key}`,
|
|
101
|
+
'Accept-Profile': 'cactus',
|
|
102
|
+
},
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
if (!response.ok) {
|
|
107
|
+
throw new Error('Getting STT model failed');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const [model] = (await response.json()) as CactusSTTModelResponse[];
|
|
111
|
+
|
|
112
|
+
if (!model) {
|
|
113
|
+
throw new Error(`STT model with slug "${slug}" not found`);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
slug: model.slug,
|
|
118
|
+
downloadUrl: model.download_url,
|
|
119
|
+
sizeMb: model.size_mb,
|
|
79
120
|
createdAt: model.created_at,
|
|
80
121
|
isDownloaded: false,
|
|
81
122
|
};
|
|
@@ -103,6 +144,31 @@ export class Database {
|
|
|
103
144
|
downloadUrl: model.download_url,
|
|
104
145
|
supportsToolCalling: model.supports_tool_calling,
|
|
105
146
|
supportsVision: model.supports_vision,
|
|
147
|
+
supportsCompletion: model.supports_completion,
|
|
148
|
+
createdAt: model.created_at,
|
|
149
|
+
isDownloaded: false,
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public static async getSTTModels(): Promise<CactusSTTModel[]> {
|
|
154
|
+
const response = await fetch(`${this.url}/rest/v1/whisper?select=*`, {
|
|
155
|
+
headers: {
|
|
156
|
+
'apikey': this.key,
|
|
157
|
+
'Authorization': `Bearer ${this.key}`,
|
|
158
|
+
'Accept-Profile': 'cactus',
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
if (!response.ok) {
|
|
163
|
+
throw new Error('Getting STT models failed');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
const models = (await response.json()) as CactusSTTModelResponse[];
|
|
167
|
+
|
|
168
|
+
return models.map((model) => ({
|
|
169
|
+
slug: model.slug,
|
|
170
|
+
downloadUrl: model.download_url,
|
|
171
|
+
sizeMb: model.size_mb,
|
|
106
172
|
createdAt: model.created_at,
|
|
107
173
|
isDownloaded: false,
|
|
108
174
|
}));
|
package/src/classes/CactusLM.ts
CHANGED
|
@@ -35,8 +35,6 @@ export class CactusLM {
|
|
|
35
35
|
private static readonly defaultCompleteMode = 'local';
|
|
36
36
|
private static readonly defaultEmbedBufferSize = 2048;
|
|
37
37
|
|
|
38
|
-
private static cactusModelsCache: CactusModel[] | null = null;
|
|
39
|
-
|
|
40
38
|
constructor({ model, contextSize, corpusDir }: CactusLMParams = {}) {
|
|
41
39
|
Telemetry.init(CactusConfig.telemetryToken);
|
|
42
40
|
|
|
@@ -226,14 +224,10 @@ export class CactusLM {
|
|
|
226
224
|
}
|
|
227
225
|
|
|
228
226
|
public async getModels(): Promise<CactusModel[]> {
|
|
229
|
-
if (CactusLM.cactusModelsCache) {
|
|
230
|
-
return CactusLM.cactusModelsCache;
|
|
231
|
-
}
|
|
232
227
|
const models = await Database.getModels();
|
|
233
228
|
for (const model of models) {
|
|
234
229
|
model.isDownloaded = await CactusFileSystem.modelExists(model.slug);
|
|
235
230
|
}
|
|
236
|
-
CactusLM.cactusModelsCache = models;
|
|
237
231
|
return models;
|
|
238
232
|
}
|
|
239
233
|
}
|
package/src/classes/CactusSTT.ts
CHANGED
|
@@ -7,11 +7,11 @@ import type {
|
|
|
7
7
|
CactusSTTAudioEmbedParams,
|
|
8
8
|
CactusSTTAudioEmbedResult,
|
|
9
9
|
} from '../types/CactusSTT';
|
|
10
|
-
import type { CactusModel } from '../types/CactusModel';
|
|
11
10
|
import { Telemetry } from '../telemetry/Telemetry';
|
|
12
11
|
import { CactusConfig } from '../config/CactusConfig';
|
|
13
12
|
import { Database } from '../api/Database';
|
|
14
13
|
import { getErrorMessage } from '../utils/error';
|
|
14
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
15
15
|
|
|
16
16
|
export class CactusSTT {
|
|
17
17
|
private readonly cactus = new Cactus();
|
|
@@ -25,12 +25,12 @@ export class CactusSTT {
|
|
|
25
25
|
|
|
26
26
|
private static readonly defaultModel = 'whisper-small';
|
|
27
27
|
private static readonly defaultContextSize = 2048;
|
|
28
|
+
private static readonly defaultPrompt =
|
|
29
|
+
'<|startoftranscript|><|en|><|transcribe|><|notimestamps|>';
|
|
28
30
|
private static readonly defaultTranscribeOptions = {
|
|
29
31
|
maxTokens: 512,
|
|
30
32
|
};
|
|
31
|
-
private static readonly defaultEmbedBufferSize =
|
|
32
|
-
|
|
33
|
-
private static cactusModelsCache: CactusModel[] | null = null;
|
|
33
|
+
private static readonly defaultEmbedBufferSize = 4096;
|
|
34
34
|
|
|
35
35
|
constructor({ model, contextSize }: CactusSTTParams = {}) {
|
|
36
36
|
Telemetry.init(CactusConfig.telemetryToken);
|
|
@@ -53,9 +53,10 @@ export class CactusSTT {
|
|
|
53
53
|
|
|
54
54
|
this.isDownloading = true;
|
|
55
55
|
try {
|
|
56
|
+
const model = await Database.getSTTModel(this.model);
|
|
56
57
|
await CactusFileSystem.downloadModel(
|
|
57
58
|
this.model,
|
|
58
|
-
|
|
59
|
+
model.downloadUrl,
|
|
59
60
|
onProgress
|
|
60
61
|
);
|
|
61
62
|
} finally {
|
|
@@ -86,7 +87,7 @@ export class CactusSTT {
|
|
|
86
87
|
|
|
87
88
|
public async transcribe({
|
|
88
89
|
audioFilePath,
|
|
89
|
-
prompt
|
|
90
|
+
prompt,
|
|
90
91
|
options,
|
|
91
92
|
onToken,
|
|
92
93
|
}: CactusSTTTranscribeParams): Promise<CactusSTTTranscribeResult> {
|
|
@@ -96,8 +97,12 @@ export class CactusSTT {
|
|
|
96
97
|
|
|
97
98
|
await this.init();
|
|
98
99
|
|
|
100
|
+
prompt = prompt ?? CactusSTT.defaultPrompt;
|
|
99
101
|
options = { ...CactusSTT.defaultTranscribeOptions, ...options };
|
|
100
|
-
|
|
102
|
+
|
|
103
|
+
const responseBufferSize =
|
|
104
|
+
8 * (options.maxTokens ?? CactusSTT.defaultTranscribeOptions.maxTokens) +
|
|
105
|
+
256;
|
|
101
106
|
|
|
102
107
|
this.isGenerating = true;
|
|
103
108
|
try {
|
|
@@ -168,15 +173,11 @@ export class CactusSTT {
|
|
|
168
173
|
this.isInitialized = false;
|
|
169
174
|
}
|
|
170
175
|
|
|
171
|
-
public async getModels(): Promise<
|
|
172
|
-
|
|
173
|
-
return CactusSTT.cactusModelsCache;
|
|
174
|
-
}
|
|
175
|
-
const models = await Database.getModels();
|
|
176
|
+
public async getModels(): Promise<CactusSTTModel[]> {
|
|
177
|
+
const models = await Database.getSTTModels();
|
|
176
178
|
for (const model of models) {
|
|
177
179
|
model.isDownloaded = await CactusFileSystem.modelExists(model.slug);
|
|
178
180
|
}
|
|
179
|
-
CactusSTT.cactusModelsCache = models;
|
|
180
181
|
return models;
|
|
181
182
|
}
|
|
182
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = '1.1
|
|
1
|
+
export const packageVersion = '1.2.1';
|
|
@@ -10,7 +10,7 @@ import type {
|
|
|
10
10
|
CactusSTTAudioEmbedParams,
|
|
11
11
|
CactusSTTAudioEmbedResult,
|
|
12
12
|
} from '../types/CactusSTT';
|
|
13
|
-
import type {
|
|
13
|
+
import type { CactusSTTModel } from '../types/CactusSTTModel';
|
|
14
14
|
|
|
15
15
|
export const useCactusSTT = ({
|
|
16
16
|
model = 'whisper-small',
|
|
@@ -21,7 +21,7 @@ export const useCactusSTT = ({
|
|
|
21
21
|
);
|
|
22
22
|
|
|
23
23
|
// State
|
|
24
|
-
const [
|
|
24
|
+
const [transcription, setTranscription] = useState('');
|
|
25
25
|
const [isGenerating, setIsGenerating] = useState(false);
|
|
26
26
|
const [isInitializing, setIsInitializing] = useState(false);
|
|
27
27
|
const [isDownloaded, setIsDownloaded] = useState(false);
|
|
@@ -39,7 +39,7 @@ export const useCactusSTT = ({
|
|
|
39
39
|
useEffect(() => {
|
|
40
40
|
setCactusSTT(new CactusSTT({ model, contextSize }));
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
setTranscription('');
|
|
43
43
|
setIsGenerating(false);
|
|
44
44
|
setIsInitializing(false);
|
|
45
45
|
setIsDownloaded(false);
|
|
@@ -174,7 +174,7 @@ export const useCactusSTT = ({
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
setError(null);
|
|
177
|
-
|
|
177
|
+
setTranscription('');
|
|
178
178
|
setIsGenerating(true);
|
|
179
179
|
try {
|
|
180
180
|
return await cactusSTT.transcribe({
|
|
@@ -182,7 +182,7 @@ export const useCactusSTT = ({
|
|
|
182
182
|
prompt,
|
|
183
183
|
options,
|
|
184
184
|
onToken: (token) => {
|
|
185
|
-
|
|
185
|
+
setTranscription((prev) => prev + token);
|
|
186
186
|
onToken?.(token);
|
|
187
187
|
},
|
|
188
188
|
});
|
|
@@ -238,7 +238,7 @@ export const useCactusSTT = ({
|
|
|
238
238
|
setError(getErrorMessage(e));
|
|
239
239
|
throw e;
|
|
240
240
|
} finally {
|
|
241
|
-
|
|
241
|
+
setTranscription('');
|
|
242
242
|
}
|
|
243
243
|
}, [cactusSTT]);
|
|
244
244
|
|
|
@@ -250,11 +250,11 @@ export const useCactusSTT = ({
|
|
|
250
250
|
setError(getErrorMessage(e));
|
|
251
251
|
throw e;
|
|
252
252
|
} finally {
|
|
253
|
-
|
|
253
|
+
setTranscription('');
|
|
254
254
|
}
|
|
255
255
|
}, [cactusSTT]);
|
|
256
256
|
|
|
257
|
-
const getModels = useCallback(async (): Promise<
|
|
257
|
+
const getModels = useCallback(async (): Promise<CactusSTTModel[]> => {
|
|
258
258
|
setError(null);
|
|
259
259
|
try {
|
|
260
260
|
return await cactusSTT.getModels();
|
|
@@ -265,7 +265,7 @@ export const useCactusSTT = ({
|
|
|
265
265
|
}, [cactusSTT]);
|
|
266
266
|
|
|
267
267
|
return {
|
|
268
|
-
|
|
268
|
+
transcription,
|
|
269
269
|
isGenerating,
|
|
270
270
|
isInitializing,
|
|
271
271
|
isDownloaded,
|
package/src/index.tsx
CHANGED
package/src/native/Cactus.ts
CHANGED
|
@@ -32,11 +32,18 @@ export class Cactus {
|
|
|
32
32
|
callback?: (token: string, tokenId: number) => void
|
|
33
33
|
): Promise<CactusLMCompleteResult> {
|
|
34
34
|
const messagesInternal: Message[] = [];
|
|
35
|
-
for (
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
for (let i = 0; i < messages.length; i++) {
|
|
36
|
+
const message = messages[i]!;
|
|
37
|
+
const isLastMessage = i === messages.length - 1;
|
|
38
|
+
|
|
39
|
+
if (!message.images || !isLastMessage) {
|
|
40
|
+
messagesInternal.push({
|
|
41
|
+
...message,
|
|
42
|
+
images: undefined,
|
|
43
|
+
});
|
|
38
44
|
continue;
|
|
39
45
|
}
|
|
46
|
+
|
|
40
47
|
const resizedImages: string[] = [];
|
|
41
48
|
for (const imagePath of message.images) {
|
|
42
49
|
const resizedImage = await CactusImage.resize(
|
|
@@ -47,6 +54,7 @@ export class Cactus {
|
|
|
47
54
|
);
|
|
48
55
|
resizedImages.push(resizedImage);
|
|
49
56
|
}
|
|
57
|
+
|
|
50
58
|
messagesInternal.push({ ...message, images: resizedImages });
|
|
51
59
|
}
|
|
52
60
|
|
package/src/types/CactusModel.ts
CHANGED