node-llama-cpp 2.7.5 → 3.0.0-beta.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 +1 -1
- package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -8
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -8
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +1 -1
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +13 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +49 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -0
- package/dist/cli/cli.js +1 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/BuildCommand.d.ts +2 -2
- package/dist/cli/commands/BuildCommand.js +1 -1
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.js +20 -10
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/ClearCommand.js +2 -1
- package/dist/cli/commands/ClearCommand.js.map +1 -1
- package/dist/cli/commands/DownloadCommand.d.ts +4 -5
- package/dist/cli/commands/DownloadCommand.js +3 -2
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.js +2 -1
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/llamaEvaluator/LlamaBins.d.ts +19 -4
- package/dist/llamaEvaluator/LlamaBins.js +3 -3
- package/dist/llamaEvaluator/LlamaChatSession.d.ts +24 -23
- package/dist/llamaEvaluator/LlamaChatSession.js +90 -36
- package/dist/llamaEvaluator/LlamaChatSession.js.map +1 -1
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.d.ts +112 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js +640 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/types.d.ts +90 -0
- package/dist/llamaEvaluator/LlamaContext/types.js +2 -0
- package/dist/llamaEvaluator/LlamaContext/types.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +5 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +16 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +5 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +42 -0
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +2 -0
- package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +13 -0
- package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
- package/dist/llamaEvaluator/LlamaGrammar.d.ts +5 -5
- package/dist/llamaEvaluator/LlamaGrammar.js +7 -7
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.d.ts +6 -5
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js +8 -7
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +1 -1
- package/dist/llamaEvaluator/LlamaModel.d.ts +93 -112
- package/dist/llamaEvaluator/LlamaModel.js +294 -59
- package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/utils/ReplHistory.js +1 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/cloneLlamaCppRepo.d.ts +1 -0
- package/dist/utils/cloneLlamaCppRepo.js +26 -1
- package/dist/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/utils/getBin.d.ts +71 -39
- package/dist/utils/getBin.js.map +1 -1
- package/dist/utils/getBuildDefaults.d.ts +6 -0
- package/dist/utils/getBuildDefaults.js +10 -0
- package/dist/utils/getBuildDefaults.js.map +1 -0
- package/dist/utils/getReleaseInfo.d.ts +7 -0
- package/dist/utils/getReleaseInfo.js +30 -0
- package/dist/utils/getReleaseInfo.js.map +1 -0
- package/dist/utils/parseModelFileName.d.ts +9 -0
- package/dist/utils/parseModelFileName.js +68 -0
- package/dist/utils/parseModelFileName.js.map +1 -0
- package/dist/utils/parseModelTypeDescription.d.ts +6 -0
- package/dist/utils/parseModelTypeDescription.js +9 -0
- package/dist/utils/parseModelTypeDescription.js.map +1 -0
- package/llama/.clang-format +10 -9
- package/llama/addon.cpp +689 -356
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/grammars/README.md +2 -2
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/mac-arm64/ggml-metal.metal +107 -1
- package/llamaBins/mac-arm64/llama-addon.node +0 -0
- package/llamaBins/mac-x64/ggml-metal.metal +107 -1
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/llama-addon.exp +0 -0
- package/llamaBins/win-x64/llama-addon.lib +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/package.json +13 -7
- package/dist/chatWrappers/createChatWrapperByBos.d.ts +0 -2
- package/dist/chatWrappers/createChatWrapperByBos.js +0 -14
- package/dist/chatWrappers/createChatWrapperByBos.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext.d.ts +0 -100
- package/dist/llamaEvaluator/LlamaContext.js +0 -141
- package/dist/llamaEvaluator/LlamaContext.js.map +0 -1
- package/dist/utils/withLock.d.ts +0 -1
- package/dist/utils/withLock.js +0 -19
- package/dist/utils/withLock.js.map +0 -1
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { EventRelay } from "lifecycle-utils";
|
|
2
3
|
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
3
4
|
import { ConversationInteraction, Token } from "../types.js";
|
|
4
|
-
import {
|
|
5
|
+
import { LlamaModel } from "./LlamaModel.js";
|
|
6
|
+
import { LlamaContextSequence } from "./LlamaContext/LlamaContext.js";
|
|
5
7
|
import { LlamaGrammar } from "./LlamaGrammar.js";
|
|
6
8
|
export type LlamaChatSessionOptions = {
|
|
7
|
-
|
|
9
|
+
contextSequence: LlamaContextSequence;
|
|
8
10
|
printLLamaSystemInfo?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
promptWrapper?:
|
|
11
|
+
/** `"auto"` is used by default */
|
|
12
|
+
promptWrapper?: "auto" | ChatPromptWrapper;
|
|
11
13
|
systemPrompt?: string;
|
|
12
14
|
/** Conversation history to load into the context to continue an existing conversation */
|
|
13
15
|
conversationHistory?: readonly ConversationInteraction[];
|
|
16
|
+
/** Automatically dispose the sequence when the session is disposed */
|
|
17
|
+
autoDisposeSequence?: boolean;
|
|
14
18
|
};
|
|
15
19
|
export type LLamaChatPromptOptions = {
|
|
16
20
|
onToken?: (tokens: Token[]) => void;
|
|
@@ -85,31 +89,30 @@ export type LlamaChatSessionRepeatPenalty = {
|
|
|
85
89
|
presencePenalty?: number;
|
|
86
90
|
};
|
|
87
91
|
export declare class LlamaChatSession {
|
|
88
|
-
|
|
89
|
-
private readonly _printLLamaSystemInfo;
|
|
90
|
-
private readonly _promptWrapper;
|
|
91
|
-
private _promptIndex;
|
|
92
|
-
private _initialized;
|
|
93
|
-
private _lastStopString;
|
|
94
|
-
private _lastStopStringSuffix;
|
|
95
|
-
private _conversationHistoryToLoad;
|
|
96
|
-
private readonly _ctx;
|
|
92
|
+
readonly onDispose: EventRelay<void>;
|
|
97
93
|
/**
|
|
98
|
-
* @param
|
|
94
|
+
* @param options
|
|
99
95
|
*/
|
|
100
|
-
constructor({
|
|
96
|
+
constructor({ contextSequence, printLLamaSystemInfo, promptWrapper, systemPrompt, conversationHistory, autoDisposeSequence }: LlamaChatSessionOptions);
|
|
97
|
+
dispose({ disposedSequence }?: {
|
|
98
|
+
disposedSequence?: boolean;
|
|
99
|
+
}): void;
|
|
100
|
+
/** @hidden */
|
|
101
|
+
[Symbol.dispose](): void;
|
|
102
|
+
get disposed(): boolean;
|
|
101
103
|
get initialized(): boolean;
|
|
102
|
-
get
|
|
104
|
+
get sequence(): LlamaContextSequence;
|
|
105
|
+
get context(): import("./LlamaContext/LlamaContext.js").LlamaContext;
|
|
106
|
+
get model(): LlamaModel;
|
|
103
107
|
init(): Promise<void>;
|
|
104
108
|
/**
|
|
105
|
-
* @param
|
|
106
|
-
* @param
|
|
107
|
-
* @returns {Promise<string>}
|
|
109
|
+
* @param prompt
|
|
110
|
+
* @param [options]
|
|
108
111
|
*/
|
|
109
112
|
prompt(prompt: string, { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty }?: LLamaChatPromptOptions): Promise<string>;
|
|
110
113
|
/**
|
|
111
|
-
* @param
|
|
112
|
-
* @param
|
|
114
|
+
* @param prompt
|
|
115
|
+
* @param [options]
|
|
113
116
|
*/
|
|
114
117
|
promptWithMeta(prompt: string, { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty }?: LLamaChatPromptOptions): Promise<{
|
|
115
118
|
text: string;
|
|
@@ -117,6 +120,4 @@ export declare class LlamaChatSession {
|
|
|
117
120
|
stopString: string | null;
|
|
118
121
|
stopStringSuffix: string | null;
|
|
119
122
|
}>;
|
|
120
|
-
private _evalTokens;
|
|
121
|
-
private _checkStopString;
|
|
122
123
|
}
|
|
@@ -1,35 +1,49 @@
|
|
|
1
|
+
import { DisposeAggregator, DisposedError, EventRelay, withLock } from "lifecycle-utils";
|
|
1
2
|
import { defaultChatSystemPrompt } from "../config.js";
|
|
2
|
-
import { withLock } from "../utils/withLock.js";
|
|
3
3
|
import { AbortError } from "../AbortError.js";
|
|
4
4
|
import { GeneralChatPromptWrapper } from "../chatWrappers/GeneralChatPromptWrapper.js";
|
|
5
|
-
import {
|
|
5
|
+
import { resolveChatWrapperBasedOnModel } from "../chatWrappers/resolveChatWrapperBasedOnModel.js";
|
|
6
6
|
import { generateContextTextFromConversationHistory } from "../chatWrappers/generateContextTextFromConversationHistory.js";
|
|
7
7
|
import { removeNullFields } from "../utils/removeNullFields.js";
|
|
8
8
|
import { LlamaModel } from "./LlamaModel.js";
|
|
9
9
|
import { LlamaGrammarEvaluationState } from "./LlamaGrammarEvaluationState.js";
|
|
10
10
|
const UNKNOWN_UNICODE_CHAR = "\ufffd";
|
|
11
11
|
export class LlamaChatSession {
|
|
12
|
-
_systemPrompt;
|
|
13
|
-
_printLLamaSystemInfo;
|
|
14
|
-
_promptWrapper;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
/** @internal */ _systemPrompt;
|
|
13
|
+
/** @internal */ _printLLamaSystemInfo;
|
|
14
|
+
/** @internal */ _promptWrapper;
|
|
15
|
+
/** @internal */ _disposeAggregator = new DisposeAggregator();
|
|
16
|
+
/** @internal */ _autoDisposeSequence;
|
|
17
|
+
/** @internal */ _promptIndex = 0;
|
|
18
|
+
/** @internal */ _initialized = false;
|
|
19
|
+
/** @internal */ _lastStopString = null;
|
|
20
|
+
/** @internal */ _lastStopStringSuffix = null;
|
|
21
|
+
/** @internal */ _conversationHistoryToLoad = null;
|
|
22
|
+
/** @internal */ _sequence;
|
|
23
|
+
onDispose = new EventRelay();
|
|
21
24
|
/**
|
|
22
|
-
* @param
|
|
25
|
+
* @param options
|
|
23
26
|
*/
|
|
24
|
-
constructor({
|
|
25
|
-
|
|
27
|
+
constructor({ contextSequence, printLLamaSystemInfo = false, promptWrapper = "auto", systemPrompt = defaultChatSystemPrompt, conversationHistory, autoDisposeSequence = true }) {
|
|
28
|
+
if (contextSequence.disposed)
|
|
29
|
+
throw new DisposedError();
|
|
30
|
+
this._sequence = contextSequence;
|
|
26
31
|
this._printLLamaSystemInfo = printLLamaSystemInfo;
|
|
27
32
|
this._systemPrompt = systemPrompt;
|
|
28
33
|
this._conversationHistoryToLoad = (conversationHistory != null && conversationHistory.length > 0)
|
|
29
34
|
? conversationHistory
|
|
30
35
|
: null;
|
|
36
|
+
this._autoDisposeSequence = autoDisposeSequence;
|
|
37
|
+
this._disposeAggregator.add(this._sequence.onDispose.createListener(() => {
|
|
38
|
+
this.dispose();
|
|
39
|
+
}));
|
|
40
|
+
this._disposeAggregator.add(this.onDispose.dispatchEvent);
|
|
31
41
|
if (promptWrapper === "auto") {
|
|
32
|
-
const chatWrapper =
|
|
42
|
+
const chatWrapper = resolveChatWrapperBasedOnModel({
|
|
43
|
+
bosString: contextSequence.model.tokens.bosString,
|
|
44
|
+
filename: contextSequence.model.filename,
|
|
45
|
+
typeDescription: contextSequence.model.typeDescription
|
|
46
|
+
});
|
|
33
47
|
if (chatWrapper != null)
|
|
34
48
|
this._promptWrapper = new chatWrapper();
|
|
35
49
|
else
|
|
@@ -38,14 +52,38 @@ export class LlamaChatSession {
|
|
|
38
52
|
else
|
|
39
53
|
this._promptWrapper = promptWrapper;
|
|
40
54
|
}
|
|
55
|
+
dispose({ disposedSequence = this._autoDisposeSequence } = {}) {
|
|
56
|
+
if (this._sequence == null)
|
|
57
|
+
return;
|
|
58
|
+
if (disposedSequence)
|
|
59
|
+
this._sequence.dispose();
|
|
60
|
+
this._sequence = null;
|
|
61
|
+
this._disposeAggregator.dispose();
|
|
62
|
+
}
|
|
63
|
+
/** @hidden */
|
|
64
|
+
[Symbol.dispose]() {
|
|
65
|
+
return this.dispose();
|
|
66
|
+
}
|
|
67
|
+
get disposed() {
|
|
68
|
+
return this._sequence == null;
|
|
69
|
+
}
|
|
41
70
|
get initialized() {
|
|
42
71
|
return this._initialized;
|
|
43
72
|
}
|
|
73
|
+
get sequence() {
|
|
74
|
+
if (this._sequence == null)
|
|
75
|
+
throw new DisposedError();
|
|
76
|
+
return this._sequence;
|
|
77
|
+
}
|
|
44
78
|
get context() {
|
|
45
|
-
return this.
|
|
79
|
+
return this.sequence.context;
|
|
80
|
+
}
|
|
81
|
+
get model() {
|
|
82
|
+
return this.sequence.model;
|
|
46
83
|
}
|
|
47
84
|
async init() {
|
|
48
85
|
await withLock(this, "init", async () => {
|
|
86
|
+
this._ensureNotDisposed();
|
|
49
87
|
if (this._initialized)
|
|
50
88
|
return;
|
|
51
89
|
if (this._printLLamaSystemInfo)
|
|
@@ -54,24 +92,27 @@ export class LlamaChatSession {
|
|
|
54
92
|
});
|
|
55
93
|
}
|
|
56
94
|
/**
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
59
|
-
* @returns {Promise<string>}
|
|
95
|
+
* @param prompt
|
|
96
|
+
* @param [options]
|
|
60
97
|
*/
|
|
61
|
-
async prompt(prompt, { onToken, signal, maxTokens, temperature, topK, topP, grammar
|
|
98
|
+
async prompt(prompt, { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty } = {}) {
|
|
62
99
|
const { text } = await this.promptWithMeta(prompt, {
|
|
63
100
|
onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty
|
|
64
101
|
});
|
|
65
102
|
return text;
|
|
66
103
|
}
|
|
67
104
|
/**
|
|
68
|
-
* @param
|
|
69
|
-
* @param
|
|
105
|
+
* @param prompt
|
|
106
|
+
* @param [options]
|
|
70
107
|
*/
|
|
71
|
-
async promptWithMeta(prompt, { onToken, signal, maxTokens, temperature, topK, topP, grammar
|
|
108
|
+
async promptWithMeta(prompt, { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty } = {}) {
|
|
109
|
+
this._ensureNotDisposed();
|
|
72
110
|
if (!this.initialized)
|
|
73
111
|
await this.init();
|
|
74
112
|
return await withLock(this, "prompt", async () => {
|
|
113
|
+
this._ensureNotDisposed();
|
|
114
|
+
if (this._sequence == null)
|
|
115
|
+
throw new DisposedError();
|
|
75
116
|
let promptText = "";
|
|
76
117
|
if (this._promptIndex == 0 && this._conversationHistoryToLoad != null) {
|
|
77
118
|
const { text, stopString, stopStringSuffix } = generateContextTextFromConversationHistory(this._promptWrapper, this._conversationHistoryToLoad, {
|
|
@@ -79,8 +120,8 @@ export class LlamaChatSession {
|
|
|
79
120
|
currentPromptIndex: this._promptIndex,
|
|
80
121
|
lastStopString: this._lastStopString,
|
|
81
122
|
lastStopStringSuffix: this._promptIndex == 0
|
|
82
|
-
? (this.
|
|
83
|
-
? this.
|
|
123
|
+
? (this._sequence.prependBos
|
|
124
|
+
? this._sequence.context.model.tokens.bosString
|
|
84
125
|
: null)
|
|
85
126
|
: this._lastStopStringSuffix
|
|
86
127
|
});
|
|
@@ -95,15 +136,15 @@ export class LlamaChatSession {
|
|
|
95
136
|
promptIndex: this._promptIndex,
|
|
96
137
|
lastStopString: this._lastStopString,
|
|
97
138
|
lastStopStringSuffix: this._promptIndex == 0
|
|
98
|
-
? (this.
|
|
99
|
-
? this.
|
|
139
|
+
? (this._sequence.prependBos
|
|
140
|
+
? this._sequence.context.model.tokens.bosString
|
|
100
141
|
: null)
|
|
101
142
|
: this._lastStopStringSuffix
|
|
102
143
|
});
|
|
103
144
|
this._promptIndex++;
|
|
104
145
|
this._lastStopString = null;
|
|
105
146
|
this._lastStopStringSuffix = null;
|
|
106
|
-
const { text, stopReason, stopString, stopStringSuffix } = await this._evalTokens(this.
|
|
147
|
+
const { text, stopReason, stopString, stopStringSuffix } = await this._evalTokens(this._sequence.context.model.tokenize(promptText), {
|
|
107
148
|
onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix,
|
|
108
149
|
repeatPenalty: repeatPenalty == false ? { lastTokens: 0 } : repeatPenalty
|
|
109
150
|
});
|
|
@@ -117,7 +158,10 @@ export class LlamaChatSession {
|
|
|
117
158
|
};
|
|
118
159
|
});
|
|
119
160
|
}
|
|
120
|
-
|
|
161
|
+
/** @internal */
|
|
162
|
+
async _evalTokens(tokens, { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty: { lastTokens: repeatPenaltyLastTokens = 64, punishTokensFilter, penalizeNewLine, penalty, frequencyPenalty, presencePenalty } = {} } = {}) {
|
|
163
|
+
if (this._sequence == null)
|
|
164
|
+
throw new DisposedError();
|
|
121
165
|
let stopStrings = this._promptWrapper.getStopStrings();
|
|
122
166
|
if (grammar != null)
|
|
123
167
|
stopStrings = stopStrings.concat(grammar.stopStrings);
|
|
@@ -134,13 +178,13 @@ export class LlamaChatSession {
|
|
|
134
178
|
if (punishTokensFilter != null)
|
|
135
179
|
punishTokens = punishTokensFilter(punishTokens);
|
|
136
180
|
if (!penalizeNewLine) {
|
|
137
|
-
const nlToken = this.context.
|
|
181
|
+
const nlToken = this.sequence.context.model.tokens.nl;
|
|
138
182
|
if (nlToken != null)
|
|
139
183
|
punishTokens = punishTokens.filter(token => token !== nlToken);
|
|
140
184
|
}
|
|
141
185
|
return Uint32Array.from(punishTokens);
|
|
142
186
|
};
|
|
143
|
-
const evaluationIterator = this.
|
|
187
|
+
const evaluationIterator = this._sequence.evaluate(tokens, removeNullFields({
|
|
144
188
|
temperature, topK, topP, grammarEvaluationState,
|
|
145
189
|
repeatPenalty: !repeatPenaltyEnabled ? undefined : {
|
|
146
190
|
punishTokens: getPenaltyTokens,
|
|
@@ -152,25 +196,27 @@ export class LlamaChatSession {
|
|
|
152
196
|
for await (const chunk of evaluationIterator) {
|
|
153
197
|
if (signal?.aborted)
|
|
154
198
|
throw new AbortError();
|
|
155
|
-
|
|
199
|
+
if (this._sequence == null)
|
|
200
|
+
throw new DisposedError();
|
|
201
|
+
const tokenStr = this._sequence.context.model.detokenize([chunk]);
|
|
156
202
|
const { shouldReturn, skipTokenEvent, stopString, stopStringSuffix } = this._checkStopString(tokenStr, stopStrings, stopStringIndexes);
|
|
157
203
|
if (shouldReturn) {
|
|
158
204
|
skippedChunksQueue.push(chunk);
|
|
159
205
|
const skippedChunksText = skippedChunksQueue.length > 0
|
|
160
|
-
? this.
|
|
206
|
+
? this._sequence.context.model.detokenize(skippedChunksQueue)
|
|
161
207
|
: "";
|
|
162
208
|
let [queuedTextBeforeStopString] = skippedChunksText.split(stopString);
|
|
163
209
|
if (grammar?.trimWhitespaceSuffix || trimWhitespaceSuffix)
|
|
164
210
|
queuedTextBeforeStopString = queuedTextBeforeStopString.trimEnd();
|
|
165
211
|
if (queuedTextBeforeStopString.length > 0) {
|
|
166
|
-
const beforeStopStringTokens = Array.from(this.
|
|
212
|
+
const beforeStopStringTokens = Array.from(this._sequence.context.model.tokenize(queuedTextBeforeStopString));
|
|
167
213
|
res.push(...beforeStopStringTokens);
|
|
168
214
|
onToken?.(beforeStopStringTokens);
|
|
169
215
|
skippedChunksQueue.length = 0;
|
|
170
216
|
}
|
|
171
217
|
stopReason = "stopString";
|
|
172
218
|
return {
|
|
173
|
-
text: this.
|
|
219
|
+
text: this._sequence.context.model.detokenize(res),
|
|
174
220
|
stopReason,
|
|
175
221
|
stopString,
|
|
176
222
|
stopStringSuffix
|
|
@@ -193,7 +239,9 @@ export class LlamaChatSession {
|
|
|
193
239
|
break;
|
|
194
240
|
}
|
|
195
241
|
}
|
|
196
|
-
|
|
242
|
+
if (this._sequence == null)
|
|
243
|
+
throw new DisposedError();
|
|
244
|
+
let resText = this._sequence.context.model.detokenize(res);
|
|
197
245
|
if (grammar?.trimWhitespaceSuffix || trimWhitespaceSuffix)
|
|
198
246
|
resText = resText.trimEnd();
|
|
199
247
|
return {
|
|
@@ -203,6 +251,7 @@ export class LlamaChatSession {
|
|
|
203
251
|
stopStringSuffix: null
|
|
204
252
|
};
|
|
205
253
|
}
|
|
254
|
+
/** @internal */
|
|
206
255
|
_checkStopString(tokenStr, stopStrings, stopStringIndexes) {
|
|
207
256
|
let skipTokenEvent = false;
|
|
208
257
|
for (let stopStringIndex = 0; stopStringIndex < stopStrings.length; stopStringIndex++) {
|
|
@@ -232,5 +281,10 @@ export class LlamaChatSession {
|
|
|
232
281
|
}
|
|
233
282
|
return { skipTokenEvent };
|
|
234
283
|
}
|
|
284
|
+
/** @internal */
|
|
285
|
+
_ensureNotDisposed() {
|
|
286
|
+
if (this._sequence == null)
|
|
287
|
+
throw new DisposedError();
|
|
288
|
+
}
|
|
235
289
|
}
|
|
236
290
|
//# sourceMappingURL=LlamaChatSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaChatSession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaChatSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AAErD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAC,8BAA8B,EAAC,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAC,0CAA0C,EAAC,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAE7E,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAwGtC,MAAM,OAAO,gBAAgB;IACzB,gBAAgB,CAAkB,aAAa,CAAS;IACxD,gBAAgB,CAAkB,qBAAqB,CAAU;IACjE,gBAAgB,CAAkB,cAAc,CAAoB;IACpE,gBAAgB,CAAkB,kBAAkB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC/E,gBAAgB,CAAkB,oBAAoB,CAAU;IAChE,gBAAgB,CAAS,YAAY,GAAW,CAAC,CAAC;IAClD,gBAAgB,CAAS,YAAY,GAAY,KAAK,CAAC;IACvD,gBAAgB,CAAS,eAAe,GAAkB,IAAI,CAAC;IAC/D,gBAAgB,CAAS,qBAAqB,GAAkB,IAAI,CAAC;IACrE,gBAAgB,CAAS,0BAA0B,GAA8C,IAAI,CAAC;IACtG,gBAAgB,CAAS,SAAS,CAA8B;IAEhD,SAAS,GAAG,IAAI,UAAU,EAAQ,CAAC;IAEnD;;OAEG;IACH,YAAmB,EACf,eAAe,EACf,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,MAAM,EACtB,YAAY,GAAG,uBAAuB,EACtC,mBAAmB,EACnB,mBAAmB,GAAG,IAAI,EACJ;QACtB,IAAI,eAAe,CAAC,QAAQ;YACxB,MAAM,IAAI,aAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,0BAA0B,GAAG,CAAC,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7F,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAEhD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CACL,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAI,aAAa,KAAK,MAAM,EAAE;YAC1B,MAAM,WAAW,GAAG,8BAA8B,CAAC;gBAC/C,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;gBACjD,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ;gBACxC,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,eAAe;aACzD,CAAC,CAAC;YAEH,IAAI,WAAW,IAAI,IAAI;gBACnB,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC;;gBAExC,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;SAC5D;;YACG,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IAC5C,CAAC;IAEM,OAAO,CAAC,EAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,KAAkC,EAAE;QAC5F,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,OAAO;QAEX,IAAI,gBAAgB;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,cAAc;IACP,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,QAAQ;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,MAAM,IAAI,aAAa,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,YAAY;gBACjB,OAAO;YAEX,IAAI,IAAI,CAAC,qBAAqB;gBAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,EAChC,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,oBAAoB,GAAG,KAAK,EAC5B,aAAa,KACW,EAAE;QAC1B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC7C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,aAAa;SACpG,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,EACxC,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,oBAAoB,GAAG,KAAK,EAC5B,aAAa,KACW,EAAE;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAEtB,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;gBACtB,MAAM,IAAI,aAAa,EAAE,CAAC;YAE9B,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,EAAE;gBACnE,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAC,GACtC,0CAA0C,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,0BAA0B,EAAE;oBAC7F,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,kBAAkB,EAAE,IAAI,CAAC,YAAY;oBACrC,cAAc,EAAE,IAAI,CAAC,eAAe;oBACpC,oBAAoB,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;wBACxC,CAAC,CAAC,CACE,IAAI,CAAC,SAAS,CAAC,UAAU;4BACrB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;4BAC/C,CAAC,CAAC,IAAI,CACb;wBACD,CAAC,CAAC,IAAI,CAAC,qBAAqB;iBACnC,CAAC,CAAC;gBAEP,UAAU,IAAI,IAAI,CAAC;gBACnB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;gBAClC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;gBAC9C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;gBAE5D,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;aAC1C;YAED,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE;gBACjD,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,oBAAoB,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;oBACxC,CAAC,CAAC,CACE,IAAI,CAAC,SAAS,CAAC,UAAU;wBACrB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;wBAC/C,CAAC,CAAC,IAAI,CACb;oBACD,CAAC,CAAC,IAAI,CAAC,qBAAqB;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAElC,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAC,GAClD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB;gBAClF,aAAa,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,aAAa;aAC1E,CAAC,CAAC;YACP,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;YAClC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;YAE9C,OAAO;gBACH,IAAI;gBACJ,UAAU;gBACV,UAAU;gBACV,gBAAgB;aACnB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;IACR,KAAK,CAAC,WAAW,CAAC,MAAe,EAAE,EACvC,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,oBAAoB,GAAG,KAAK,EAC5B,aAAa,EAAE,EACX,UAAU,EAAE,uBAAuB,GAAG,EAAE,EACxC,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,eAAe,EAClB,GAAG,EAAE,KAWN,EAAE;QACF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,MAAM,IAAI,aAAa,EAAE,CAAC;QAE9B,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAEvD,IAAI,OAAO,IAAI,IAAI;YACf,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAa,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,kBAAkB,GAAY,EAAE,CAAC;QACvC,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,MAAM,sBAAsB,GAAG,OAAO,IAAI,IAAI;YAC1C,CAAC,CAAC,IAAI,2BAA2B,CAAC,EAAC,OAAO,EAAC,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,CAAC,CAAC;QACzD,IAAI,UAAU,GAA4C,UAAU,CAAC;QAErE,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,IAAI,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAEvD,IAAI,kBAAkB,IAAI,IAAI;gBAC1B,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEpD,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAEtD,IAAI,OAAO,IAAI,IAAI;oBACf,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;aACtE;YAED,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;YACxE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB;YAC/C,aAAa,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/C,YAAY,EAAE,gBAAgB;gBAC9B,OAAO;gBACP,gBAAgB;gBAChB,eAAe;aAClB;SACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,kBAAkB,EAAE;YAC1C,IAAI,MAAM,EAAE,OAAO;gBACf,MAAM,IAAI,UAAU,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;gBACtB,MAAM,IAAI,aAAa,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,MAAM,EACF,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAC7D,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAEpE,IAAI,YAAY,EAAE;gBACd,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAC7D,CAAC,CAAC,EAAE,CAAC;gBAET,IAAI,CAAC,0BAA0B,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEvE,IAAI,OAAO,EAAE,oBAAoB,IAAI,oBAAoB;oBACrD,0BAA0B,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC;gBAEtE,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvC,MAAM,sBAAsB,GAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBAEtH,GAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;oBACpC,OAAO,EAAE,CAAC,sBAAsB,CAAC,CAAC;oBAClC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjC;gBAED,UAAU,GAAG,YAAY,CAAC;gBAE1B,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;oBAClD,UAAU;oBACV,UAAU;oBACV,gBAAgB;iBACnB,CAAC;aACL;YAED,gEAAgE;YAChE,IAAI,QAAQ,KAAK,oBAAoB,IAAI,cAAc,IAAI,CACvD,CAAC,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CACpF,EAAE;gBACC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,SAAS;aACZ;YAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC;YAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnB,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC/D,UAAU,GAAG,WAAW,CAAC;gBACzB,MAAM;aACT;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,MAAM,IAAI,aAAa,EAAE,CAAC;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,OAAO,EAAE,oBAAoB,IAAI,oBAAoB;YACrD,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEhC,OAAO;YACH,IAAI,EAAE,OAAO;YACb,UAAU;YACV,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;SACzB,CAAC;IACN,CAAC;IAED,gBAAgB;IACR,gBAAgB,CAAC,QAAgB,EAAE,WAAqB,EAAE,iBAA2B;QACzF,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,KAAK,IAAI,eAAe,GAAG,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE;YACnF,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;YAEhD,IAAI,yBAAyB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,iBAAiB,CAAC,eAAe,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzF,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,EAAE;oBAChE,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC;oBACrC,yBAAyB,GAAG,IAAI,CAAC;iBACpC;qBAAM;oBACH,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACvC,yBAAyB,GAAG,KAAK,CAAC;iBACrC;aACJ;YAED,IAAI,iBAAiB,CAAC,eAAe,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE;gBAC1D,OAAO;oBACH,YAAY,EAAE,IAAI;oBAClB,UAAU;oBACV,gBAAgB,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;wBACnC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1B,CAAC;aACL;YAED,cAAc,KAAK,yBAAyB,CAAC;SAChD;QAED,OAAO,EAAC,cAAc,EAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB;IACR,kBAAkB;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,MAAM,IAAI,aAAa,EAAE,CAAC;IAClC,CAAC;CACJ"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { EventRelay } from "lifecycle-utils";
|
|
2
|
+
import { Token } from "../../types.js";
|
|
3
|
+
import { LlamaModel } from "../LlamaModel.js";
|
|
4
|
+
import { LlamaGrammarEvaluationState } from "../LlamaGrammarEvaluationState.js";
|
|
5
|
+
import { ContextShiftOptions, ContextTokensDeleteRange, EvaluationPriority, LlamaContextOptions, LlamaContextSequenceRepeatPenalty, TokenPriority } from "./types.js";
|
|
6
|
+
export declare class LlamaContext {
|
|
7
|
+
readonly onDispose: EventRelay<void>;
|
|
8
|
+
/**
|
|
9
|
+
* @param options
|
|
10
|
+
*/
|
|
11
|
+
constructor({ model, sequences, seed, contextSize, batchSize, f16Kv, logitsAll, embedding, threads, batching: { dispatchSchedule: batchingDispatchSchedule, itemsPrioritizingStrategy: batchingItemsPrioritizingStrategy } }: LlamaContextOptions);
|
|
12
|
+
dispose(): void;
|
|
13
|
+
/** @hidden */
|
|
14
|
+
[Symbol.dispose](): void;
|
|
15
|
+
get disposed(): boolean;
|
|
16
|
+
get model(): LlamaModel;
|
|
17
|
+
get contextSize(): number;
|
|
18
|
+
get batchSize(): number;
|
|
19
|
+
getAllocatedContextSize(): number;
|
|
20
|
+
get totalSequences(): number;
|
|
21
|
+
get sequencesLeft(): number;
|
|
22
|
+
/**
|
|
23
|
+
* Before calling this method, make sure to call `sequencesLeft` to check if there are any sequences left.
|
|
24
|
+
* When there are no sequences left, this method will throw an error.
|
|
25
|
+
* @param [options]
|
|
26
|
+
*/
|
|
27
|
+
getSequence({ prependBos, contextShift: { size: contextShiftSize, strategy: contextShiftStrategy } }?: {
|
|
28
|
+
prependBos?: boolean;
|
|
29
|
+
contextShift?: ContextShiftOptions;
|
|
30
|
+
}): LlamaContextSequence;
|
|
31
|
+
dispatchPendingBatch(): void;
|
|
32
|
+
}
|
|
33
|
+
export declare class LlamaContextSequence {
|
|
34
|
+
readonly onDispose: EventRelay<void>;
|
|
35
|
+
private constructor();
|
|
36
|
+
dispose(): void;
|
|
37
|
+
/** @hidden */
|
|
38
|
+
[Symbol.dispose](): void;
|
|
39
|
+
get disposed(): boolean;
|
|
40
|
+
get context(): LlamaContext;
|
|
41
|
+
get model(): LlamaModel;
|
|
42
|
+
get prependBos(): boolean;
|
|
43
|
+
get nextTokenIndex(): number;
|
|
44
|
+
get contextTokens(): Token[];
|
|
45
|
+
get contextTokenPriorities(): number[];
|
|
46
|
+
/**
|
|
47
|
+
* Clear the history of the sequence.
|
|
48
|
+
* If `prependBos` was enabled, the BOS token will be prepended to the sequence again.
|
|
49
|
+
*/
|
|
50
|
+
clearHistory(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Erase context tokens in the provided ranges to free up space for new tokens to be generated.
|
|
53
|
+
* the start and end of each range are exclusive.
|
|
54
|
+
* For example, the range `{start: 0, end: 1}` will remove the token at the `0` index only.
|
|
55
|
+
*/
|
|
56
|
+
eraseContextTokenRanges(ranges: ContextTokensDeleteRange[]): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* @param tokens
|
|
59
|
+
* @param [options]
|
|
60
|
+
*/
|
|
61
|
+
evaluate(tokens: Token[], { temperature, topK, topP, grammarEvaluationState, repeatPenalty, evaluationPriority, tokenPriority }?: {
|
|
62
|
+
temperature?: number;
|
|
63
|
+
topK?: number;
|
|
64
|
+
topP?: number;
|
|
65
|
+
grammarEvaluationState?: LlamaGrammarEvaluationState;
|
|
66
|
+
repeatPenalty?: LlamaContextSequenceRepeatPenalty;
|
|
67
|
+
/**
|
|
68
|
+
* When a lot of tokens are queued for the next batch, more than the configured `batchSize`, the tokens for each sequence will be
|
|
69
|
+
* evaluated based on the strategy chosen for the context.
|
|
70
|
+
* By default, the `"maximumParallelism"` strategy is used, which will try to evaluate as many sequences in parallel as possible,
|
|
71
|
+
* but at some point, it'll have to choose which sequences to evaluate more tokens of, so it'll prioritize the sequences with the
|
|
72
|
+
* highest evaluation priority.
|
|
73
|
+
* Also, a custom strategy can be used to prioritize the sequences differently, but generally, the higher the evaluation priority
|
|
74
|
+
* is, the more likely and more tokens will be evaluated for that sequence in the next queued batch.
|
|
75
|
+
*/
|
|
76
|
+
evaluationPriority?: EvaluationPriority;
|
|
77
|
+
/**
|
|
78
|
+
* When the context is full, tokens will be erased based on the context shift strategy chosen.
|
|
79
|
+
* By default, the lowest priority tokens at the beginning of the context will be erased.
|
|
80
|
+
* To mark the priority of the evaluated tokens, use this option.
|
|
81
|
+
* The higher the priority is, the less likely it will be erased.
|
|
82
|
+
* The default priority is `1`.
|
|
83
|
+
*/
|
|
84
|
+
tokenPriority?: TokenPriority | TokenPriority[];
|
|
85
|
+
}): AsyncGenerator<Token, void>;
|
|
86
|
+
/**
|
|
87
|
+
* Evaluate the provided tokens into the context sequence without generating new tokens.
|
|
88
|
+
* @param tokens
|
|
89
|
+
* @param [options]
|
|
90
|
+
*/
|
|
91
|
+
evaluateWithoutGeneratingNewTokens(tokens: Token[], { evaluationPriority, tokenPriority }?: {
|
|
92
|
+
grammarEvaluationState?: LlamaGrammarEvaluationState;
|
|
93
|
+
/**
|
|
94
|
+
* When a lot of tokens are queued for the next batch, more than the configured `batchSize`, the tokens for each sequence will be
|
|
95
|
+
* evaluated based on the strategy chosen for the context.
|
|
96
|
+
* By default, the `"maximumParallelism"` strategy is used, which will try to evaluate as many sequences in parallel as possible,
|
|
97
|
+
* but at some point, it'll have to choose which sequences to evaluate more tokens of, so it'll prioritize the sequences with the
|
|
98
|
+
* highest evaluation priority.
|
|
99
|
+
* Also, a custom strategy can be used to prioritize the sequences differently, but generally, the higher the evaluation priority
|
|
100
|
+
* is, the more likely and more tokens will be evaluated for that sequence in the next queued batch.
|
|
101
|
+
*/
|
|
102
|
+
evaluationPriority?: EvaluationPriority;
|
|
103
|
+
/**
|
|
104
|
+
* When the context is full, tokens will be erased based on the context shift strategy chosen.
|
|
105
|
+
* By default, the lowest priority tokens at the beginning of the context will be erased.
|
|
106
|
+
* To mark the priority of the evaluated tokens, use this option.
|
|
107
|
+
* The higher the priority is, the less likely it will be erased.
|
|
108
|
+
* The default priority is `1`.
|
|
109
|
+
*/
|
|
110
|
+
tokenPriority?: TokenPriority | TokenPriority[];
|
|
111
|
+
}): Promise<void>;
|
|
112
|
+
}
|