node-llama-cpp 2.8.4 → 3.0.0-beta.2
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 +2 -2
- package/dist/ChatWrapper.d.ts +49 -0
- package/dist/ChatWrapper.js +120 -0
- package/dist/ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
- package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
- package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/FalconChatWrapper.js +104 -0
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
- package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +13 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +55 -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/ChatCommand.d.ts +2 -1
- package/dist/cli/commands/ChatCommand.js +90 -42
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +20 -12
- package/dist/index.js +19 -11
- package/dist/index.js.map +1 -1
- package/dist/llamaEvaluator/LlamaBins.d.ts +18 -4
- package/dist/llamaEvaluator/LlamaBins.js +3 -3
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.d.ts +175 -0
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.js +704 -0
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +21 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js +120 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +117 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.d.ts +146 -0
- package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js +211 -0
- package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.d.ts +107 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js +597 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/types.d.ts +86 -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 +9 -13
- package/dist/llamaEvaluator/LlamaGrammar.js +10 -15
- package/dist/llamaEvaluator/LlamaGrammar.js.map +1 -1
- 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/LlamaJsonSchemaGrammar.js +2 -1
- package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +1 -1
- package/dist/llamaEvaluator/LlamaModel.d.ts +101 -105
- package/dist/llamaEvaluator/LlamaModel.js +305 -57
- package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
- package/dist/types.d.ts +44 -4
- package/dist/types.js +5 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +42 -0
- package/dist/utils/LlamaText.js +207 -0
- package/dist/utils/LlamaText.js.map +1 -0
- package/dist/utils/ReplHistory.js +1 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/StopGenerationDetector.d.ts +28 -0
- package/dist/utils/StopGenerationDetector.js +205 -0
- package/dist/utils/StopGenerationDetector.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.d.ts +30 -0
- package/dist/utils/TokenStreamRegulator.js +96 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -0
- package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
- package/dist/utils/appendUserMessageToChatHistory.js +18 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
- package/dist/utils/compareTokens.d.ts +2 -0
- package/dist/utils/compareTokens.js +4 -0
- package/dist/utils/compareTokens.js.map +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
- package/dist/utils/gbnfJson/types.d.ts +1 -1
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getBin.d.ts +71 -38
- package/dist/utils/getBin.js.map +1 -1
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/getReleaseInfo.d.ts +1 -1
- package/dist/utils/getReleaseInfo.js.map +1 -1
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.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/dist/utils/resolveChatWrapper.d.ts +4 -0
- package/dist/utils/resolveChatWrapper.js +16 -0
- package/dist/utils/resolveChatWrapper.js.map +1 -0
- package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
- package/dist/utils/truncateTextAndRoundToWords.js +27 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
- package/llama/.clang-format +10 -9
- package/llama/addon.cpp +701 -352
- package/llama/gitRelease.bundle +0 -0
- 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/llama-addon.node +0 -0
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/package.json +24 -14
- package/dist/ChatPromptWrapper.d.ts +0 -11
- package/dist/ChatPromptWrapper.js +0 -20
- package/dist/ChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
- package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
- package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
- package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
- package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
- package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
- 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/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -23
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -47
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
- package/dist/llamaEvaluator/LlamaChatSession.d.ts +0 -122
- package/dist/llamaEvaluator/LlamaChatSession.js +0 -236
- package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext.d.ts +0 -98
- package/dist/llamaEvaluator/LlamaContext.js +0 -140
- package/dist/llamaEvaluator/LlamaContext.js.map +0 -1
- package/dist/utils/getTextCompletion.d.ts +0 -3
- package/dist/utils/getTextCompletion.js +0 -12
- package/dist/utils/getTextCompletion.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
- package/llamaBins/mac-arm64/ggml-metal.metal +0 -5820
- package/llamaBins/mac-x64/ggml-metal.metal +0 -5820
|
@@ -1,74 +1,322 @@
|
|
|
1
1
|
import process from "process";
|
|
2
2
|
import path from "path";
|
|
3
|
+
import { DisposedError, EventRelay } from "lifecycle-utils";
|
|
3
4
|
import { removeNullFields } from "../utils/removeNullFields.js";
|
|
4
|
-
import {
|
|
5
|
+
import { addonBinding, AddonModel } from "./LlamaBins.js";
|
|
5
6
|
export class LlamaModel {
|
|
6
|
-
/** @internal */
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
|
|
10
|
-
/** @internal */
|
|
11
|
-
|
|
7
|
+
/** @internal */ _model;
|
|
8
|
+
/** @internal */ _tokens;
|
|
9
|
+
/** @internal */ _filename;
|
|
10
|
+
/** @internal */ _disposedState = { disposed: false };
|
|
11
|
+
/** @internal */ _typeDescription;
|
|
12
|
+
/** @internal */ _trainContextSize;
|
|
13
|
+
onDispose = new EventRelay();
|
|
12
14
|
/**
|
|
13
15
|
* > options source:
|
|
14
16
|
* > [github:ggerganov/llama.cpp/llama.h](
|
|
15
|
-
* > https://github.com/ggerganov/llama.cpp/blob/
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
26
|
-
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
27
|
-
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
28
|
-
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
29
|
-
*
|
|
30
|
-
* Set to `0` to disable.
|
|
31
|
-
* @param {number} [options.topK] - Limits the model to consider only the K most likely next tokens for sampling at each step of
|
|
32
|
-
* sequence generation.
|
|
33
|
-
* An integer number between `1` and the size of the vocabulary.
|
|
34
|
-
* Set to `0` to disable (which uses the full vocabulary).
|
|
35
|
-
*
|
|
36
|
-
* Only relevant when `temperature` is set to a value greater than 0.
|
|
37
|
-
* @param {number} [options.topP] - Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
38
|
-
* and samples the next token only from this set.
|
|
39
|
-
* A float number between `0` and `1`.
|
|
40
|
-
* Set to `1` to disable.
|
|
41
|
-
*
|
|
42
|
-
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
43
|
-
* @param {boolean} [options.logitsAll] - the llama_eval() call computes all logits, not just the last one
|
|
44
|
-
* @param {boolean} [options.vocabOnly] - only load the vocabulary, no weights
|
|
45
|
-
* @param {boolean} [options.useMmap] - use mmap if possible
|
|
46
|
-
* @param {boolean} [options.useMlock] - force system to keep model in RAM
|
|
47
|
-
* @param {boolean} [options.embedding] - embedding mode only
|
|
48
|
-
*/
|
|
49
|
-
constructor({ modelPath, seed = null, contextSize = 1024 * 4, batchSize, gpuLayers, threads = 6, temperature = 0, topK = 40, topP = 0.95, logitsAll, vocabOnly, useMmap, useMlock, embedding }) {
|
|
50
|
-
this._model = new LLAMAModel(path.resolve(process.cwd(), modelPath), removeNullFields({
|
|
17
|
+
* > https://github.com/ggerganov/llama.cpp/blob/05816027d649f977468fc804cdb54e99eac246d1/llama.h#L161) (`struct llama_model_params`)
|
|
18
|
+
* @param options
|
|
19
|
+
* @param options.modelPath - path to the model on the filesystem
|
|
20
|
+
* @param [options.gpuLayers] - number of layers to store in VRAM
|
|
21
|
+
* @param [options.vocabOnly] - only load the vocabulary, no weights
|
|
22
|
+
* @param [options.useMmap] - use mmap if possible
|
|
23
|
+
* @param [options.useMlock] - force system to keep model in RAM
|
|
24
|
+
*/
|
|
25
|
+
constructor({ modelPath, gpuLayers, vocabOnly, useMmap, useMlock }) {
|
|
26
|
+
this._model = new AddonModel(path.resolve(process.cwd(), modelPath), removeNullFields({
|
|
51
27
|
gpuLayers,
|
|
52
28
|
vocabOnly,
|
|
53
29
|
useMmap,
|
|
54
30
|
useMlock
|
|
55
31
|
}));
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
32
|
+
this._tokens = LlamaModelTokens._create(this._model, this._disposedState);
|
|
33
|
+
this._filename = path.basename(modelPath);
|
|
34
|
+
this.tokenize = this.tokenize.bind(this);
|
|
35
|
+
this.detokenize = this.detokenize.bind(this);
|
|
36
|
+
}
|
|
37
|
+
dispose() {
|
|
38
|
+
if (this._disposedState.disposed)
|
|
39
|
+
return;
|
|
40
|
+
this.onDispose.dispatchEvent();
|
|
41
|
+
this._model.dispose();
|
|
42
|
+
this._disposedState.disposed = true;
|
|
43
|
+
}
|
|
44
|
+
/** @hidden */
|
|
45
|
+
[Symbol.dispose]() {
|
|
46
|
+
this.dispose();
|
|
47
|
+
}
|
|
48
|
+
get disposed() {
|
|
49
|
+
return this._disposedState.disposed;
|
|
50
|
+
}
|
|
51
|
+
get tokens() {
|
|
52
|
+
return this._tokens;
|
|
53
|
+
}
|
|
54
|
+
get filename() {
|
|
55
|
+
return this._filename;
|
|
56
|
+
}
|
|
57
|
+
tokenize(text, specialTokens = false) {
|
|
58
|
+
this._ensureNotDisposed();
|
|
59
|
+
if (text === "")
|
|
60
|
+
return [];
|
|
61
|
+
if (specialTokens === "builtin") {
|
|
62
|
+
const builtinToken = text;
|
|
63
|
+
switch (builtinToken) {
|
|
64
|
+
case "BOS": return this.tokens.bos == null ? [] : [this.tokens.bos];
|
|
65
|
+
case "EOS": return this.tokens.eos == null ? [] : [this.tokens.eos];
|
|
66
|
+
case "NL": return this.tokens.nl == null ? [] : [this.tokens.nl];
|
|
67
|
+
}
|
|
68
|
+
void (builtinToken);
|
|
69
|
+
throw new Error(`Unknown builtin special token: ${builtinToken}`);
|
|
70
|
+
}
|
|
71
|
+
return Array.from(this._model.tokenize(text, specialTokens));
|
|
72
|
+
}
|
|
73
|
+
/** Transform tokens into text */
|
|
74
|
+
detokenize(tokens) {
|
|
75
|
+
this._ensureNotDisposed();
|
|
76
|
+
if (tokens.length === 0)
|
|
77
|
+
return "";
|
|
78
|
+
return this._model.detokenize(Uint32Array.from(tokens));
|
|
79
|
+
}
|
|
80
|
+
/** @hidden `ModelTypeDescription` type alias is too long in the documentation */
|
|
81
|
+
get typeDescription() {
|
|
82
|
+
this._ensureNotDisposed();
|
|
83
|
+
if (this._typeDescription == null)
|
|
84
|
+
this._typeDescription = this._model.getModelDescription();
|
|
85
|
+
return this._typeDescription;
|
|
86
|
+
}
|
|
87
|
+
/** The context size the model was trained on */
|
|
88
|
+
get trainContextSize() {
|
|
89
|
+
this._ensureNotDisposed();
|
|
90
|
+
if (this._trainContextSize == null)
|
|
91
|
+
this._trainContextSize = this._model.getTrainContextSize();
|
|
92
|
+
return this._trainContextSize;
|
|
93
|
+
}
|
|
94
|
+
/** @internal */
|
|
95
|
+
_ensureNotDisposed() {
|
|
96
|
+
if (this._disposedState.disposed)
|
|
97
|
+
throw new DisposedError();
|
|
69
98
|
}
|
|
70
99
|
static get systemInfo() {
|
|
71
|
-
return
|
|
100
|
+
return addonBinding.systemInfo();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export class LlamaModelTokens {
|
|
104
|
+
/** @internal */ _model;
|
|
105
|
+
/** @internal */ _disposedState;
|
|
106
|
+
/** @internal */ _infillTokens;
|
|
107
|
+
/** @internal */ _bosToken;
|
|
108
|
+
/** @internal */ _eosToken;
|
|
109
|
+
/** @internal */ _nlToken;
|
|
110
|
+
/** @internal */ _bosString;
|
|
111
|
+
/** @internal */ _eosString;
|
|
112
|
+
/** @internal */ _nlString;
|
|
113
|
+
constructor(model, disposedState) {
|
|
114
|
+
this._model = model;
|
|
115
|
+
this._disposedState = disposedState;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @returns infill tokens
|
|
119
|
+
*/
|
|
120
|
+
get infill() {
|
|
121
|
+
this._ensureNotDisposed();
|
|
122
|
+
if (this._infillTokens == null)
|
|
123
|
+
this._infillTokens = LlamaModelInfillTokens._create(this._model, this._disposedState);
|
|
124
|
+
return this._infillTokens;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @returns The BOS (Beginning Of Sequence) token.
|
|
128
|
+
*/
|
|
129
|
+
get bos() {
|
|
130
|
+
this._ensureNotDisposed();
|
|
131
|
+
if (this._bosToken == null)
|
|
132
|
+
this._bosToken = this._model.tokenBos();
|
|
133
|
+
if (this._bosToken === -1)
|
|
134
|
+
return null;
|
|
135
|
+
return this._bosToken;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @returns The EOS (End Of Sequence) token.
|
|
139
|
+
*/
|
|
140
|
+
get eos() {
|
|
141
|
+
this._ensureNotDisposed();
|
|
142
|
+
if (this._eosToken == null)
|
|
143
|
+
this._eosToken = this._model.tokenEos();
|
|
144
|
+
if (this._eosToken === -1)
|
|
145
|
+
return null;
|
|
146
|
+
return this._eosToken;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* @returns The NL (New Line) token.
|
|
150
|
+
*/
|
|
151
|
+
get nl() {
|
|
152
|
+
this._ensureNotDisposed();
|
|
153
|
+
if (this._nlToken == null)
|
|
154
|
+
this._nlToken = this._model.tokenNl();
|
|
155
|
+
if (this._nlToken === -1)
|
|
156
|
+
return null;
|
|
157
|
+
return this._nlToken;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @returns The BOS (Beginning Of Sequence) token as a string.
|
|
161
|
+
*/
|
|
162
|
+
get bosString() {
|
|
163
|
+
this._ensureNotDisposed();
|
|
164
|
+
const bosToken = this.bos;
|
|
165
|
+
if (bosToken == null)
|
|
166
|
+
return null;
|
|
167
|
+
if (this._bosString == null)
|
|
168
|
+
this._bosString = this._model.getTokenString(bosToken);
|
|
169
|
+
return this._bosString;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @returns The EOS (End Of Sequence) token as a string.
|
|
173
|
+
*/
|
|
174
|
+
get eosString() {
|
|
175
|
+
this._ensureNotDisposed();
|
|
176
|
+
const eosToken = this.eos;
|
|
177
|
+
if (eosToken == null)
|
|
178
|
+
return null;
|
|
179
|
+
if (this._eosString == null)
|
|
180
|
+
this._eosString = this._model.getTokenString(eosToken);
|
|
181
|
+
return this._eosString;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* @returns The NL (New Line) token as a string.
|
|
185
|
+
*/
|
|
186
|
+
get nlString() {
|
|
187
|
+
this._ensureNotDisposed();
|
|
188
|
+
const nlToken = this.nl;
|
|
189
|
+
if (nlToken == null)
|
|
190
|
+
return null;
|
|
191
|
+
if (this._nlString == null)
|
|
192
|
+
this._nlString = this._model.getTokenString(nlToken);
|
|
193
|
+
return this._nlString;
|
|
194
|
+
}
|
|
195
|
+
/** @internal */
|
|
196
|
+
_ensureNotDisposed() {
|
|
197
|
+
if (this._disposedState.disposed)
|
|
198
|
+
throw new DisposedError();
|
|
199
|
+
}
|
|
200
|
+
/** @internal */
|
|
201
|
+
static _create(model, disposedState) {
|
|
202
|
+
return new LlamaModelTokens(model, disposedState);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
export class LlamaModelInfillTokens {
|
|
206
|
+
/** @internal */ _model;
|
|
207
|
+
/** @internal */ _disposedState;
|
|
208
|
+
/** @internal */ _prefixToken;
|
|
209
|
+
/** @internal */ _middleToken;
|
|
210
|
+
/** @internal */ _suffixToken;
|
|
211
|
+
/** @internal */ _eotToken;
|
|
212
|
+
/** @internal */ _prefixString;
|
|
213
|
+
/** @internal */ _middleString;
|
|
214
|
+
/** @internal */ _suffixString;
|
|
215
|
+
/** @internal */ _eotString;
|
|
216
|
+
constructor(model, disposedState) {
|
|
217
|
+
this._model = model;
|
|
218
|
+
this._disposedState = disposedState;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* @returns The beginning of infill prefix token.
|
|
222
|
+
*/
|
|
223
|
+
get prefix() {
|
|
224
|
+
this._ensureNotDisposed();
|
|
225
|
+
if (this._prefixToken == null)
|
|
226
|
+
this._prefixToken = this._model.prefixToken();
|
|
227
|
+
if (this._prefixToken === -1)
|
|
228
|
+
return null;
|
|
229
|
+
return this._prefixToken;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* @returns The beginning of infill middle token.
|
|
233
|
+
*/
|
|
234
|
+
get middle() {
|
|
235
|
+
this._ensureNotDisposed();
|
|
236
|
+
if (this._middleToken == null)
|
|
237
|
+
this._middleToken = this._model.middleToken();
|
|
238
|
+
if (this._middleToken === -1)
|
|
239
|
+
return null;
|
|
240
|
+
return this._middleToken;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* @returns The beginning of infill suffix token.
|
|
244
|
+
*/
|
|
245
|
+
get suffix() {
|
|
246
|
+
this._ensureNotDisposed();
|
|
247
|
+
if (this._suffixToken == null)
|
|
248
|
+
this._suffixToken = this._model.suffixToken();
|
|
249
|
+
if (this._suffixToken === -1)
|
|
250
|
+
return null;
|
|
251
|
+
return this._suffixToken;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* @returns End of infill middle token (End Of Text).
|
|
255
|
+
*/
|
|
256
|
+
get eot() {
|
|
257
|
+
this._ensureNotDisposed();
|
|
258
|
+
if (this._eotToken == null)
|
|
259
|
+
this._eotToken = this._model.eotToken();
|
|
260
|
+
if (this._eotToken === -1)
|
|
261
|
+
return null;
|
|
262
|
+
return this._eotToken;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* @returns The beginning of infill prefix token as a string.
|
|
266
|
+
*/
|
|
267
|
+
get prefixString() {
|
|
268
|
+
this._ensureNotDisposed();
|
|
269
|
+
const prefixToken = this.prefix;
|
|
270
|
+
if (prefixToken == null)
|
|
271
|
+
return null;
|
|
272
|
+
if (this._prefixString == null)
|
|
273
|
+
this._prefixString = this._model.getTokenString(prefixToken);
|
|
274
|
+
return this._prefixString;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* @returns The beginning of infill middle token as a string.
|
|
278
|
+
*/
|
|
279
|
+
get middleString() {
|
|
280
|
+
this._ensureNotDisposed();
|
|
281
|
+
const middleToken = this.middle;
|
|
282
|
+
if (middleToken == null)
|
|
283
|
+
return null;
|
|
284
|
+
if (this._middleString == null)
|
|
285
|
+
this._middleString = this._model.getTokenString(middleToken);
|
|
286
|
+
return this._middleString;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* @returns The beginning of infill suffix token as a string.
|
|
290
|
+
*/
|
|
291
|
+
get suffixString() {
|
|
292
|
+
this._ensureNotDisposed();
|
|
293
|
+
const suffixToken = this.suffix;
|
|
294
|
+
if (suffixToken == null)
|
|
295
|
+
return null;
|
|
296
|
+
if (this._suffixString == null)
|
|
297
|
+
this._suffixString = this._model.getTokenString(suffixToken);
|
|
298
|
+
return this._suffixString;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* @returns End of infill middle token (End Of Text) as a string.
|
|
302
|
+
*/
|
|
303
|
+
get eotString() {
|
|
304
|
+
this._ensureNotDisposed();
|
|
305
|
+
const eotToken = this.eot;
|
|
306
|
+
if (eotToken == null)
|
|
307
|
+
return null;
|
|
308
|
+
if (this._eotString == null)
|
|
309
|
+
this._eotString = this._model.getTokenString(eotToken);
|
|
310
|
+
return this._eotString;
|
|
311
|
+
}
|
|
312
|
+
/** @internal */
|
|
313
|
+
_ensureNotDisposed() {
|
|
314
|
+
if (this._disposedState.disposed)
|
|
315
|
+
throw new DisposedError();
|
|
316
|
+
}
|
|
317
|
+
/** @internal */
|
|
318
|
+
static _create(model, disposedState) {
|
|
319
|
+
return new LlamaModelInfillTokens(model, disposedState);
|
|
72
320
|
}
|
|
73
321
|
}
|
|
74
322
|
//# sourceMappingURL=LlamaModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { GbnfJsonSchema, GbnfJsonSchemaToType } from "./utils/gbnfJson/types.js";
|
|
2
|
+
import { BuiltinSpecialTokenValue } from "./utils/LlamaText.js";
|
|
3
|
+
export type Token = number & {
|
|
4
|
+
__token: never;
|
|
5
5
|
};
|
|
6
|
+
export type Tokenizer = {
|
|
7
|
+
tokenize(text: string, specialTokens?: boolean): Token[];
|
|
8
|
+
tokenize(text: BuiltinSpecialTokenValue, specialTokens: "builtin"): Token[];
|
|
9
|
+
}["tokenize"];
|
|
10
|
+
export type ChatHistoryItem = ChatSystemMessage | ChatUserMessage | ChatModelResponse;
|
|
11
|
+
export type ChatSystemMessage = {
|
|
12
|
+
type: "system";
|
|
13
|
+
text: string;
|
|
14
|
+
};
|
|
15
|
+
export type ChatUserMessage = {
|
|
16
|
+
type: "user";
|
|
17
|
+
text: string;
|
|
18
|
+
};
|
|
19
|
+
export type ChatModelResponse = {
|
|
20
|
+
type: "model";
|
|
21
|
+
response: (string | ChatModelFunctionCall)[];
|
|
22
|
+
};
|
|
23
|
+
export type ChatModelFunctionCall = {
|
|
24
|
+
type: "functionCall";
|
|
25
|
+
name: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
params: any;
|
|
28
|
+
result: any;
|
|
29
|
+
raw?: string;
|
|
30
|
+
};
|
|
31
|
+
export type ChatModelFunctions = {
|
|
32
|
+
readonly [name: string]: {
|
|
33
|
+
readonly description?: string;
|
|
34
|
+
readonly params?: GbnfJsonSchema | undefined | null;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type ChatSessionModelFunctions = {
|
|
38
|
+
readonly [name: string]: ChatSessionModelFunction<any>;
|
|
39
|
+
};
|
|
40
|
+
export type ChatSessionModelFunction<Params extends GbnfJsonSchema | undefined = GbnfJsonSchema | undefined> = {
|
|
41
|
+
readonly description?: string;
|
|
42
|
+
readonly params?: Params;
|
|
43
|
+
readonly handler: (params: GbnfJsonSchemaToType<Params>) => any;
|
|
44
|
+
};
|
|
45
|
+
export declare function isChatModelResponseFunctionCall(item: ChatModelResponse["response"][number]): item is ChatModelFunctionCall;
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqDA,MAAM,UAAU,+BAA+B,CAAC,IAA2C;IACvF,IAAI,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,KAAK,CAAC;IAEjB,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Token, Tokenizer } from "../types.js";
|
|
2
|
+
export type LlamaTextClass = {
|
|
3
|
+
<const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText<V> | readonly (LlamaText<V> | V)[], ...values: readonly (V | LlamaText<V> | V2 | LlamaText<V2> | number | boolean | readonly (LlamaText<V> | V | LlamaText<V2> | V2)[])[]): LlamaText<V | V2>;
|
|
4
|
+
fromJSON(json: LlamaTextJSON): LlamaText;
|
|
5
|
+
};
|
|
6
|
+
export type LlamaText<T extends LlamaTextValue = LlamaTextValue> = {
|
|
7
|
+
<const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText | readonly (LlamaText | V)[], ...values: readonly (V | V2 | LlamaText | number | boolean | readonly (LlamaText | V | V2)[])[]): LlamaText<T | V>;
|
|
8
|
+
readonly type: "LlamaText";
|
|
9
|
+
readonly values: readonly T[];
|
|
10
|
+
mapValues<V extends LlamaTextValue = LlamaTextValue>(mapper: (value: T) => V): LlamaText<V>;
|
|
11
|
+
joinValues<V extends LlamaTextValue = LlamaTextValue>(separator: LlamaText<V> | V): LlamaText<T | V>;
|
|
12
|
+
toString(): string;
|
|
13
|
+
toJSON(): LlamaTextJSON;
|
|
14
|
+
tokenize(tokenizer: Tokenizer): Token[];
|
|
15
|
+
};
|
|
16
|
+
export type LlamaTextValue = string | SpecialToken;
|
|
17
|
+
export type LlamaTextJSON = Array<LlamaTextJSONValue>;
|
|
18
|
+
export type LlamaTextJSONValue = string | LlamaTextSpecialTokenJSON;
|
|
19
|
+
export type LlamaTextSpecialTokenJSON = {
|
|
20
|
+
type: "specialToken";
|
|
21
|
+
value: string;
|
|
22
|
+
builtin?: true;
|
|
23
|
+
};
|
|
24
|
+
export declare const LlamaText: LlamaTextClass;
|
|
25
|
+
export declare class SpecialToken {
|
|
26
|
+
readonly value: string;
|
|
27
|
+
constructor(value: string);
|
|
28
|
+
toString(): string;
|
|
29
|
+
tokenize(tokenizer: Tokenizer): Token[];
|
|
30
|
+
toJSON(): LlamaTextSpecialTokenJSON;
|
|
31
|
+
static fromJSON(json: LlamaTextSpecialTokenJSON): SpecialToken;
|
|
32
|
+
static isSpecialTokenJSON(value: LlamaTextJSONValue): value is LlamaTextSpecialTokenJSON;
|
|
33
|
+
}
|
|
34
|
+
export type BuiltinSpecialTokenValue = "BOS" | "EOS" | "NL";
|
|
35
|
+
export declare class BuiltinSpecialToken extends SpecialToken {
|
|
36
|
+
readonly value: BuiltinSpecialTokenValue;
|
|
37
|
+
constructor(value: BuiltinSpecialTokenValue);
|
|
38
|
+
tokenize(tokenizer: Tokenizer): Token[];
|
|
39
|
+
toJSON(): LlamaTextSpecialTokenJSON;
|
|
40
|
+
}
|
|
41
|
+
export declare function isLlamaText(value: unknown): value is LlamaText;
|
|
42
|
+
export declare function tokenizeText(text: string | LlamaText, tokenizer: Tokenizer): Token[];
|