node-llama-cpp 3.13.0 → 3.14.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/dist/bindings/Llama.js +2 -0
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.js +5 -1
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.js +14 -14
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3ChatWrapper.js +7 -7
- package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3_1ChatWrapper.js +4 -4
- package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3_2LightweightChatWrapper.js +6 -6
- package/dist/chatWrappers/Llama3_2LightweightChatWrapper.js.map +1 -1
- package/dist/evaluator/LlamaRankingContext.d.ts +17 -2
- package/dist/evaluator/LlamaRankingContext.js +49 -29
- package/dist/evaluator/LlamaRankingContext.js.map +1 -1
- package/dist/gguf/insights/GgufInsights.d.ts +5 -0
- package/dist/gguf/insights/GgufInsights.js +35 -0
- package/dist/gguf/insights/GgufInsights.js.map +1 -1
- package/dist/gguf/insights/GgufInsightsTokens.d.ts +5 -0
- package/dist/gguf/insights/GgufInsightsTokens.js +40 -0
- package/dist/gguf/insights/GgufInsightsTokens.js.map +1 -0
- package/dist/gguf/types/GgufMetadataTypes.d.ts +3 -2
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/parseModelUri.js +44 -3
- package/dist/utils/parseModelUri.js.map +1 -1
- package/dist/utils/signalSleep.d.ts +1 -0
- package/dist/utils/signalSleep.js +20 -0
- package/dist/utils/signalSleep.js.map +1 -0
- package/dist/utils/tokenizerUtils.js +4 -0
- package/dist/utils/tokenizerUtils.js.map +1 -1
- package/llama/addon/globals/getGpuInfo.cpp +4 -3
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/vulkan-gpu-info.cpp +95 -2
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +14 -14
|
@@ -16,12 +16,12 @@ export class Llama3_2LightweightChatWrapper extends ChatWrapper {
|
|
|
16
16
|
optionalPrefixSpace: true,
|
|
17
17
|
prefix: '{"name": "',
|
|
18
18
|
paramsPrefix: '", "parameters": ',
|
|
19
|
-
suffix: LlamaText("}", new
|
|
19
|
+
suffix: LlamaText("}", new SpecialTokensText("<|eot_id|>")),
|
|
20
20
|
emptyCallParamsPlaceholder: {}
|
|
21
21
|
},
|
|
22
22
|
result: {
|
|
23
|
-
prefix: LlamaText(new
|
|
24
|
-
suffix: LlamaText(new
|
|
23
|
+
prefix: LlamaText(new SpecialTokensText("<|eot_id|><|start_header_id|>ipython<|end_header_id|>\n\n")),
|
|
24
|
+
suffix: LlamaText(new SpecialTokensText("<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"))
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -121,14 +121,14 @@ export class Llama3_2LightweightChatWrapper extends ChatWrapper {
|
|
|
121
121
|
res.push(LlamaText([
|
|
122
122
|
new SpecialTokensText("<|start_header_id|>system<|end_header_id|>\n\n"),
|
|
123
123
|
item.system,
|
|
124
|
-
new
|
|
124
|
+
new SpecialTokensText("<|eot_id|>")
|
|
125
125
|
]));
|
|
126
126
|
}
|
|
127
127
|
if (item.user != null) {
|
|
128
128
|
res.push(LlamaText([
|
|
129
129
|
new SpecialTokensText("<|start_header_id|>user<|end_header_id|>\n\n"),
|
|
130
130
|
item.user,
|
|
131
|
-
new
|
|
131
|
+
new SpecialTokensText("<|eot_id|>")
|
|
132
132
|
]));
|
|
133
133
|
}
|
|
134
134
|
if (item.model != null) {
|
|
@@ -137,7 +137,7 @@ export class Llama3_2LightweightChatWrapper extends ChatWrapper {
|
|
|
137
137
|
item.model,
|
|
138
138
|
isLastItem
|
|
139
139
|
? LlamaText([])
|
|
140
|
-
: new
|
|
140
|
+
: new SpecialTokensText("<|eot_id|>")
|
|
141
141
|
]));
|
|
142
142
|
}
|
|
143
143
|
return LlamaText(res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Llama3_2LightweightChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3_2LightweightChatWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAqC,MAAM,mBAAmB,CAAC;AAKlF,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAC,wCAAwC,EAAC,MAAM,qDAAqD,CAAC;AAC7G,OAAO,EAAC,0BAA0B,EAAC,MAAM,uCAAuC,CAAC;AAEjF,+EAA+E;AAC/E,MAAM,OAAO,8BAA+B,SAAQ,WAAW;IAC3C,WAAW,GAAW,uBAAuB,CAAC;IAE9C,oBAAoB,CAA8B;IAClD,SAAS,CAA6B;IACtC,kBAAkB,CAAU;IAE5C,gBAAgB,CAAkB,6BAA6B,CAAU;IAEhD,QAAQ,GAAwB;QACrD,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE;YACP,IAAI,EAAE;gBACF,mBAAmB,EAAE,IAAI;gBACzB,MAAM,EAAE,YAAY;gBACpB,YAAY,EAAE,mBAAmB;gBACjC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Llama3_2LightweightChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3_2LightweightChatWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@ import type { LlamaModel } from "./LlamaModel/LlamaModel.js";
|
|
|
5
5
|
export type LlamaRankingContextOptions = {
|
|
6
6
|
/**
|
|
7
7
|
* The number of tokens the model can see at once.
|
|
8
|
-
* - **`"auto"`** - adapt to the current VRAM state and
|
|
8
|
+
* - **`"auto"`** - adapt to the current VRAM state and attempt to set the context size as high as possible up to the size
|
|
9
9
|
* the model was trained on.
|
|
10
10
|
* - **`number`** - set the context size to a specific number of tokens.
|
|
11
11
|
* If there's not enough VRAM, an error will be thrown.
|
|
12
12
|
* Use with caution.
|
|
13
|
-
* - **`{min?: number, max?: number}`** - adapt to the current VRAM state and
|
|
13
|
+
* - **`{min?: number, max?: number}`** - adapt to the current VRAM state and attempt to set the context size as high as possible
|
|
14
14
|
* up to the size the model was trained on, but at least `min` and at most `max`.
|
|
15
15
|
*
|
|
16
16
|
* Defaults to `"auto"`.
|
|
@@ -28,6 +28,21 @@ export type LlamaRankingContextOptions = {
|
|
|
28
28
|
threads?: number;
|
|
29
29
|
/** An abort signal to abort the context creation */
|
|
30
30
|
createSignal?: AbortSignal;
|
|
31
|
+
/**
|
|
32
|
+
* The template to use for the ranking evaluation.
|
|
33
|
+
* If not provided, the model's template will be used by default.
|
|
34
|
+
*
|
|
35
|
+
* The template is tokenized with special tokens enabled, but the provided query and document are not.
|
|
36
|
+
*
|
|
37
|
+
* **<span v-pre>`{{query}}`</span>** is replaced with the query content.
|
|
38
|
+
*
|
|
39
|
+
* **<span v-pre>`{{document}}`</span>** is replaced with the document content.
|
|
40
|
+
*
|
|
41
|
+
* It's recommended to not set this option unless you know what you're doing.
|
|
42
|
+
*
|
|
43
|
+
* Defaults to the model's template.
|
|
44
|
+
*/
|
|
45
|
+
template?: `${string}{{query}}${string}{{document}}${string}` | `${string}{{document}}${string}{{query}}${string}`;
|
|
31
46
|
/**
|
|
32
47
|
* Ignore insufficient memory errors and continue with the context creation.
|
|
33
48
|
* Can cause the process to crash if there's not enough VRAM for the new context.
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { AsyncDisposeAggregator, EventRelay, withLock } from "lifecycle-utils";
|
|
1
|
+
import { AsyncDisposeAggregator, EventRelay, splitText, withLock } from "lifecycle-utils";
|
|
2
2
|
import { tokenizeInput } from "../utils/tokenizeInput.js";
|
|
3
|
+
import { resolveBeginningTokenToPrepend, resolveEndTokenToAppend } from "../utils/tokenizerUtils.js";
|
|
4
|
+
import { isRankingTemplateValid, parseRankingTemplate } from "../gguf/insights/GgufInsights.js";
|
|
3
5
|
/**
|
|
4
6
|
* @see [Reranking Documents](https://node-llama-cpp.withcat.ai/guide/embedding#reranking) tutorial
|
|
5
7
|
*/
|
|
6
8
|
export class LlamaRankingContext {
|
|
7
9
|
/** @internal */ _llamaContext;
|
|
10
|
+
/** @internal */ _template;
|
|
8
11
|
/** @internal */ _sequence;
|
|
9
12
|
/** @internal */ _disposeAggregator = new AsyncDisposeAggregator();
|
|
10
13
|
onDispose = new EventRelay();
|
|
11
|
-
constructor({ _llamaContext }) {
|
|
14
|
+
constructor({ _llamaContext, _template }) {
|
|
12
15
|
this._llamaContext = _llamaContext;
|
|
16
|
+
this._template = _template;
|
|
13
17
|
this._sequence = this._llamaContext.getSequence();
|
|
14
18
|
this._disposeAggregator.add(this._llamaContext.onDispose.createListener(() => {
|
|
15
19
|
void this._disposeAggregator.dispose();
|
|
@@ -26,8 +30,6 @@ export class LlamaRankingContext {
|
|
|
26
30
|
* @returns a ranking score between 0 and 1 representing the probability that the document is relevant to the query.
|
|
27
31
|
*/
|
|
28
32
|
async rank(query, document) {
|
|
29
|
-
if (this.model.tokens.bos == null || this.model.tokens.eos == null || this.model.tokens.sep == null)
|
|
30
|
-
throw new Error("Computing rankings is not supported for this model.");
|
|
31
33
|
const resolvedInput = this._getEvaluationInput(query, document);
|
|
32
34
|
if (resolvedInput.length > this._llamaContext.contextSize)
|
|
33
35
|
throw new Error("The input length exceed the context size. " +
|
|
@@ -78,19 +80,41 @@ export class LlamaRankingContext {
|
|
|
78
80
|
}
|
|
79
81
|
/** @internal */
|
|
80
82
|
_getEvaluationInput(query, document) {
|
|
81
|
-
if (this.
|
|
83
|
+
if (this._template != null) {
|
|
84
|
+
const resolvedInput = splitText(this._template, ["{{query}}", "{{document}}"])
|
|
85
|
+
.flatMap((item) => {
|
|
86
|
+
if (typeof item === "string")
|
|
87
|
+
return this._llamaContext.model.tokenize(item, true, "trimLeadingSpace");
|
|
88
|
+
else if (item.separator === "{{query}}")
|
|
89
|
+
return tokenizeInput(query, this._llamaContext.model.tokenizer, "trimLeadingSpace", false);
|
|
90
|
+
else if (item.separator === "{{document}}")
|
|
91
|
+
return tokenizeInput(document, this._llamaContext.model.tokenizer, "trimLeadingSpace", false);
|
|
92
|
+
else
|
|
93
|
+
void item;
|
|
94
|
+
void item;
|
|
95
|
+
return [];
|
|
96
|
+
});
|
|
97
|
+
const beginningTokens = resolveBeginningTokenToPrepend(this.model.vocabularyType, this.model.tokens);
|
|
98
|
+
const endToken = resolveEndTokenToAppend(this.model.vocabularyType, this.model.tokens);
|
|
99
|
+
if (beginningTokens != null && resolvedInput.at(0) !== beginningTokens)
|
|
100
|
+
resolvedInput.unshift(beginningTokens);
|
|
101
|
+
if (endToken != null && resolvedInput.at(-1) !== endToken)
|
|
102
|
+
resolvedInput.unshift(endToken);
|
|
103
|
+
return resolvedInput;
|
|
104
|
+
}
|
|
105
|
+
if (this.model.tokens.eos == null && this.model.tokens.sep == null)
|
|
82
106
|
throw new Error("Computing rankings is not supported for this model.");
|
|
83
107
|
const resolvedQuery = tokenizeInput(query, this._llamaContext.model.tokenizer, "trimLeadingSpace", false);
|
|
84
108
|
const resolvedDocument = tokenizeInput(document, this._llamaContext.model.tokenizer, "trimLeadingSpace", false);
|
|
85
109
|
if (resolvedQuery.length === 0 && resolvedDocument.length === 0)
|
|
86
110
|
return [];
|
|
87
111
|
const resolvedInput = [
|
|
88
|
-
this.model.tokens.bos,
|
|
112
|
+
...(this.model.tokens.bos == null ? [] : [this.model.tokens.bos]),
|
|
89
113
|
...resolvedQuery,
|
|
90
|
-
this.model.tokens.eos,
|
|
91
|
-
this.model.tokens.sep,
|
|
114
|
+
...(this.model.tokens.eos == null ? [] : [this.model.tokens.eos]),
|
|
115
|
+
...(this.model.tokens.sep == null ? [] : [this.model.tokens.sep]),
|
|
92
116
|
...resolvedDocument,
|
|
93
|
-
this.model.tokens.eos
|
|
117
|
+
...(this.model.tokens.eos == null ? [] : [this.model.tokens.eos])
|
|
94
118
|
];
|
|
95
119
|
return resolvedInput;
|
|
96
120
|
}
|
|
@@ -117,18 +141,22 @@ export class LlamaRankingContext {
|
|
|
117
141
|
});
|
|
118
142
|
}
|
|
119
143
|
/** @internal */
|
|
120
|
-
static async _create({ _model }, { contextSize, batchSize, threads = 6, createSignal, ignoreMemorySafetyChecks }) {
|
|
121
|
-
const
|
|
122
|
-
if (_model.tokens.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
144
|
+
static async _create({ _model }, { contextSize, batchSize, threads = 6, createSignal, template, ignoreMemorySafetyChecks }) {
|
|
145
|
+
const resolvedTemplate = template ?? parseRankingTemplate(_model.fileInfo.metadata?.tokenizer?.["chat_template.rerank"]);
|
|
146
|
+
if (_model.tokens.eos == null && _model.tokens.sep == null) {
|
|
147
|
+
if (!isRankingTemplateValid(resolvedTemplate)) {
|
|
148
|
+
if (resolvedTemplate === _model.fileInfo.metadata?.tokenizer?.["chat_template.rerank"])
|
|
149
|
+
throw new Error("The model's builtin template is invalid. It must contain both {query} and {document} placeholders.");
|
|
150
|
+
else
|
|
151
|
+
throw new Error("The provided template is invalid. It must contain both {{query}} and {{document}} placeholders.");
|
|
152
|
+
}
|
|
153
|
+
else if (resolvedTemplate == null)
|
|
154
|
+
throw new Error("Computing rankings is not supported for this model.");
|
|
155
|
+
}
|
|
130
156
|
if (_model.fileInsights.hasEncoder && _model.fileInsights.hasDecoder)
|
|
131
157
|
throw new Error("Computing rankings is not supported for encoder-decoder models.");
|
|
158
|
+
if (!_model.fileInsights.supportsRanking)
|
|
159
|
+
throw new Error("Computing rankings is not supported for this model.");
|
|
132
160
|
const llamaContext = await _model.createContext({
|
|
133
161
|
contextSize,
|
|
134
162
|
batchSize,
|
|
@@ -139,19 +167,11 @@ export class LlamaRankingContext {
|
|
|
139
167
|
_ranking: true
|
|
140
168
|
});
|
|
141
169
|
return new LlamaRankingContext({
|
|
142
|
-
_llamaContext: llamaContext
|
|
170
|
+
_llamaContext: llamaContext,
|
|
171
|
+
_template: resolvedTemplate
|
|
143
172
|
});
|
|
144
173
|
}
|
|
145
174
|
}
|
|
146
|
-
function findLayer(tensorInfo, name, suffix) {
|
|
147
|
-
if (tensorInfo == null)
|
|
148
|
-
return undefined;
|
|
149
|
-
for (const tensor of tensorInfo) {
|
|
150
|
-
if (tensor.name === name + "." + suffix)
|
|
151
|
-
return tensor;
|
|
152
|
-
}
|
|
153
|
-
return undefined;
|
|
154
|
-
}
|
|
155
175
|
function logitToSigmoid(logit) {
|
|
156
176
|
return 1 / (1 + Math.exp(-logit));
|
|
157
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaRankingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaRankingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaRankingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaRankingContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Llama } from "../../bindings/Llama.js";
|
|
2
2
|
import { GgufFileInfo } from "../types/GgufFileInfoTypes.js";
|
|
3
3
|
import { GgufInsightsConfigurationResolver } from "./GgufInsightsConfigurationResolver.js";
|
|
4
|
+
import { GgufInsightsTokens } from "./GgufInsightsTokens.js";
|
|
4
5
|
export type GgufInsightsResourceRequirements = {
|
|
5
6
|
cpuRam: number;
|
|
6
7
|
gpuVram: number;
|
|
@@ -15,6 +16,7 @@ export declare class GgufInsights {
|
|
|
15
16
|
getWarnings(modelFilePath?: string): string[];
|
|
16
17
|
get ggufFileInfo(): GgufFileInfo;
|
|
17
18
|
get configurationResolver(): GgufInsightsConfigurationResolver;
|
|
19
|
+
get tokens(): GgufInsightsTokens;
|
|
18
20
|
/** The context size the model was trained on */
|
|
19
21
|
get trainContextSize(): number | undefined;
|
|
20
22
|
/** The size of an embedding vector the model can produce */
|
|
@@ -25,6 +27,7 @@ export declare class GgufInsights {
|
|
|
25
27
|
get hasEncoder(): boolean;
|
|
26
28
|
get hasDecoder(): boolean;
|
|
27
29
|
get isRecurrent(): boolean;
|
|
30
|
+
get supportsRanking(): boolean;
|
|
28
31
|
/**
|
|
29
32
|
* The size of the SWA (Sliding Window Attention).
|
|
30
33
|
*
|
|
@@ -60,3 +63,5 @@ export declare class GgufInsights {
|
|
|
60
63
|
*/
|
|
61
64
|
static from(ggufFileInfo: GgufFileInfo, llama?: Llama): Promise<GgufInsights>;
|
|
62
65
|
}
|
|
66
|
+
export declare function parseRankingTemplate(template: string | undefined | null): string | undefined;
|
|
67
|
+
export declare function isRankingTemplateValid(template: string | undefined | null): boolean;
|
|
@@ -3,17 +3,21 @@ import { getDefaultContextBatchSize, getDefaultContextSequences } from "../../ev
|
|
|
3
3
|
import { GgufArchitectureType } from "../types/GgufMetadataTypes.js";
|
|
4
4
|
import { getReadablePath } from "../../cli/utils/getReadablePath.js";
|
|
5
5
|
import { GgufInsightsConfigurationResolver } from "./GgufInsightsConfigurationResolver.js";
|
|
6
|
+
import { GgufInsightsTokens } from "./GgufInsightsTokens.js";
|
|
6
7
|
export class GgufInsights {
|
|
7
8
|
/** @internal */ _llama;
|
|
8
9
|
/** @internal */ _modelSize;
|
|
9
10
|
/** @internal */ _totalFileLayers = null;
|
|
11
|
+
/** @internal */ _supportsRanking;
|
|
10
12
|
/** @internal */ _ggufFileInfo;
|
|
11
13
|
/** @internal */ _configurationResolver;
|
|
14
|
+
/** @internal */ _tokens;
|
|
12
15
|
constructor(ggufFileInfo, llama) {
|
|
13
16
|
this._llama = llama;
|
|
14
17
|
this._ggufFileInfo = ggufFileInfo;
|
|
15
18
|
this._modelSize = calculateTensorsSize(ggufFileInfo.fullTensorInfo ?? [], llama, true, true);
|
|
16
19
|
this._configurationResolver = GgufInsightsConfigurationResolver._create(this);
|
|
20
|
+
this._tokens = GgufInsightsTokens._create(this);
|
|
17
21
|
}
|
|
18
22
|
/**
|
|
19
23
|
* Get warnings about the model file that would affect its usage.
|
|
@@ -40,6 +44,9 @@ export class GgufInsights {
|
|
|
40
44
|
get configurationResolver() {
|
|
41
45
|
return this._configurationResolver;
|
|
42
46
|
}
|
|
47
|
+
get tokens() {
|
|
48
|
+
return this._tokens;
|
|
49
|
+
}
|
|
43
50
|
/** The context size the model was trained on */
|
|
44
51
|
get trainContextSize() {
|
|
45
52
|
return this._ggufFileInfo.architectureMetadata.context_length;
|
|
@@ -98,6 +105,24 @@ export class GgufInsights {
|
|
|
98
105
|
}
|
|
99
106
|
return false;
|
|
100
107
|
}
|
|
108
|
+
get supportsRanking() {
|
|
109
|
+
if (this._supportsRanking != null)
|
|
110
|
+
return this._supportsRanking;
|
|
111
|
+
const layers = this._ggufFileInfo.fullTensorInfo ?? [];
|
|
112
|
+
for (let i = layers.length - 1; i >= 0; i--) {
|
|
113
|
+
const tensor = layers[i];
|
|
114
|
+
if (tensor == null)
|
|
115
|
+
continue;
|
|
116
|
+
if (tensor.name === "cls.weight" || tensor.name === "cls.output.weight") {
|
|
117
|
+
this._supportsRanking = this.tokens.sepToken != null || this.tokens.eosToken != null ||
|
|
118
|
+
isRankingTemplateValid(parseRankingTemplate(this._ggufFileInfo.metadata?.tokenizer?.["chat_template.rerank"]));
|
|
119
|
+
this._supportsRanking &&= !(this.hasEncoder && this.hasDecoder); // encoder-decoder models are not supported
|
|
120
|
+
return this._supportsRanking;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this._supportsRanking = false;
|
|
124
|
+
return this._supportsRanking;
|
|
125
|
+
}
|
|
101
126
|
/**
|
|
102
127
|
* The size of the SWA (Sliding Window Attention).
|
|
103
128
|
*
|
|
@@ -601,4 +626,14 @@ function getSwaPatternForArchitecture(architecture) {
|
|
|
601
626
|
}
|
|
602
627
|
return 1;
|
|
603
628
|
}
|
|
629
|
+
export function parseRankingTemplate(template) {
|
|
630
|
+
if (template == null)
|
|
631
|
+
return undefined;
|
|
632
|
+
return template
|
|
633
|
+
.replaceAll("{query}", "{{query}}")
|
|
634
|
+
.replaceAll("{document}", "{{document}}");
|
|
635
|
+
}
|
|
636
|
+
export function isRankingTemplateValid(template) {
|
|
637
|
+
return template != null && template.includes("{{query}}") && template.includes("{{document}}");
|
|
638
|
+
}
|
|
604
639
|
//# sourceMappingURL=GgufInsights.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GgufInsights.js","sourceRoot":"","sources":["../../../src/gguf/insights/GgufInsights.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GgufInsights.js","sourceRoot":"","sources":["../../../src/gguf/insights/GgufInsights.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class GgufInsightsTokens {
|
|
2
|
+
/** @internal */ _ggufInsights;
|
|
3
|
+
constructor(ggufInsights) {
|
|
4
|
+
this._ggufInsights = ggufInsights;
|
|
5
|
+
}
|
|
6
|
+
get sepToken() {
|
|
7
|
+
const tokenizerModel = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.model;
|
|
8
|
+
const totalTokens = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.tokens?.length;
|
|
9
|
+
let sepTokenId = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.["seperator_token_id"];
|
|
10
|
+
if (sepTokenId == null && tokenizerModel === "bert") {
|
|
11
|
+
sepTokenId = 102; // source: `llama_vocab::impl::load` in `llama-vocab.cpp`
|
|
12
|
+
}
|
|
13
|
+
if (totalTokens != null && sepTokenId != null && sepTokenId >= totalTokens)
|
|
14
|
+
return null;
|
|
15
|
+
return sepTokenId ?? null;
|
|
16
|
+
}
|
|
17
|
+
get eosToken() {
|
|
18
|
+
const tokenizerModel = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.model;
|
|
19
|
+
const totalTokens = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.tokens?.length;
|
|
20
|
+
const eosTokenId = this._ggufInsights._ggufFileInfo?.metadata?.tokenizer?.ggml?.["eos_token_id"];
|
|
21
|
+
if (eosTokenId != null && totalTokens != null && eosTokenId < totalTokens)
|
|
22
|
+
return eosTokenId;
|
|
23
|
+
switch (tokenizerModel) {
|
|
24
|
+
case "no_vocab": return null;
|
|
25
|
+
case "none": return null;
|
|
26
|
+
case "bert": return null;
|
|
27
|
+
case "rwkv": return null;
|
|
28
|
+
case "llama": return 2;
|
|
29
|
+
case "gpt2": return 11;
|
|
30
|
+
case "t5": return 1;
|
|
31
|
+
case "plamo2": return 2;
|
|
32
|
+
}
|
|
33
|
+
return 2; // source: `llama_vocab::impl::load` in `llama-vocab.cpp`
|
|
34
|
+
}
|
|
35
|
+
/** @internal */
|
|
36
|
+
static _create(ggufInsights) {
|
|
37
|
+
return new GgufInsightsTokens(ggufInsights);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=GgufInsightsTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GgufInsightsTokens.js","sourceRoot":"","sources":["../../../src/gguf/insights/GgufInsightsTokens.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IAC3B,gBAAgB,CAAkB,aAAa,CAAe;IAE9D,YAAoB,YAA0B;QAC1C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,IAAW,QAAQ;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;QAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAEhG,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC;QACrG,IAAI,UAAU,IAAI,IAAI,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAClD,UAAU,GAAG,GAAG,CAAC,CAAC,yDAAyD;QAC/E,CAAC;QAED,IAAI,WAAW,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,WAAW;YACtE,OAAO,IAAI,CAAC;QAEhB,OAAO,UAAU,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;QAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAEhG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;QACjG,IAAI,UAAU,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,UAAU,GAAG,WAAW;YACrE,OAAO,UAAU,CAAC;QAEtB,QAAQ,cAAc,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;YAC7B,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;YACzB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;YACzB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;YACzB,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YACvB,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,yDAAyD;IACvE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,OAAO,CAAC,YAA0B;QAC5C,OAAO,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;CACJ"}
|
|
@@ -238,7 +238,7 @@ export declare const enum GgufMetadataTokenizerTokenType {
|
|
|
238
238
|
}
|
|
239
239
|
export type GgufMetadataTokenizer = {
|
|
240
240
|
readonly ggml: {
|
|
241
|
-
readonly model: "no_vocab" | "llama" | "gpt2" | "bert" | string;
|
|
241
|
+
readonly model: "no_vocab" | "none" | "llama" | "gpt2" | "bert" | "rwkv" | "t5" | "plamo2" | string;
|
|
242
242
|
readonly pre?: "default" | "llama3" | "llama-v3" | "llama-bpe" | "deepseek-llm" | "deepseek-coder" | "falcon" | "falcon3" | "pixtral" | "mpt" | "starcoder" | "gpt-2" | "phi-2" | "jina-es" | "jina-de" | "jina-v1-en" | "jina-v2-es" | "jina-v2-de" | "jina-v2-code" | "refact" | "command-r" | "qwen2" | "stablelm2" | "olmo" | "dbrx" | "smaug-bpe" | "poro-chat" | "chatglm-bpe" | "viking" | "jais" | "tekken" | "smollm" | "codeshell" | "bloom" | "gpt3-finnish" | "exaone" | "exaone4" | "chameleon" | "minerva-7b" | "megrez" | "gpt-4o" | "superbpe" | "trillion" | "bailingmoe" | "a.x-4.0" | "mellum" | string;
|
|
243
243
|
readonly tokens: readonly string[];
|
|
244
244
|
readonly token_type: GgufMetadataTokenizerTokenType[];
|
|
@@ -250,7 +250,7 @@ export type GgufMetadataTokenizer = {
|
|
|
250
250
|
readonly eot_token_id?: number;
|
|
251
251
|
readonly eom_token_id?: number;
|
|
252
252
|
readonly unknown_token_id?: number;
|
|
253
|
-
readonly
|
|
253
|
+
readonly seperator_token_id?: number;
|
|
254
254
|
readonly padding_token_id?: number;
|
|
255
255
|
readonly cls_token_id?: number;
|
|
256
256
|
readonly mask_token_id?: number;
|
|
@@ -275,6 +275,7 @@ export type GgufMetadataTokenizer = {
|
|
|
275
275
|
readonly json?: string;
|
|
276
276
|
};
|
|
277
277
|
readonly chat_template?: string;
|
|
278
|
+
readonly "chat_template.rerank"?: string;
|
|
278
279
|
};
|
|
279
280
|
export declare const enum GgufMetadataArchitecturePoolingType {
|
|
280
281
|
unspecified = -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GgufMetadataTypes.js","sourceRoot":"","sources":["../../../src/gguf/types/GgufMetadataTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAkB,oBA2FjB;AA3FD,WAAkB,oBAAoB;IAClC,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,mCAAW,CAAA;IACX,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,gDAAwB,CAAA;IACxB,uDAA+B,CAAA;IAC/B,4CAAoB,CAAA;IACpB,mDAA2B,CAAA;IAC3B,uCAAe,CAAA;IACf,6CAAqB,CAAA;IACrB,qCAAa,CAAA;IACb,uCAAe,CAAA;IACf,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,6CAAqB,CAAA;IACrB,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,yCAAiB,CAAA;IACjB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,+CAAuB,CAAA;IACvB,uCAAe,CAAA;IACf,+CAAuB,CAAA;IACvB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,iDAAyB,CAAA;IACzB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,uCAAe,CAAA;IACf,8CAAsB,CAAA;IACtB,yCAAiB,CAAA;IACjB,8CAAsB,CAAA;IACtB,2CAAmB,CAAA;IACnB,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,uCAAe,CAAA;IACf,uCAAe,CAAA;IACf,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,2CAAmB,CAAA;IACnB,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,iCAAS,CAAA;IACT,+CAAuB,CAAA;IACvB,qCAAa,CAAA;IACb,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,iDAAyB,CAAA;IACzB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,iDAAyB,CAAA;IACzB,uDAA+B,CAAA;IAC/B,+CAAuB,CAAA;IACvB,4DAAoC,CAAA;IACpC,mCAAW,CAAA;IACX,iDAAyB,CAAA;IACzB,uCAAe,CAAA;IACf,uCAAe,CAAA;IACf,6CAAqB,CAAA;IACrB,oDAA4B,CAAA;IAC5B,kDAA0B,CAAA;IAC1B,sDAA8B,CAAA;IAC9B,2CAAmB,CAAA;IACnB,0CAAkB,CAAA;IAClB,qCAAa,CAAA;IACb,uCAAe,CAAA;IACf,qDAA6B,CAAA;IAC7B,uCAAe,CAAA;IACf,qCAAa,CAAA;IACb,6CAAqB,CAAA;AACzB,CAAC,EA3FiB,oBAAoB,KAApB,oBAAoB,QA2FrC;AA8BD,yEAAyE;AACzE,MAAM,CAAN,IAAY,YAwCX;AAxCD,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,2DAAc,CAAA;IACd,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,+EAAwB,CAAA;IACxB,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,8DAAgB,CAAA;IAChB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,8DAAgB,CAAA;IAChB,oEAAmB,CAAA;IACnB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,kEAAkB,CAAA;IAClB,oEAAmB,CAAA;IACnB,gEAAiB,CAAA;IACjB,kEAAkB,CAAA;IAClB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,kEAAkB,CAAA;IAClB,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,sEAAoB,CAAA;IACpB,sEAAoB,CAAA;IACpB,sEAAoB,CAAA;IACpB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,wEAAqB,CAAA;AACzB,CAAC,EAxCW,YAAY,KAAZ,YAAY,QAwCvB;AA2FD,MAAM,CAAN,IAAkB,8BAQjB;AARD,WAAkB,8BAA8B;IAC5C,6FAAa,CAAA;IACb,uFAAU,CAAA;IACV,yFAAW,CAAA;IACX,yFAAW,CAAA;IACX,iGAAe,CAAA;IACf,uFAAU,CAAA;IACV,mFAAQ,CAAA;AACZ,CAAC,EARiB,8BAA8B,KAA9B,8BAA8B,QAQ/C;
|
|
1
|
+
{"version":3,"file":"GgufMetadataTypes.js","sourceRoot":"","sources":["../../../src/gguf/types/GgufMetadataTypes.ts"],"names":[],"mappings":"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"}
|