node-llama-cpp 3.8.0 → 3.9.0
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/dist/bindings/AddonTypes.d.ts +4 -0
- package/dist/bindings/getLlama.js +1 -0
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/utils/getLlamaGpuTypes.js +6 -2
- package/dist/bindings/utils/getLlamaGpuTypes.js.map +1 -1
- package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js +2 -1
- package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +2 -0
- package/dist/cli/commands/ChatCommand.js +28 -5
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +1 -0
- package/dist/cli/commands/CompleteCommand.js +13 -3
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.js +1 -0
- package/dist/cli/commands/DebugCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.d.ts +1 -0
- package/dist/cli/commands/InfillCommand.js +13 -3
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +1 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +9 -2
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +1 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +19 -6
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
- package/dist/cli/recommendedModels.js +79 -0
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/cli/utils/interactivelyAskForModel.d.ts +2 -1
- package/dist/cli/utils/interactivelyAskForModel.js +7 -4
- package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
- package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -1
- package/dist/cli/utils/resolveCommandGgufPath.js +2 -1
- package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +17 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js +85 -20
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +12 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +15 -5
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +22 -4
- package/dist/evaluator/LlamaContext/LlamaContext.js +53 -10
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/types.d.ts +15 -0
- package/dist/evaluator/LlamaModel/LlamaModel.d.ts +11 -0
- package/dist/evaluator/LlamaModel/LlamaModel.js +11 -2
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
- package/dist/gguf/insights/GgufInsights.d.ts +8 -1
- package/dist/gguf/insights/GgufInsights.js +118 -77
- package/dist/gguf/insights/GgufInsights.js.map +1 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +8 -4
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +12 -6
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +2 -1
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +4 -1
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +2 -1
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +13 -7
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +2 -1
- package/dist/gguf/types/GgufMetadataTypes.js +1 -1
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/gguf/types/GgufTensorInfoTypes.d.ts +11 -1
- package/dist/gguf/types/GgufTensorInfoTypes.js +10 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
- package/llama/addon/AddonContext.cpp +33 -0
- package/llama/addon/AddonContext.h +2 -0
- package/llama/addon/addon.cpp +14 -0
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +14 -13
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Llama } from "../../bindings/Llama.js";
|
|
2
|
-
export declare function interactivelyAskForModel({ llama, modelsDirectory, allowLocalModels, downloadIntent, flashAttention, useMmap }: {
|
|
2
|
+
export declare function interactivelyAskForModel({ llama, modelsDirectory, allowLocalModels, downloadIntent, flashAttention, swaFullCache, useMmap }: {
|
|
3
3
|
llama: Llama;
|
|
4
4
|
modelsDirectory?: string;
|
|
5
5
|
allowLocalModels?: boolean;
|
|
6
6
|
downloadIntent?: boolean;
|
|
7
7
|
flashAttention?: boolean;
|
|
8
|
+
swaFullCache?: boolean;
|
|
8
9
|
useMmap?: boolean;
|
|
9
10
|
}): Promise<string>;
|
|
@@ -22,7 +22,7 @@ import { renderInfoLine } from "./printInfoLine.js";
|
|
|
22
22
|
import { renderModelCompatibilityPercentageWithColors } from "./renderModelCompatibilityPercentageWithColors.js";
|
|
23
23
|
import { toBytes } from "./toBytes.js";
|
|
24
24
|
const vramStateUpdateInterval = 1000;
|
|
25
|
-
export async function interactivelyAskForModel({ llama, modelsDirectory, allowLocalModels = true, downloadIntent = true, flashAttention = false, useMmap }) {
|
|
25
|
+
export async function interactivelyAskForModel({ llama, modelsDirectory, allowLocalModels = true, downloadIntent = true, flashAttention = false, swaFullCache = false, useMmap }) {
|
|
26
26
|
let localModelFileOptions = [];
|
|
27
27
|
const recommendedModelOptions = [];
|
|
28
28
|
const activeInteractionController = new AbortController();
|
|
@@ -65,6 +65,7 @@ export async function interactivelyAskForModel({ llama, modelsDirectory, allowLo
|
|
|
65
65
|
progressUpdater.setProgress(readItems / ggufFileNames.length, renderProgress());
|
|
66
66
|
const compatibilityScore = await ggufInsights?.configurationResolver.scoreModelConfigurationCompatibility({
|
|
67
67
|
flashAttention: flashAttention && ggufInsights?.flashAttentionSupported,
|
|
68
|
+
swaFullCache,
|
|
68
69
|
useMmap
|
|
69
70
|
});
|
|
70
71
|
return {
|
|
@@ -202,7 +203,7 @@ export async function interactivelyAskForModel({ llama, modelsDirectory, allowLo
|
|
|
202
203
|
},
|
|
203
204
|
items: options,
|
|
204
205
|
renderItem(item, focused, rerender) {
|
|
205
|
-
return renderSelectionItem(item, focused, rerender, activeInteractionController.signal, llama, flashAttention, useMmap);
|
|
206
|
+
return renderSelectionItem(item, focused, rerender, activeInteractionController.signal, llama, flashAttention, swaFullCache, useMmap);
|
|
206
207
|
},
|
|
207
208
|
canFocusItem(item) {
|
|
208
209
|
return item.type === "recommendedModel" || item.type === "localModel" || item.type === "action";
|
|
@@ -304,7 +305,7 @@ async function askForModelUriOrPath(allowLocalModels) {
|
|
|
304
305
|
}
|
|
305
306
|
});
|
|
306
307
|
}
|
|
307
|
-
function renderSelectionItem(item, focused, rerender, abortSignal, llama, flashAttention, useMmap) {
|
|
308
|
+
function renderSelectionItem(item, focused, rerender, abortSignal, llama, flashAttention, swaFullCache, useMmap) {
|
|
308
309
|
if (item.type === "localModel") {
|
|
309
310
|
let modelText = item.title instanceof Function
|
|
310
311
|
? item.title()
|
|
@@ -328,6 +329,7 @@ function renderSelectionItem(item, focused, rerender, abortSignal, llama, flashA
|
|
|
328
329
|
rerenderOption: rerender,
|
|
329
330
|
llama,
|
|
330
331
|
flashAttention,
|
|
332
|
+
swaFullCache,
|
|
331
333
|
useMmap
|
|
332
334
|
});
|
|
333
335
|
}
|
|
@@ -422,7 +424,7 @@ function renderRecommendedModelTechnicalInfo(modelSelectedUri, maxWidth, canUseG
|
|
|
422
424
|
})
|
|
423
425
|
].join("\n");
|
|
424
426
|
}
|
|
425
|
-
async function selectFileForModelRecommendation({ recommendedModelOption, llama, abortSignal, rerenderOption, flashAttention, useMmap }) {
|
|
427
|
+
async function selectFileForModelRecommendation({ recommendedModelOption, llama, abortSignal, rerenderOption, flashAttention, swaFullCache, useMmap }) {
|
|
426
428
|
try {
|
|
427
429
|
let bestScore = undefined;
|
|
428
430
|
let bestScoreSelectedUri = undefined;
|
|
@@ -439,6 +441,7 @@ async function selectFileForModelRecommendation({ recommendedModelOption, llama,
|
|
|
439
441
|
return;
|
|
440
442
|
const compatibilityScore = await ggufInsights.configurationResolver.scoreModelConfigurationCompatibility({
|
|
441
443
|
flashAttention,
|
|
444
|
+
swaFullCache,
|
|
442
445
|
useMmap
|
|
443
446
|
});
|
|
444
447
|
if (bestScore == null || compatibilityScore.compatibilityScore > bestScore) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactivelyAskForModel.js","sourceRoot":"","sources":["../../../src/cli/utils/interactivelyAskForModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactivelyAskForModel.js","sourceRoot":"","sources":["../../../src/cli/utils/interactivelyAskForModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Llama } from "../../bindings/Llama.js";
|
|
2
|
-
export declare function resolveCommandGgufPath(ggufPath: string | undefined, llama: Llama, fetchHeaders?: Record<string, string>, { targetDirectory, flashAttention, useMmap, consoleTitle }?: {
|
|
2
|
+
export declare function resolveCommandGgufPath(ggufPath: string | undefined, llama: Llama, fetchHeaders?: Record<string, string>, { targetDirectory, flashAttention, swaFullCache, useMmap, consoleTitle }?: {
|
|
3
3
|
targetDirectory?: string;
|
|
4
4
|
flashAttention?: boolean;
|
|
5
|
+
swaFullCache?: boolean;
|
|
5
6
|
useMmap?: boolean;
|
|
6
7
|
consoleTitle?: string;
|
|
7
8
|
}): Promise<string>;
|
|
@@ -10,7 +10,7 @@ import { isModelUri } from "../../utils/parseModelUri.js";
|
|
|
10
10
|
import { ConsoleInteraction, ConsoleInteractionKey } from "./ConsoleInteraction.js";
|
|
11
11
|
import { getReadablePath } from "./getReadablePath.js";
|
|
12
12
|
import { interactivelyAskForModel } from "./interactivelyAskForModel.js";
|
|
13
|
-
export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { targetDirectory = cliModelsDirectory, flashAttention = false, useMmap, consoleTitle = "File" } = {}) {
|
|
13
|
+
export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { targetDirectory = cliModelsDirectory, flashAttention = false, swaFullCache = false, useMmap, consoleTitle = "File" } = {}) {
|
|
14
14
|
if (ggufPath == null)
|
|
15
15
|
ggufPath = await interactivelyAskForModel({
|
|
16
16
|
llama,
|
|
@@ -18,6 +18,7 @@ export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { ta
|
|
|
18
18
|
allowLocalModels: true,
|
|
19
19
|
downloadIntent: true,
|
|
20
20
|
flashAttention,
|
|
21
|
+
swaFullCache,
|
|
21
22
|
useMmap
|
|
22
23
|
});
|
|
23
24
|
const resolvedModelDestination = resolveModelDestination(ggufPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveCommandGgufPath.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveCommandGgufPath.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAA4B,EAAE,KAAY,EAAE,YAAqC,EAAE,EAC5H,eAAe,GAAG,kBAAkB,EAAE,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"resolveCommandGgufPath.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveCommandGgufPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -236,6 +236,23 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
|
|
|
236
236
|
* Only relevant when using function calling (via passing the `functions` option).
|
|
237
237
|
*/
|
|
238
238
|
onFunctionCallParamsChunk?: (chunk: LlamaChatResponseFunctionCallParamsChunk) => void;
|
|
239
|
+
/**
|
|
240
|
+
* Set the maximum number of tokens the model is allowed to spend on various segmented responses.
|
|
241
|
+
*/
|
|
242
|
+
budgets?: {
|
|
243
|
+
/**
|
|
244
|
+
* Whether to include the tokens already consumed by the current model response being completed in the budget.
|
|
245
|
+
*
|
|
246
|
+
* Defaults to `true`.
|
|
247
|
+
*/
|
|
248
|
+
includeCurrentResponse?: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Budget for thought tokens.
|
|
251
|
+
*
|
|
252
|
+
* Defaults to `Infinity`.
|
|
253
|
+
*/
|
|
254
|
+
thoughtTokens?: number;
|
|
255
|
+
};
|
|
239
256
|
} & ({
|
|
240
257
|
grammar?: LlamaGrammar;
|
|
241
258
|
functions?: never;
|
|
@@ -79,13 +79,14 @@ export class LlamaChat {
|
|
|
79
79
|
return this.sequence.model;
|
|
80
80
|
}
|
|
81
81
|
async generateResponse(history, options = {}) {
|
|
82
|
-
const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
|
|
82
|
+
const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
|
|
83
83
|
this.sequence.tokenPredictor?.updateInputTokens?.(this.model.tokenize(findLastUserMessageInChatHistory(history)?.text ?? ""));
|
|
84
84
|
const generateResponseState = new GenerateResponseState(this, this._chatWrapper, history, {
|
|
85
85
|
onTextChunk,
|
|
86
86
|
onToken,
|
|
87
87
|
onResponseChunk,
|
|
88
88
|
onFunctionCallParamsChunk,
|
|
89
|
+
budgets,
|
|
89
90
|
signal,
|
|
90
91
|
stopOnAbortSignal,
|
|
91
92
|
maxTokens,
|
|
@@ -120,6 +121,7 @@ export class LlamaChat {
|
|
|
120
121
|
await generateResponseState.loadContextWindow(generateResponseState.getResolvedHistoryWithCurrentModelResponse(), generateResponseState.getContextWindowsHistoryWithCurrentModelResponse(), false, avoidReloadingHistory);
|
|
121
122
|
};
|
|
122
123
|
const loadContextWindowForFunctionCallingLoop = async () => loadContextWindow(true);
|
|
124
|
+
const loadContextWindowForBudgetTriggers = async () => loadContextWindow(false);
|
|
123
125
|
while (true) {
|
|
124
126
|
generateResponseState.startTokenLoop();
|
|
125
127
|
generateResponseState.canAvoidReloadingHistory = false;
|
|
@@ -162,6 +164,13 @@ export class LlamaChat {
|
|
|
162
164
|
const maxTokensTriggerRes = generateResponseState.handleMaxTokensTrigger("model");
|
|
163
165
|
if (maxTokensTriggerRes != null)
|
|
164
166
|
return maxTokensTriggerRes;
|
|
167
|
+
if (generateResponseState.updateShouldContextShift())
|
|
168
|
+
break;
|
|
169
|
+
if (await generateResponseState.handleBudgetTriggers()) {
|
|
170
|
+
await loadContextWindowForBudgetTriggers();
|
|
171
|
+
await generateResponseState.alignCurrentSequenceStateWithCurrentTokens();
|
|
172
|
+
await generateResponseState.createNewEvaluationIterator();
|
|
173
|
+
}
|
|
165
174
|
if (generateResponseState.updateShouldContextShift())
|
|
166
175
|
break;
|
|
167
176
|
const abortRes = generateResponseState.handleAbortTrigger("model");
|
|
@@ -230,6 +239,12 @@ export class LlamaChat {
|
|
|
230
239
|
generateResponseState.addStopGenerationTriggersFromChatWrapper();
|
|
231
240
|
if (userTextSuffix != null && userTextSuffix.values.length > 0)
|
|
232
241
|
generateResponseState.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(userTextSuffix, this.model.tokenizer));
|
|
242
|
+
allSegmentTypes
|
|
243
|
+
.map((segmentType) => getChatWrapperSegmentDefinition(this._chatWrapper.settings, segmentType))
|
|
244
|
+
.filter((segmentDefinition) => segmentDefinition != null)
|
|
245
|
+
.flatMap((segmentDefinition) => [segmentDefinition?.prefix, segmentDefinition?.suffix])
|
|
246
|
+
.filter((trigger) => trigger != null)
|
|
247
|
+
.forEach((trigger) => (generateResponseState.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText(trigger), this.model.tokenizer))));
|
|
233
248
|
await generateResponseState.alignCurrentSequenceStateWithCurrentTokens();
|
|
234
249
|
if (generateResponseState.maxTokens === 0) {
|
|
235
250
|
await generateResponseState.evaluateWithoutGeneratingNewTokens();
|
|
@@ -250,7 +265,10 @@ export class LlamaChat {
|
|
|
250
265
|
generateResponseState.waitOnPartialCharactersOrWhiteSpaceTokens();
|
|
251
266
|
generateResponseState.recordStopGenerationEvaluation();
|
|
252
267
|
generateResponseState.popStreamRegulatorFreeTokens();
|
|
253
|
-
const
|
|
268
|
+
const someOfCurrentTokensAreSpecial = generateResponseState.currentTokens.some((token) => (this.model.isSpecialToken(token)));
|
|
269
|
+
const stopGenerationTriggerRes = generateResponseState.handleStopGenerationTrigger("user", someOfCurrentTokensAreSpecial
|
|
270
|
+
? "eogToken"
|
|
271
|
+
: undefined);
|
|
254
272
|
if (stopGenerationTriggerRes != null)
|
|
255
273
|
return {
|
|
256
274
|
completion: stopGenerationTriggerRes.response,
|
|
@@ -502,24 +520,22 @@ function generateContextTextThatEndsWithUserText(chatWrapper, options) {
|
|
|
502
520
|
...options,
|
|
503
521
|
chatHistory: setLastUserTextInChatHistory(options.chatHistory, lastUserText + randomId)
|
|
504
522
|
});
|
|
505
|
-
let
|
|
506
|
-
|
|
507
|
-
const item = newContextText.values[i];
|
|
523
|
+
for (let i = 0; i < contextText.values.length; i++) {
|
|
524
|
+
const item = contextText.values[i];
|
|
508
525
|
if (typeof item !== "string")
|
|
509
526
|
continue;
|
|
510
527
|
const randomTextIndex = item.indexOf(randomId);
|
|
511
528
|
if (randomTextIndex < 0)
|
|
512
529
|
continue;
|
|
513
530
|
const newValue = item.slice(0, randomTextIndex);
|
|
514
|
-
newContextText = LlamaText([
|
|
515
|
-
...newContextText.values.slice(0, i),
|
|
516
|
-
newValue
|
|
517
|
-
]);
|
|
518
531
|
return {
|
|
519
|
-
contextText:
|
|
532
|
+
contextText: LlamaText([
|
|
533
|
+
...contextText.values.slice(0, i),
|
|
534
|
+
newValue
|
|
535
|
+
]),
|
|
520
536
|
userTextSuffix: LlamaText([
|
|
521
537
|
item.slice(randomTextIndex + randomId.length),
|
|
522
|
-
...
|
|
538
|
+
...contextText.values.slice(i + 1)
|
|
523
539
|
]),
|
|
524
540
|
...rest
|
|
525
541
|
};
|
|
@@ -666,6 +682,7 @@ class GenerateResponseState {
|
|
|
666
682
|
onToken;
|
|
667
683
|
onResponseChunk;
|
|
668
684
|
onFunctionCallParamsChunk;
|
|
685
|
+
budgets;
|
|
669
686
|
signal;
|
|
670
687
|
stopOnAbortSignal;
|
|
671
688
|
maxTokens;
|
|
@@ -739,7 +756,7 @@ class GenerateResponseState {
|
|
|
739
756
|
currentTokens = [];
|
|
740
757
|
currentText = "";
|
|
741
758
|
currentQueuedTokenRelease;
|
|
742
|
-
constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
|
|
759
|
+
constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
|
|
743
760
|
this.llamaChat = llamaChat;
|
|
744
761
|
this.chatWrapper = chatWrapper;
|
|
745
762
|
this.history = history;
|
|
@@ -747,6 +764,7 @@ class GenerateResponseState {
|
|
|
747
764
|
this.onToken = safeEventCallback(onToken);
|
|
748
765
|
this.onResponseChunk = safeEventCallback(onResponseChunk);
|
|
749
766
|
this.onFunctionCallParamsChunk = safeEventCallback(onFunctionCallParamsChunk);
|
|
767
|
+
this.budgets = budgets;
|
|
750
768
|
this.signal = signal;
|
|
751
769
|
this.stopOnAbortSignal = stopOnAbortSignal;
|
|
752
770
|
this.maxTokens = maxTokens;
|
|
@@ -813,6 +831,7 @@ class GenerateResponseState {
|
|
|
813
831
|
if (segmentDefinition != null)
|
|
814
832
|
segmentDefinitions.set(segmentType, segmentDefinition);
|
|
815
833
|
}
|
|
834
|
+
const lastModelMessageFullResponse = getLastModelMessageFullResponseFromChatHistory(this.resolvedHistory);
|
|
816
835
|
this.segmentHandler = new SegmentHandler({
|
|
817
836
|
model: this.llamaChat.model,
|
|
818
837
|
onTextChunk: this.onTextChunk,
|
|
@@ -821,7 +840,10 @@ class GenerateResponseState {
|
|
|
821
840
|
previousTokens: this.getLastTokens(),
|
|
822
841
|
closeAllSegments: this.chatWrapper.settings.segments?.closeAllSegments,
|
|
823
842
|
segmentDefinitions,
|
|
824
|
-
initialSegmentStack: SegmentHandler.getStackFromModelResponse(
|
|
843
|
+
initialSegmentStack: SegmentHandler.getStackFromModelResponse(lastModelMessageFullResponse),
|
|
844
|
+
initialTokenCounts: this.budgets?.includeCurrentResponse === false
|
|
845
|
+
? new Map()
|
|
846
|
+
: SegmentHandler.getSegmentTokenCounts(lastModelMessageFullResponse, this.llamaChat.model.tokenizer)
|
|
825
847
|
});
|
|
826
848
|
this.getPenaltyTokens = this.getPenaltyTokens.bind(this);
|
|
827
849
|
}
|
|
@@ -1573,9 +1595,9 @@ class GenerateResponseState {
|
|
|
1573
1595
|
popStreamRegulatorFreeTokens() {
|
|
1574
1596
|
pushAll(this.pendingTokens, this.streamRegulator.popFreeChunkTokens());
|
|
1575
1597
|
}
|
|
1576
|
-
handleStopGenerationTrigger(lastHistoryItemType) {
|
|
1598
|
+
handleStopGenerationTrigger(lastHistoryItemType, forceStopReason) {
|
|
1577
1599
|
if (this.stopGenerationDetector.hasTriggeredStops || this.customStopGenerationTriggersDetector.hasTriggeredStops ||
|
|
1578
|
-
this.llamaChat.model.isEogToken(this.currentToken)) {
|
|
1600
|
+
this.llamaChat.model.isEogToken(this.currentToken) || forceStopReason != null) {
|
|
1579
1601
|
this.stopGenerationDetector.clearInProgressStops();
|
|
1580
1602
|
this.customStopGenerationTriggersDetector.clearInProgressStops();
|
|
1581
1603
|
pushAll(this.pendingTokens, this.streamRegulator.popFreeChunkTokens());
|
|
@@ -1599,7 +1621,7 @@ class GenerateResponseState {
|
|
|
1599
1621
|
cleanHistory: mergeGeneratedResultWithChatHistory(lastHistoryItemType, this.resolvedHistory, responseSegments),
|
|
1600
1622
|
contextShiftMetadata: this.lastHistoryCompressionMetadata
|
|
1601
1623
|
};
|
|
1602
|
-
const isEogToken = this.llamaChat.model.isEogToken(this.currentToken);
|
|
1624
|
+
const isEogToken = this.llamaChat.model.isEogToken(this.currentToken) || forceStopReason === "eogToken";
|
|
1603
1625
|
if (isEogToken || this.stopGenerationDetector.hasTriggeredStops) {
|
|
1604
1626
|
return {
|
|
1605
1627
|
response,
|
|
@@ -1672,6 +1694,21 @@ class GenerateResponseState {
|
|
|
1672
1694
|
}
|
|
1673
1695
|
return undefined;
|
|
1674
1696
|
}
|
|
1697
|
+
async handleBudgetTriggers() {
|
|
1698
|
+
let shouldReloadEvaluationState = false;
|
|
1699
|
+
const hasBudget = (budget) => budget != null && budget !== Infinity;
|
|
1700
|
+
const hasBudgetTriggers = this.budgets != null && hasBudget(this.budgets.thoughtTokens);
|
|
1701
|
+
if (!hasBudgetTriggers)
|
|
1702
|
+
return shouldReloadEvaluationState;
|
|
1703
|
+
if (hasBudget(this.budgets.thoughtTokens) && this.segmentHandler.isSegmentTypeOpen("thought")) {
|
|
1704
|
+
const usedThoughtTokens = this.segmentHandler.getSegmentTokensCount("thought");
|
|
1705
|
+
if (usedThoughtTokens >= this.budgets.thoughtTokens) {
|
|
1706
|
+
this.segmentHandler.closeSegment("thought");
|
|
1707
|
+
shouldReloadEvaluationState = true;
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
return shouldReloadEvaluationState;
|
|
1711
|
+
}
|
|
1675
1712
|
updateShouldContextShift() {
|
|
1676
1713
|
this.shouldContextShift = this.llamaChat.sequence.nextTokenIndex >= this.llamaChat.context.contextSize - 1;
|
|
1677
1714
|
return this.shouldContextShift;
|
|
@@ -1733,13 +1770,14 @@ class SegmentHandler {
|
|
|
1733
1770
|
_ownedSegmentsStackLength = 0;
|
|
1734
1771
|
_segments = [];
|
|
1735
1772
|
_segmentsStartTokenTrail = [];
|
|
1773
|
+
_segmentTokenCounts;
|
|
1736
1774
|
_contextWindowSegments = [];
|
|
1737
1775
|
_contextWindowStartTokenTrail = [];
|
|
1738
1776
|
_initialTokensTrail;
|
|
1739
1777
|
_tokensTrail;
|
|
1740
1778
|
_streamRegulator = new TokenStreamRegulator();
|
|
1741
1779
|
_segmentDefinitions;
|
|
1742
|
-
constructor({ model, onTextChunk, onToken, onResponseChunk, segmentDefinitions, closeAllSegments, initialSegmentStack, previousTokens }) {
|
|
1780
|
+
constructor({ model, onTextChunk, onToken, onResponseChunk, segmentDefinitions, closeAllSegments, initialSegmentStack, initialTokenCounts, previousTokens }) {
|
|
1743
1781
|
this.model = model;
|
|
1744
1782
|
this.onTextChunk = onTextChunk;
|
|
1745
1783
|
this.onToken = onToken;
|
|
@@ -1756,6 +1794,7 @@ class SegmentHandler {
|
|
|
1756
1794
|
this._segmentsStackSet = new Set(initialSegmentStack);
|
|
1757
1795
|
this._ownedSegmentsStackLength = initialSegmentStack.length;
|
|
1758
1796
|
this._segmentDefinitions = segmentDefinitions;
|
|
1797
|
+
this._segmentTokenCounts = new Map(initialTokenCounts);
|
|
1759
1798
|
for (const [segment, { prefix, suffix }] of segmentDefinitions.entries()) {
|
|
1760
1799
|
this._segmentDetectors.set(segment, {
|
|
1761
1800
|
prefix: new StopGenerationDetector()
|
|
@@ -1804,6 +1843,17 @@ class SegmentHandler {
|
|
|
1804
1843
|
segmentStartTime: new Date(now)
|
|
1805
1844
|
});
|
|
1806
1845
|
}
|
|
1846
|
+
closeSegment(type) {
|
|
1847
|
+
if (!this.isSegmentTypeOpen(type))
|
|
1848
|
+
return;
|
|
1849
|
+
this._closeSegment(type);
|
|
1850
|
+
}
|
|
1851
|
+
getSegmentTokensCount(type) {
|
|
1852
|
+
return this._segmentTokenCounts.get(type) ?? 0;
|
|
1853
|
+
}
|
|
1854
|
+
isSegmentTypeOpen(type) {
|
|
1855
|
+
return this._segmentsStackSet.has(type);
|
|
1856
|
+
}
|
|
1807
1857
|
_processTokens(tokens, text) {
|
|
1808
1858
|
const queuedTokenRelease = this._streamRegulator.addChunk({
|
|
1809
1859
|
tokens,
|
|
@@ -1935,9 +1985,6 @@ class SegmentHandler {
|
|
|
1935
1985
|
segmentEndTime: new Date(now)
|
|
1936
1986
|
});
|
|
1937
1987
|
}
|
|
1938
|
-
this._segmentsStackSet.delete(this._segmentsStack.pop());
|
|
1939
|
-
if (this._segmentsStack.length < this._ownedSegmentsStackLength)
|
|
1940
|
-
this._ownedSegmentsStackLength = this._segmentsStack.length;
|
|
1941
1988
|
const lastContextWindowSegment = this._contextWindowSegments.at(-1);
|
|
1942
1989
|
if (lastContextWindowSegment != null && !(lastContextWindowSegment instanceof Array) &&
|
|
1943
1990
|
lastContextWindowSegment.type === type && this._segmentsStack.at(-1) === type) {
|
|
@@ -1948,6 +1995,9 @@ class SegmentHandler {
|
|
|
1948
1995
|
}
|
|
1949
1996
|
else
|
|
1950
1997
|
this._contextWindowSegments.push({ type, tokens: [], ended: true, start: false, endTime: now });
|
|
1998
|
+
this._segmentsStackSet.delete(this._segmentsStack.pop());
|
|
1999
|
+
if (this._segmentsStack.length < this._ownedSegmentsStackLength)
|
|
2000
|
+
this._ownedSegmentsStackLength = this._segmentsStack.length;
|
|
1951
2001
|
return;
|
|
1952
2002
|
}
|
|
1953
2003
|
const typeIndex = this._segmentsStack.lastIndexOf(type);
|
|
@@ -1990,6 +2040,7 @@ class SegmentHandler {
|
|
|
1990
2040
|
const lastSegment = this._segments.at(-1);
|
|
1991
2041
|
const lastContextWindowSegment = this._contextWindowSegments.at(-1);
|
|
1992
2042
|
const type = this._segmentsStack.at(-1);
|
|
2043
|
+
this._segmentTokenCounts.set(type, (this._segmentTokenCounts.get(type) ?? 0) + tokens.length);
|
|
1993
2044
|
if (type == null) {
|
|
1994
2045
|
if (lastSegment == null) {
|
|
1995
2046
|
const text = (this.onResponseChunk != null || this.onTextChunk != null)
|
|
@@ -2181,5 +2232,19 @@ class SegmentHandler {
|
|
|
2181
2232
|
}
|
|
2182
2233
|
return stack;
|
|
2183
2234
|
}
|
|
2235
|
+
static getSegmentTokenCounts(modelResponse, tokenizer) {
|
|
2236
|
+
const segmentTokenCounts = new Map();
|
|
2237
|
+
for (const item of modelResponse) {
|
|
2238
|
+
if (typeof item === "string") {
|
|
2239
|
+
segmentTokenCounts.set(undefined, (segmentTokenCounts.get(undefined) ?? 0) + tokenizer(item, false, "trimLeadingSpace").length);
|
|
2240
|
+
continue;
|
|
2241
|
+
}
|
|
2242
|
+
else if (isChatModelResponseFunctionCall(item))
|
|
2243
|
+
continue;
|
|
2244
|
+
void item.type;
|
|
2245
|
+
segmentTokenCounts.set(item.segmentType, (segmentTokenCounts.get(item.segmentType) ?? 0) + tokenizer(item.text, false, "trimLeadingSpace").length);
|
|
2246
|
+
}
|
|
2247
|
+
return segmentTokenCounts;
|
|
2248
|
+
}
|
|
2184
2249
|
}
|
|
2185
2250
|
//# sourceMappingURL=LlamaChat.js.map
|