react-native-executorch 0.4.3 → 0.4.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/lib/module/controllers/LLMController.js +13 -8
- package/lib/module/controllers/LLMController.js.map +1 -1
- package/lib/module/controllers/SpeechToTextController.js +1 -1
- package/lib/module/controllers/SpeechToTextController.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useLLM.js +17 -5
- package/lib/module/hooks/natural_language_processing/useLLM.js.map +1 -1
- package/lib/module/modules/natural_language_processing/LLMModule.js +7 -0
- package/lib/module/modules/natural_language_processing/LLMModule.js.map +1 -1
- package/lib/module/types/llm.js +9 -1
- package/lib/module/types/llm.js.map +1 -1
- package/lib/typescript/controllers/LLMController.d.ts +4 -1
- package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
- package/lib/typescript/controllers/SpeechToTextController.d.ts.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts +5 -1
- package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts.map +1 -1
- package/lib/typescript/types/llm.d.ts +10 -1
- package/lib/typescript/types/llm.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/controllers/LLMController.ts +28 -18
- package/src/controllers/SpeechToTextController.ts +4 -1
- package/src/hooks/natural_language_processing/useLLM.ts +19 -6
- package/src/modules/natural_language_processing/LLMModule.ts +11 -0
- package/src/types/llm.ts +10 -9
|
@@ -19,12 +19,19 @@ export class LLMController {
|
|
|
19
19
|
// User callbacks
|
|
20
20
|
|
|
21
21
|
constructor({
|
|
22
|
+
tokenCallback,
|
|
22
23
|
responseCallback,
|
|
23
24
|
messageHistoryCallback,
|
|
24
25
|
isReadyCallback,
|
|
25
26
|
isGeneratingCallback,
|
|
26
27
|
onDownloadProgressCallback
|
|
27
28
|
}) {
|
|
29
|
+
if (responseCallback !== undefined) {
|
|
30
|
+
console.warn('Passing response callback is deprecated and will be removed in 0.6.0');
|
|
31
|
+
}
|
|
32
|
+
this.tokenCallback = token => {
|
|
33
|
+
tokenCallback?.(token);
|
|
34
|
+
};
|
|
28
35
|
this.responseCallback = response => {
|
|
29
36
|
this._response = response;
|
|
30
37
|
responseCallback?.(response);
|
|
@@ -74,9 +81,10 @@ export class LLMController {
|
|
|
74
81
|
await this.nativeModule.loadLLM(modelFileUri, tokenizerFileUri);
|
|
75
82
|
this.isReadyCallback(true);
|
|
76
83
|
this.onToken = this.nativeModule.onToken(data => {
|
|
77
|
-
if (!data) {
|
|
84
|
+
if (!data || SPECIAL_TOKENS.EOS_TOKEN in this.tokenizerConfig && data === this.tokenizerConfig.eos_token || SPECIAL_TOKENS.PAD_TOKEN in this.tokenizerConfig && data === this.tokenizerConfig.pad_token) {
|
|
78
85
|
return;
|
|
79
86
|
}
|
|
87
|
+
this.tokenCallback(data);
|
|
80
88
|
this.responseCallback(this._response + data);
|
|
81
89
|
});
|
|
82
90
|
} catch (e) {
|
|
@@ -84,6 +92,9 @@ export class LLMController {
|
|
|
84
92
|
throw new Error(getError(e));
|
|
85
93
|
}
|
|
86
94
|
}
|
|
95
|
+
setTokenCallback(tokenCallback) {
|
|
96
|
+
this.tokenCallback = tokenCallback;
|
|
97
|
+
}
|
|
87
98
|
configure({
|
|
88
99
|
chatConfig,
|
|
89
100
|
toolsConfig
|
|
@@ -146,11 +157,6 @@ export class LLMController {
|
|
|
146
157
|
add_generation_prompt: true
|
|
147
158
|
});
|
|
148
159
|
await this.forward(renderedChat);
|
|
149
|
-
if (!this._response) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const cleanedResponse = this._response.replaceAll(this.tokenizerConfig.eos_token, '').replaceAll(this.tokenizerConfig.pad_token, '');
|
|
153
|
-
this.responseCallback(cleanedResponse);
|
|
154
160
|
}
|
|
155
161
|
async sendMessage(message) {
|
|
156
162
|
this.messageHistoryCallback([...this._messageHistory, {
|
|
@@ -163,7 +169,6 @@ export class LLMController {
|
|
|
163
169
|
}, ...this._messageHistory.slice(-this.chatConfig.contextWindowLength)];
|
|
164
170
|
await this.generate(messageHistoryWithPrompt, this.toolsConfig?.tools);
|
|
165
171
|
if (!this.toolsConfig || this.toolsConfig.displayToolCalls) {
|
|
166
|
-
this.responseCallback(this._response.replace(this.tokenizerConfig.eos_token, ''));
|
|
167
172
|
this.messageHistoryCallback([...this._messageHistory, {
|
|
168
173
|
content: this._response,
|
|
169
174
|
role: 'assistant'
|
|
@@ -195,7 +200,7 @@ export class LLMController {
|
|
|
195
200
|
throw Error("Tokenizer config doesn't include chat_template");
|
|
196
201
|
}
|
|
197
202
|
const template = new Template(tokenizerConfig.chat_template);
|
|
198
|
-
const specialTokens = Object.fromEntries(SPECIAL_TOKENS.filter(key => key in tokenizerConfig).map(key => [key, tokenizerConfig[key]]));
|
|
203
|
+
const specialTokens = Object.fromEntries(Object.keys(SPECIAL_TOKENS).filter(key => key in tokenizerConfig).map(key => [key, tokenizerConfig[key]]));
|
|
199
204
|
const result = template.render({
|
|
200
205
|
messages,
|
|
201
206
|
tools,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ResourceFetcher","ETError","getError","Template","DEFAULT_CHAT_CONFIG","readAsStringAsync","SPECIAL_TOKENS","LLMNativeModule","parseToolCall","LLMController","chatConfig","onToken","_response","_isReady","_isGenerating","_messageHistory","constructor","responseCallback","messageHistoryCallback","isReadyCallback","isGeneratingCallback","onDownloadProgressCallback","response","messageHistory","isReady","isGenerating","nativeModule","load","modelSource","tokenizerSource","tokenizerConfigSource","initialMessageHistory","tokenizerFileUri","fetch","tokenizerConfigFileUri","tokenizerConfig","JSON","parse","modelFileUri","loadLLM","data","e","Error","configure","toolsConfig","delete","ModelGenerating","remove","releaseResources","forward","input","ModuleNotLoaded","interrupt","generate","messages","tools","length","role","
|
|
1
|
+
{"version":3,"names":["ResourceFetcher","ETError","getError","Template","DEFAULT_CHAT_CONFIG","readAsStringAsync","SPECIAL_TOKENS","LLMNativeModule","parseToolCall","LLMController","chatConfig","onToken","_response","_isReady","_isGenerating","_messageHistory","constructor","tokenCallback","responseCallback","messageHistoryCallback","isReadyCallback","isGeneratingCallback","onDownloadProgressCallback","undefined","console","warn","token","response","messageHistory","isReady","isGenerating","nativeModule","load","modelSource","tokenizerSource","tokenizerConfigSource","initialMessageHistory","tokenizerFileUri","fetch","tokenizerConfigFileUri","tokenizerConfig","JSON","parse","modelFileUri","loadLLM","data","EOS_TOKEN","eos_token","PAD_TOKEN","pad_token","e","Error","setTokenCallback","configure","toolsConfig","delete","ModelGenerating","remove","releaseResources","forward","input","ModuleNotLoaded","interrupt","generate","messages","tools","length","role","renderedChat","applyChatTemplate","tools_in_user_message","add_generation_prompt","sendMessage","message","content","messageHistoryWithPrompt","systemPrompt","slice","contextWindowLength","displayToolCalls","toolCalls","toolCall","executeToolCallback","then","toolResponse","deleteMessage","index","newMessageHistory","templateFlags","chat_template","template","specialTokens","Object","fromEntries","keys","filter","key","map","result","render"],"sourceRoot":"../../../src","sources":["controllers/LLMController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -217,7 +217,7 @@ export class SpeechToTextController {
|
|
|
217
217
|
this.chunkWaveform();
|
|
218
218
|
this.validateAndFixLastChunk();
|
|
219
219
|
for (let chunkId = 0; chunkId < this.chunks.length; chunkId++) {
|
|
220
|
-
const seq = await this.decodeChunk(this.chunks.at(chunkId));
|
|
220
|
+
const seq = await this.decodeChunk(this.chunks.at(chunkId), audioLanguage);
|
|
221
221
|
// whole audio is inside one chunk, no processing required
|
|
222
222
|
if (this.chunks.length === 1) {
|
|
223
223
|
this.sequence = seq;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HAMMING_DIST_THRESHOLD","MODEL_CONFIGS","SECOND","MODES","NUM_TOKENS_TO_TRIM","STREAMING_ACTION","SpeechToTextNativeModule","TokenizerModule","ResourceFetcher","longCommonInfPref","ETError","getError","SpeechToTextController","speechToTextNativeModule","sequence","isReady","isGenerating","chunks","seqs","prevSeq","waveform","numOfChunks","streaming","constructor","transcribeCallback","modelDownloadProgressCallback","isReadyCallback","isGeneratingCallback","onErrorCallback","overlapSeconds","windowSize","streamingConfig","decodedTranscribeCallback","seq","tokenIdsToText","error","Error","undefined","configureStreaming","loadModel","modelName","encoderSource","decoderSource","tokenizerSource","config","load","tokenizer","source","fetchMultipleResources","sources","encoder","decoder","e","loadModule","console","warn","chunkWaveform","Math","ceil","length","i","chunk","left","max","right","min","slice","push","resetState","expectedChunkLength","getStartingTokenIds","audioLanguage","bos","langTokenId","tokenToId","transcribeTokenId","noTimestampsTokenId","startingTokenIds","decodeChunk","prevSeqTokenIdx","encode","lastToken","at","eos","decode","handleOverlaps","maxInd","trimLeft","numOfTokensToTrim","idx","trimRight","trimSequences","numSpecialTokens","validateAndFixLastChunk","lastChunkLength","secondToLastChunkLength","tokenIds","transcribe","ModuleNotLoaded","ModelGenerating","isMultilingual","MultilingualConfiguration","chunkId","decodedText","streamingTranscribe","streamAction","START","DATA","StreamingNotStarted","STOP","MissingDataChunk","Number","encodings"],"sourceRoot":"../../../src","sources":["controllers/SpeechToTextController.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HAMMING_DIST_THRESHOLD","MODEL_CONFIGS","SECOND","MODES","NUM_TOKENS_TO_TRIM","STREAMING_ACTION","SpeechToTextNativeModule","TokenizerModule","ResourceFetcher","longCommonInfPref","ETError","getError","SpeechToTextController","speechToTextNativeModule","sequence","isReady","isGenerating","chunks","seqs","prevSeq","waveform","numOfChunks","streaming","constructor","transcribeCallback","modelDownloadProgressCallback","isReadyCallback","isGeneratingCallback","onErrorCallback","overlapSeconds","windowSize","streamingConfig","decodedTranscribeCallback","seq","tokenIdsToText","error","Error","undefined","configureStreaming","loadModel","modelName","encoderSource","decoderSource","tokenizerSource","config","load","tokenizer","source","fetchMultipleResources","sources","encoder","decoder","e","loadModule","console","warn","chunkWaveform","Math","ceil","length","i","chunk","left","max","right","min","slice","push","resetState","expectedChunkLength","getStartingTokenIds","audioLanguage","bos","langTokenId","tokenToId","transcribeTokenId","noTimestampsTokenId","startingTokenIds","decodeChunk","prevSeqTokenIdx","encode","lastToken","at","eos","decode","handleOverlaps","maxInd","trimLeft","numOfTokensToTrim","idx","trimRight","trimSequences","numSpecialTokens","validateAndFixLastChunk","lastChunkLength","secondToLastChunkLength","tokenIds","transcribe","ModuleNotLoaded","ModelGenerating","isMultilingual","MultilingualConfiguration","chunkId","decodedText","streamingTranscribe","streamAction","START","DATA","StreamingNotStarted","STOP","MissingDataChunk","Number","encodings"],"sourceRoot":"../../../src","sources":["controllers/SpeechToTextController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
|
4
4
|
import { LLMController } from '../../controllers/LLMController';
|
|
5
5
|
|
|
6
6
|
/*
|
|
7
|
-
Hook version of
|
|
7
|
+
Hook version of LLMModule
|
|
8
8
|
*/
|
|
9
9
|
export const useLLM = ({
|
|
10
10
|
modelSource,
|
|
@@ -12,19 +12,24 @@ export const useLLM = ({
|
|
|
12
12
|
tokenizerConfigSource,
|
|
13
13
|
preventLoad = false
|
|
14
14
|
}) => {
|
|
15
|
+
const [token, setToken] = useState('');
|
|
15
16
|
const [response, setResponse] = useState('');
|
|
16
17
|
const [messageHistory, setMessageHistory] = useState([]);
|
|
17
18
|
const [isReady, setIsReady] = useState(false);
|
|
18
19
|
const [isGenerating, setIsGenerating] = useState(false);
|
|
19
20
|
const [downloadProgress, setDownloadProgress] = useState(0);
|
|
20
21
|
const [error, setError] = useState(null);
|
|
22
|
+
const tokenCallback = useCallback(newToken => {
|
|
23
|
+
setToken(newToken);
|
|
24
|
+
setResponse(prevResponse => prevResponse + newToken);
|
|
25
|
+
}, []);
|
|
21
26
|
const model = useMemo(() => new LLMController({
|
|
22
|
-
|
|
27
|
+
tokenCallback: tokenCallback,
|
|
23
28
|
messageHistoryCallback: setMessageHistory,
|
|
24
29
|
isReadyCallback: setIsReady,
|
|
25
30
|
isGeneratingCallback: setIsGenerating,
|
|
26
31
|
onDownloadProgressCallback: setDownloadProgress
|
|
27
|
-
}), []);
|
|
32
|
+
}), [tokenCallback]);
|
|
28
33
|
useEffect(() => {
|
|
29
34
|
setDownloadProgress(0);
|
|
30
35
|
setError(null);
|
|
@@ -54,13 +59,20 @@ export const useLLM = ({
|
|
|
54
59
|
chatConfig,
|
|
55
60
|
toolsConfig
|
|
56
61
|
}), [model]);
|
|
57
|
-
const generate = useCallback((messages, tools) =>
|
|
58
|
-
|
|
62
|
+
const generate = useCallback((messages, tools) => {
|
|
63
|
+
setResponse('');
|
|
64
|
+
return model.generate(messages, tools);
|
|
65
|
+
}, [model]);
|
|
66
|
+
const sendMessage = useCallback(message => {
|
|
67
|
+
setResponse('');
|
|
68
|
+
return model.sendMessage(message);
|
|
69
|
+
}, [model]);
|
|
59
70
|
const deleteMessage = useCallback(index => model.deleteMessage(index), [model]);
|
|
60
71
|
const interrupt = useCallback(() => model.interrupt(), [model]);
|
|
61
72
|
return {
|
|
62
73
|
messageHistory,
|
|
63
74
|
response,
|
|
75
|
+
token,
|
|
64
76
|
isReady,
|
|
65
77
|
isGenerating,
|
|
66
78
|
downloadProgress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useState","LLMController","useLLM","modelSource","tokenizerSource","tokenizerConfigSource","preventLoad","response","setResponse","messageHistory","setMessageHistory","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","error","setError","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","LLMController","useLLM","modelSource","tokenizerSource","tokenizerConfigSource","preventLoad","token","setToken","response","setResponse","messageHistory","setMessageHistory","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","error","setError","tokenCallback","newToken","prevResponse","model","messageHistoryCallback","isReadyCallback","isGeneratingCallback","onDownloadProgressCallback","load","e","delete","configure","chatConfig","toolsConfig","generate","messages","tools","sendMessage","message","deleteMessage","index","interrupt"],"sourceRoot":"../../../../src","sources":["hooks/natural_language_processing/useLLM.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,10 +7,12 @@ export class LLMModule {
|
|
|
7
7
|
tokenizerSource,
|
|
8
8
|
tokenizerConfigSource,
|
|
9
9
|
onDownloadProgressCallback,
|
|
10
|
+
tokenCallback,
|
|
10
11
|
responseCallback,
|
|
11
12
|
messageHistoryCallback
|
|
12
13
|
}) {
|
|
13
14
|
this.controller = new LLMController({
|
|
15
|
+
tokenCallback: tokenCallback,
|
|
14
16
|
responseCallback: responseCallback,
|
|
15
17
|
messageHistoryCallback: messageHistoryCallback,
|
|
16
18
|
onDownloadProgressCallback: onDownloadProgressCallback
|
|
@@ -21,6 +23,11 @@ export class LLMModule {
|
|
|
21
23
|
tokenizerConfigSource
|
|
22
24
|
});
|
|
23
25
|
}
|
|
26
|
+
static setTokenCallback({
|
|
27
|
+
tokenCallback
|
|
28
|
+
}) {
|
|
29
|
+
this.controller.setTokenCallback(tokenCallback);
|
|
30
|
+
}
|
|
24
31
|
static configure({
|
|
25
32
|
chatConfig,
|
|
26
33
|
toolsConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LLMController","LLMModule","load","modelSource","tokenizerSource","tokenizerConfigSource","onDownloadProgressCallback","responseCallback","messageHistoryCallback","controller","configure","chatConfig","toolsConfig","forward","input","response","generate","messages","tools","sendMessage","message","messageHistory","deleteMessage","index","interrupt","delete"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/LLMModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iCAAiC;AAI/D,OAAO,MAAMC,SAAS,CAAC;EAGrB,aAAaC,IAAIA,CAAC;IAChBC,WAAW;IACXC,eAAe;IACfC,qBAAqB;IACrBC,0BAA0B;IAC1BC,gBAAgB;IAChBC;
|
|
1
|
+
{"version":3,"names":["LLMController","LLMModule","load","modelSource","tokenizerSource","tokenizerConfigSource","onDownloadProgressCallback","tokenCallback","responseCallback","messageHistoryCallback","controller","setTokenCallback","configure","chatConfig","toolsConfig","forward","input","response","generate","messages","tools","sendMessage","message","messageHistory","deleteMessage","index","interrupt","delete"],"sourceRoot":"../../../../src","sources":["modules/natural_language_processing/LLMModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iCAAiC;AAI/D,OAAO,MAAMC,SAAS,CAAC;EAGrB,aAAaC,IAAIA,CAAC;IAChBC,WAAW;IACXC,eAAe;IACfC,qBAAqB;IACrBC,0BAA0B;IAC1BC,aAAa;IACbC,gBAAgB;IAChBC;EASF,CAAC,EAAE;IACD,IAAI,CAACC,UAAU,GAAG,IAAIV,aAAa,CAAC;MAClCO,aAAa,EAAEA,aAAa;MAC5BC,gBAAgB,EAAEA,gBAAgB;MAClCC,sBAAsB,EAAEA,sBAAsB;MAC9CH,0BAA0B,EAAEA;IAC9B,CAAC,CAAC;IACF,MAAM,IAAI,CAACI,UAAU,CAACR,IAAI,CAAC;MACzBC,WAAW;MACXC,eAAe;MACfC;IACF,CAAC,CAAC;EACJ;EAEA,OAAOM,gBAAgBA,CAAC;IACtBJ;EAGF,CAAC,EAAE;IACD,IAAI,CAACG,UAAU,CAACC,gBAAgB,CAACJ,aAAa,CAAC;EACjD;EAEA,OAAOK,SAASA,CAAC;IACfC,UAAU;IACVC;EAIF,CAAC,EAAE;IACD,IAAI,CAACJ,UAAU,CAACE,SAAS,CAAC;MAAEC,UAAU;MAAEC;IAAY,CAAC,CAAC;EACxD;EAEA,aAAaC,OAAOA,CAACC,KAAa,EAAmB;IACnD,MAAM,IAAI,CAACN,UAAU,CAACK,OAAO,CAACC,KAAK,CAAC;IACpC,OAAO,IAAI,CAACN,UAAU,CAACO,QAAQ;EACjC;EAEA,aAAaC,QAAQA,CACnBC,QAAmB,EACnBC,KAAiB,EACA;IACjB,MAAM,IAAI,CAACV,UAAU,CAACQ,QAAQ,CAACC,QAAQ,EAAEC,KAAK,CAAC;IAC/C,OAAO,IAAI,CAACV,UAAU,CAACO,QAAQ;EACjC;EAEA,aAAaI,WAAWA,CAACC,OAAe,EAAsB;IAC5D,MAAM,IAAI,CAACZ,UAAU,CAACW,WAAW,CAACC,OAAO,CAAC;IAC1C,OAAO,IAAI,CAACZ,UAAU,CAACa,cAAc;EACvC;EAEA,aAAaC,aAAaA,CAACC,KAAa,EAAsB;IAC5D,MAAM,IAAI,CAACf,UAAU,CAACc,aAAa,CAACC,KAAK,CAAC;IAC1C,OAAO,IAAI,CAACf,UAAU,CAACa,cAAc;EACvC;EAEA,OAAOG,SAASA,CAAA,EAAG;IACjB,IAAI,CAAChB,UAAU,CAACgB,SAAS,CAAC,CAAC;EAC7B;EAEA,OAAOC,MAAMA,CAAA,EAAG;IACd,IAAI,CAACjB,UAAU,CAACiB,MAAM,CAAC,CAAC;EAC1B;AACF","ignoreList":[]}
|
package/lib/module/types/llm.js
CHANGED
|
@@ -3,5 +3,13 @@
|
|
|
3
3
|
// usually tool is represented with dictionary (Object), but fields depend on the model
|
|
4
4
|
// unfortunately there's no one standard so it's hard to type it better
|
|
5
5
|
|
|
6
|
-
export const SPECIAL_TOKENS =
|
|
6
|
+
export const SPECIAL_TOKENS = {
|
|
7
|
+
BOS_TOKEN: 'bos_token',
|
|
8
|
+
EOS_TOKEN: 'eos_token',
|
|
9
|
+
UNK_TOKEN: 'unk_token',
|
|
10
|
+
SEP_TOKEN: 'sep_token',
|
|
11
|
+
PAD_TOKEN: 'pad_token',
|
|
12
|
+
CLS_TOKEN: 'cls_token',
|
|
13
|
+
MASK_TOKEN: 'mask_token'
|
|
14
|
+
};
|
|
7
15
|
//# sourceMappingURL=llm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SPECIAL_TOKENS"],"sourceRoot":"../../../src","sources":["types/llm.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SPECIAL_TOKENS","BOS_TOKEN","EOS_TOKEN","UNK_TOKEN","SEP_TOKEN","PAD_TOKEN","CLS_TOKEN","MASK_TOKEN"],"sourceRoot":"../../../src","sources":["types/llm.ts"],"mappings":";;AAiCA;AACA;;AAeA,OAAO,MAAMA,cAAc,GAAG;EAC5BC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|
|
@@ -10,12 +10,14 @@ export declare class LLMController {
|
|
|
10
10
|
private _isReady;
|
|
11
11
|
private _isGenerating;
|
|
12
12
|
private _messageHistory;
|
|
13
|
+
private tokenCallback;
|
|
13
14
|
private responseCallback;
|
|
14
15
|
private messageHistoryCallback;
|
|
15
16
|
private isReadyCallback;
|
|
16
17
|
private isGeneratingCallback;
|
|
17
18
|
private onDownloadProgressCallback;
|
|
18
|
-
constructor({ responseCallback, messageHistoryCallback, isReadyCallback, isGeneratingCallback, onDownloadProgressCallback, }: {
|
|
19
|
+
constructor({ tokenCallback, responseCallback, messageHistoryCallback, isReadyCallback, isGeneratingCallback, onDownloadProgressCallback, }: {
|
|
20
|
+
tokenCallback?: (token: string) => void;
|
|
19
21
|
responseCallback?: (response: string) => void;
|
|
20
22
|
messageHistoryCallback?: (messageHistory: Message[]) => void;
|
|
21
23
|
isReadyCallback?: (isReady: boolean) => void;
|
|
@@ -31,6 +33,7 @@ export declare class LLMController {
|
|
|
31
33
|
tokenizerSource: ResourceSource;
|
|
32
34
|
tokenizerConfigSource: ResourceSource;
|
|
33
35
|
}): Promise<void>;
|
|
36
|
+
setTokenCallback(tokenCallback: (token: string) => void): void;
|
|
34
37
|
configure({ chatConfig, toolsConfig, }: {
|
|
35
38
|
chatConfig?: Partial<ChatConfig>;
|
|
36
39
|
toolsConfig?: ToolsConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LLMController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,EACL,UAAU,EACV,OAAO,EACP,OAAO,EAEP,WAAW,EACZ,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAiB;IAGxC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,0BAA0B,CAEpB;gBAEF,EACV,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,EAAE;QACD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAC7D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE;
|
|
1
|
+
{"version":3,"file":"LLMController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LLMController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,EACL,UAAU,EACV,OAAO,EACP,OAAO,EAEP,WAAW,EACZ,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAiB;IAGxC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,0BAA0B,CAEpB;gBAEF,EACV,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,EAAE;QACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAC7D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE;IA+BD,IAAW,QAAQ,WAElB;IACD,IAAW,OAAO,YAEjB;IACD,IAAW,YAAY,YAEtB;IACD,IAAW,cAAc,cAExB;IAEY,IAAI,CAAC,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,EAAE;QACD,WAAW,EAAE,cAAc,CAAC;QAC5B,eAAe,EAAE,cAAc,CAAC;QAChC,qBAAqB,EAAE,cAAc,CAAC;KACvC;IA2CM,gBAAgB,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAIvD,SAAS,CAAC,EACf,UAAU,EACV,WAAW,GACZ,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B;IAUM,MAAM;IAcA,OAAO,CAAC,KAAK,EAAE,MAAM;IAkB3B,SAAS;IAIH,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE;IAwB/C,WAAW,CAAC,OAAO,EAAE,MAAM;IAuCjC,aAAa,CAAC,KAAK,EAAE,MAAM;IAQlC,OAAO,CAAC,iBAAiB;CAyB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechToTextController.d.ts","sourceRoot":"","sources":["../../../src/controllers/SpeechToTextController.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAEL,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,wBAAwB,CAA4B;IAErD,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,OAAO,UAAS;IAChB,YAAY,UAAS;IAE5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,yBAAyB,CAA+B;IAChE,OAAO,CAAC,6BAA6B,CAEvB;IACd,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAe;gBAEjB,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,UAAU,EACV,eAAe,GAChB,EAAE;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/C,6BAA6B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;QACnE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;QACrD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;KACtC;IA2BY,SAAS,CACpB,SAAS,EAAE,eAAe,EAC1B,aAAa,CAAC,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,cAAc,EAC9B,eAAe,CAAC,EAAE,cAAc;IA0C3B,kBAAkB,CACvB,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,OAAO,KAAK;IAqBtC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,mBAAmB;YAOb,mBAAmB;YAsBnB,WAAW;YAkCX,cAAc;IAW5B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;YASH,aAAa;IAQ3B,OAAO,CAAC,uBAAuB;YAcjB,cAAc;IAWf,UAAU,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"SpeechToTextController.d.ts","sourceRoot":"","sources":["../../../src/controllers/SpeechToTextController.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAEL,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,wBAAwB,CAA4B;IAErD,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,OAAO,UAAS;IAChB,YAAY,UAAS;IAE5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,yBAAyB,CAA+B;IAChE,OAAO,CAAC,6BAA6B,CAEvB;IACd,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAe;gBAEjB,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,UAAU,EACV,eAAe,GAChB,EAAE;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/C,6BAA6B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;QACnE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;QACrD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;KACtC;IA2BY,SAAS,CACpB,SAAS,EAAE,eAAe,EAC1B,aAAa,CAAC,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,cAAc,EAC9B,eAAe,CAAC,EAAE,cAAc;IA0C3B,kBAAkB,CACvB,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,OAAO,KAAK;IAqBtC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,mBAAmB;YAOb,mBAAmB;YAsBnB,WAAW;YAkCX,cAAc;IAW5B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;YASH,aAAa;IAQ3B,OAAO,CAAC,uBAAuB;YAcjB,cAAc;IAWf,UAAU,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,MAAM,CAAC;IAqDL,mBAAmB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,MAAM,CAAC;IAqFL,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE;CAGxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLLM.d.ts","sourceRoot":"","sources":["../../../../src/hooks/natural_language_processing/useLLM.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAGL,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,MAAM,GAAI,uEAKpB;IACD,WAAW,EAAE,cAAc,CAAC;IAC5B,eAAe,EAAE,cAAc,CAAC;IAChC,qBAAqB,EAAE,cAAc,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,KAAG,
|
|
1
|
+
{"version":3,"file":"useLLM.d.ts","sourceRoot":"","sources":["../../../../src/hooks/natural_language_processing/useLLM.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAGL,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,MAAM,GAAI,uEAKpB;IACD,WAAW,EAAE,cAAc,CAAC;IAC5B,eAAe,EAAE,cAAc,CAAC;IAChC,qBAAqB,EAAE,cAAc,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,KAAG,OAiGH,CAAC"}
|
|
@@ -3,14 +3,18 @@ import { ResourceSource } from '../../types/common';
|
|
|
3
3
|
import { ChatConfig, LLMTool, Message, ToolsConfig } from '../../types/llm';
|
|
4
4
|
export declare class LLMModule {
|
|
5
5
|
static controller: LLMController;
|
|
6
|
-
static load({ modelSource, tokenizerSource, tokenizerConfigSource, onDownloadProgressCallback, responseCallback, messageHistoryCallback, }: {
|
|
6
|
+
static load({ modelSource, tokenizerSource, tokenizerConfigSource, onDownloadProgressCallback, tokenCallback, responseCallback, messageHistoryCallback, }: {
|
|
7
7
|
modelSource: ResourceSource;
|
|
8
8
|
tokenizerSource: ResourceSource;
|
|
9
9
|
tokenizerConfigSource: ResourceSource;
|
|
10
10
|
onDownloadProgressCallback?: (_downloadProgress: number) => void;
|
|
11
|
+
tokenCallback?: (token: string) => void;
|
|
11
12
|
responseCallback?: (response: string) => void;
|
|
12
13
|
messageHistoryCallback?: (messageHistory: Message[]) => void;
|
|
13
14
|
}): Promise<void>;
|
|
15
|
+
static setTokenCallback({ tokenCallback, }: {
|
|
16
|
+
tokenCallback: (token: string) => void;
|
|
17
|
+
}): void;
|
|
14
18
|
static configure({ chatConfig, toolsConfig, }: {
|
|
15
19
|
chatConfig?: Partial<ChatConfig>;
|
|
16
20
|
toolsConfig?: ToolsConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMModule.d.ts","sourceRoot":"","sources":["../../../../src/modules/natural_language_processing/LLMModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,qBAAa,SAAS;IACpB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC;WAEpB,IAAI,CAAC,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,GACvB,EAAE;QACD,WAAW,EAAE,cAAc,CAAC;QAC5B,eAAe,EAAE,cAAc,CAAC;QAChC,qBAAqB,EAAE,cAAc,CAAC;QACtC,0BAA0B,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;QACjE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KAC9D;
|
|
1
|
+
{"version":3,"file":"LLMModule.d.ts","sourceRoot":"","sources":["../../../../src/modules/natural_language_processing/LLMModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,qBAAa,SAAS;IACpB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC;WAEpB,IAAI,CAAC,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,sBAAsB,GACvB,EAAE;QACD,WAAW,EAAE,cAAc,CAAC;QAC5B,eAAe,EAAE,cAAc,CAAC;QAChC,qBAAqB,EAAE,cAAc,CAAC;QACtC,0BAA0B,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;QACjE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KAC9D;IAcD,MAAM,CAAC,gBAAgB,CAAC,EACtB,aAAa,GACd,EAAE;QACD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACxC;IAID,MAAM,CAAC,SAAS,CAAC,EACf,UAAU,EACV,WAAW,GACZ,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B;WAIY,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAKvC,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC;WAKL,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;WAKhD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK7D,MAAM,CAAC,SAAS;IAIhB,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export interface LLMType {
|
|
2
2
|
messageHistory: Message[];
|
|
3
3
|
response: string;
|
|
4
|
+
token: string;
|
|
4
5
|
isReady: boolean;
|
|
5
6
|
isGenerating: boolean;
|
|
6
7
|
downloadProgress: number;
|
|
@@ -34,5 +35,13 @@ export interface ToolsConfig {
|
|
|
34
35
|
executeToolCallback: (call: ToolCall) => Promise<string | null>;
|
|
35
36
|
displayToolCalls?: boolean;
|
|
36
37
|
}
|
|
37
|
-
export declare const SPECIAL_TOKENS:
|
|
38
|
+
export declare const SPECIAL_TOKENS: {
|
|
39
|
+
BOS_TOKEN: string;
|
|
40
|
+
EOS_TOKEN: string;
|
|
41
|
+
UNK_TOKEN: string;
|
|
42
|
+
SEP_TOKEN: string;
|
|
43
|
+
PAD_TOKEN: string;
|
|
44
|
+
CLS_TOKEN: string;
|
|
45
|
+
MASK_TOKEN: string;
|
|
46
|
+
};
|
|
38
47
|
//# sourceMappingURL=llm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,EACV,UAAU,EACV,WAAW,GACZ,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,UAAU;IACzB,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,mBAAmB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,EACV,UAAU,EACV,WAAW,GACZ,EAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,UAAU;IACzB,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,mBAAmB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ export class LLMController {
|
|
|
27
27
|
private _messageHistory: Message[] = [];
|
|
28
28
|
|
|
29
29
|
// User callbacks
|
|
30
|
+
private tokenCallback: (token: string) => void;
|
|
30
31
|
private responseCallback: (response: string) => void;
|
|
31
32
|
private messageHistoryCallback: (messageHistory: Message[]) => void;
|
|
32
33
|
private isReadyCallback: (isReady: boolean) => void;
|
|
@@ -36,18 +37,28 @@ export class LLMController {
|
|
|
36
37
|
| undefined;
|
|
37
38
|
|
|
38
39
|
constructor({
|
|
40
|
+
tokenCallback,
|
|
39
41
|
responseCallback,
|
|
40
42
|
messageHistoryCallback,
|
|
41
43
|
isReadyCallback,
|
|
42
44
|
isGeneratingCallback,
|
|
43
45
|
onDownloadProgressCallback,
|
|
44
46
|
}: {
|
|
47
|
+
tokenCallback?: (token: string) => void;
|
|
45
48
|
responseCallback?: (response: string) => void;
|
|
46
49
|
messageHistoryCallback?: (messageHistory: Message[]) => void;
|
|
47
50
|
isReadyCallback?: (isReady: boolean) => void;
|
|
48
51
|
isGeneratingCallback?: (isGenerating: boolean) => void;
|
|
49
52
|
onDownloadProgressCallback?: (downloadProgress: number) => void;
|
|
50
53
|
}) {
|
|
54
|
+
if (responseCallback !== undefined) {
|
|
55
|
+
console.warn(
|
|
56
|
+
'Passing response callback is deprecated and will be removed in 0.6.0'
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
this.tokenCallback = (token) => {
|
|
60
|
+
tokenCallback?.(token);
|
|
61
|
+
};
|
|
51
62
|
this.responseCallback = (response) => {
|
|
52
63
|
this._response = response;
|
|
53
64
|
responseCallback?.(response);
|
|
@@ -114,10 +125,18 @@ export class LLMController {
|
|
|
114
125
|
|
|
115
126
|
await this.nativeModule.loadLLM(modelFileUri, tokenizerFileUri);
|
|
116
127
|
this.isReadyCallback(true);
|
|
117
|
-
this.onToken = this.nativeModule.onToken((data: string
|
|
118
|
-
if (
|
|
128
|
+
this.onToken = this.nativeModule.onToken((data: string) => {
|
|
129
|
+
if (
|
|
130
|
+
!data ||
|
|
131
|
+
(SPECIAL_TOKENS.EOS_TOKEN in this.tokenizerConfig &&
|
|
132
|
+
data === this.tokenizerConfig.eos_token) ||
|
|
133
|
+
(SPECIAL_TOKENS.PAD_TOKEN in this.tokenizerConfig &&
|
|
134
|
+
data === this.tokenizerConfig.pad_token)
|
|
135
|
+
) {
|
|
119
136
|
return;
|
|
120
137
|
}
|
|
138
|
+
|
|
139
|
+
this.tokenCallback(data);
|
|
121
140
|
this.responseCallback(this._response + data);
|
|
122
141
|
});
|
|
123
142
|
} catch (e) {
|
|
@@ -126,6 +145,10 @@ export class LLMController {
|
|
|
126
145
|
}
|
|
127
146
|
}
|
|
128
147
|
|
|
148
|
+
public setTokenCallback(tokenCallback: (token: string) => void) {
|
|
149
|
+
this.tokenCallback = tokenCallback;
|
|
150
|
+
}
|
|
151
|
+
|
|
129
152
|
public configure({
|
|
130
153
|
chatConfig,
|
|
131
154
|
toolsConfig,
|
|
@@ -200,15 +223,6 @@ export class LLMController {
|
|
|
200
223
|
);
|
|
201
224
|
|
|
202
225
|
await this.forward(renderedChat);
|
|
203
|
-
|
|
204
|
-
if (!this._response) {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
const cleanedResponse = this._response
|
|
209
|
-
.replaceAll(this.tokenizerConfig.eos_token, '')
|
|
210
|
-
.replaceAll(this.tokenizerConfig.pad_token, '');
|
|
211
|
-
this.responseCallback(cleanedResponse);
|
|
212
226
|
}
|
|
213
227
|
|
|
214
228
|
public async sendMessage(message: string) {
|
|
@@ -225,9 +239,6 @@ export class LLMController {
|
|
|
225
239
|
await this.generate(messageHistoryWithPrompt, this.toolsConfig?.tools);
|
|
226
240
|
|
|
227
241
|
if (!this.toolsConfig || this.toolsConfig.displayToolCalls) {
|
|
228
|
-
this.responseCallback(
|
|
229
|
-
this._response.replace(this.tokenizerConfig.eos_token, '')
|
|
230
|
-
);
|
|
231
242
|
this.messageHistoryCallback([
|
|
232
243
|
...this._messageHistory,
|
|
233
244
|
{ content: this._response, role: 'assistant' },
|
|
@@ -273,10 +284,9 @@ export class LLMController {
|
|
|
273
284
|
const template = new Template(tokenizerConfig.chat_template);
|
|
274
285
|
|
|
275
286
|
const specialTokens = Object.fromEntries(
|
|
276
|
-
|
|
277
|
-
key
|
|
278
|
-
tokenizerConfig[key]
|
|
279
|
-
])
|
|
287
|
+
Object.keys(SPECIAL_TOKENS)
|
|
288
|
+
.filter((key) => key in tokenizerConfig)
|
|
289
|
+
.map((key) => [key, tokenizerConfig[key]])
|
|
280
290
|
);
|
|
281
291
|
|
|
282
292
|
const result = template.render({
|
|
@@ -327,7 +327,10 @@ export class SpeechToTextController {
|
|
|
327
327
|
this.validateAndFixLastChunk();
|
|
328
328
|
|
|
329
329
|
for (let chunkId = 0; chunkId < this.chunks.length; chunkId++) {
|
|
330
|
-
const seq = await this.decodeChunk(
|
|
330
|
+
const seq = await this.decodeChunk(
|
|
331
|
+
this.chunks!.at(chunkId)!,
|
|
332
|
+
audioLanguage
|
|
333
|
+
);
|
|
331
334
|
// whole audio is inside one chunk, no processing required
|
|
332
335
|
if (this.chunks.length === 1) {
|
|
333
336
|
this.sequence = seq;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import { LLMController } from '../../controllers/LLMController';
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
|
-
Hook version of
|
|
13
|
+
Hook version of LLMModule
|
|
14
14
|
*/
|
|
15
15
|
export const useLLM = ({
|
|
16
16
|
modelSource,
|
|
@@ -23,23 +23,29 @@ export const useLLM = ({
|
|
|
23
23
|
tokenizerConfigSource: ResourceSource;
|
|
24
24
|
preventLoad?: boolean;
|
|
25
25
|
}): LLMType => {
|
|
26
|
-
const [
|
|
26
|
+
const [token, setToken] = useState<string>('');
|
|
27
|
+
const [response, setResponse] = useState<string>('');
|
|
27
28
|
const [messageHistory, setMessageHistory] = useState<Message[]>([]);
|
|
28
29
|
const [isReady, setIsReady] = useState(false);
|
|
29
30
|
const [isGenerating, setIsGenerating] = useState(false);
|
|
30
31
|
const [downloadProgress, setDownloadProgress] = useState(0);
|
|
31
32
|
const [error, setError] = useState<any>(null);
|
|
32
33
|
|
|
34
|
+
const tokenCallback = useCallback((newToken: string) => {
|
|
35
|
+
setToken(newToken);
|
|
36
|
+
setResponse((prevResponse) => prevResponse + newToken);
|
|
37
|
+
}, []);
|
|
38
|
+
|
|
33
39
|
const model = useMemo(
|
|
34
40
|
() =>
|
|
35
41
|
new LLMController({
|
|
36
|
-
|
|
42
|
+
tokenCallback: tokenCallback,
|
|
37
43
|
messageHistoryCallback: setMessageHistory,
|
|
38
44
|
isReadyCallback: setIsReady,
|
|
39
45
|
isGeneratingCallback: setIsGenerating,
|
|
40
46
|
onDownloadProgressCallback: setDownloadProgress,
|
|
41
47
|
}),
|
|
42
|
-
[]
|
|
48
|
+
[tokenCallback]
|
|
43
49
|
);
|
|
44
50
|
|
|
45
51
|
useEffect(() => {
|
|
@@ -78,12 +84,18 @@ export const useLLM = ({
|
|
|
78
84
|
);
|
|
79
85
|
|
|
80
86
|
const generate = useCallback(
|
|
81
|
-
(messages: Message[], tools?: LLMTool[]) =>
|
|
87
|
+
(messages: Message[], tools?: LLMTool[]) => {
|
|
88
|
+
setResponse('');
|
|
89
|
+
return model.generate(messages, tools);
|
|
90
|
+
},
|
|
82
91
|
[model]
|
|
83
92
|
);
|
|
84
93
|
|
|
85
94
|
const sendMessage = useCallback(
|
|
86
|
-
(message: string) =>
|
|
95
|
+
(message: string) => {
|
|
96
|
+
setResponse('');
|
|
97
|
+
return model.sendMessage(message);
|
|
98
|
+
},
|
|
87
99
|
[model]
|
|
88
100
|
);
|
|
89
101
|
|
|
@@ -96,6 +108,7 @@ export const useLLM = ({
|
|
|
96
108
|
return {
|
|
97
109
|
messageHistory,
|
|
98
110
|
response,
|
|
111
|
+
token,
|
|
99
112
|
isReady,
|
|
100
113
|
isGenerating,
|
|
101
114
|
downloadProgress,
|
|
@@ -10,6 +10,7 @@ export class LLMModule {
|
|
|
10
10
|
tokenizerSource,
|
|
11
11
|
tokenizerConfigSource,
|
|
12
12
|
onDownloadProgressCallback,
|
|
13
|
+
tokenCallback,
|
|
13
14
|
responseCallback,
|
|
14
15
|
messageHistoryCallback,
|
|
15
16
|
}: {
|
|
@@ -17,10 +18,12 @@ export class LLMModule {
|
|
|
17
18
|
tokenizerSource: ResourceSource;
|
|
18
19
|
tokenizerConfigSource: ResourceSource;
|
|
19
20
|
onDownloadProgressCallback?: (_downloadProgress: number) => void;
|
|
21
|
+
tokenCallback?: (token: string) => void;
|
|
20
22
|
responseCallback?: (response: string) => void;
|
|
21
23
|
messageHistoryCallback?: (messageHistory: Message[]) => void;
|
|
22
24
|
}) {
|
|
23
25
|
this.controller = new LLMController({
|
|
26
|
+
tokenCallback: tokenCallback,
|
|
24
27
|
responseCallback: responseCallback,
|
|
25
28
|
messageHistoryCallback: messageHistoryCallback,
|
|
26
29
|
onDownloadProgressCallback: onDownloadProgressCallback,
|
|
@@ -32,6 +35,14 @@ export class LLMModule {
|
|
|
32
35
|
});
|
|
33
36
|
}
|
|
34
37
|
|
|
38
|
+
static setTokenCallback({
|
|
39
|
+
tokenCallback,
|
|
40
|
+
}: {
|
|
41
|
+
tokenCallback: (token: string) => void;
|
|
42
|
+
}) {
|
|
43
|
+
this.controller.setTokenCallback(tokenCallback);
|
|
44
|
+
}
|
|
45
|
+
|
|
35
46
|
static configure({
|
|
36
47
|
chatConfig,
|
|
37
48
|
toolsConfig,
|
package/src/types/llm.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export interface LLMType {
|
|
2
2
|
messageHistory: Message[];
|
|
3
3
|
response: string;
|
|
4
|
+
token: string;
|
|
4
5
|
isReady: boolean;
|
|
5
6
|
isGenerating: boolean;
|
|
6
7
|
downloadProgress: number;
|
|
@@ -46,12 +47,12 @@ export interface ToolsConfig {
|
|
|
46
47
|
displayToolCalls?: boolean;
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
export const SPECIAL_TOKENS =
|
|
50
|
-
'bos_token',
|
|
51
|
-
'eos_token',
|
|
52
|
-
'unk_token',
|
|
53
|
-
'sep_token',
|
|
54
|
-
'pad_token',
|
|
55
|
-
'cls_token',
|
|
56
|
-
'mask_token',
|
|
57
|
-
|
|
50
|
+
export const SPECIAL_TOKENS = {
|
|
51
|
+
BOS_TOKEN: 'bos_token',
|
|
52
|
+
EOS_TOKEN: 'eos_token',
|
|
53
|
+
UNK_TOKEN: 'unk_token',
|
|
54
|
+
SEP_TOKEN: 'sep_token',
|
|
55
|
+
PAD_TOKEN: 'pad_token',
|
|
56
|
+
CLS_TOKEN: 'cls_token',
|
|
57
|
+
MASK_TOKEN: 'mask_token',
|
|
58
|
+
};
|