node-llama-cpp 3.11.0 → 3.12.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.
Files changed (64) hide show
  1. package/README.md +1 -1
  2. package/dist/bindings/Llama.d.ts +5 -1
  3. package/dist/bindings/Llama.js +11 -1
  4. package/dist/bindings/Llama.js.map +1 -1
  5. package/dist/bindings/types.d.ts +5 -2
  6. package/dist/bindings/types.js +16 -1
  7. package/dist/bindings/types.js.map +1 -1
  8. package/dist/chatWrappers/HarmonyChatWrapper.d.ts +78 -0
  9. package/dist/chatWrappers/HarmonyChatWrapper.js +539 -0
  10. package/dist/chatWrappers/HarmonyChatWrapper.js.map +1 -0
  11. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +8 -2
  12. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  13. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +4 -2
  14. package/dist/chatWrappers/utils/resolveChatWrapper.js +21 -6
  15. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  16. package/dist/cli/commands/ChatCommand.d.ts +2 -1
  17. package/dist/cli/commands/ChatCommand.js +21 -7
  18. package/dist/cli/commands/ChatCommand.js.map +1 -1
  19. package/dist/cli/commands/CompleteCommand.d.ts +2 -1
  20. package/dist/cli/commands/CompleteCommand.js +21 -7
  21. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  22. package/dist/cli/commands/InfillCommand.d.ts +2 -1
  23. package/dist/cli/commands/InfillCommand.js +21 -7
  24. package/dist/cli/commands/InfillCommand.js.map +1 -1
  25. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +1 -0
  26. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +16 -5
  27. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  28. package/dist/cli/recommendedModels.js +22 -0
  29. package/dist/cli/recommendedModels.js.map +1 -1
  30. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +14 -0
  31. package/dist/evaluator/LlamaChat/LlamaChat.js +369 -48
  32. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  33. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +52 -2
  34. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +162 -47
  35. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  36. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +1 -0
  37. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  38. package/dist/gguf/insights/GgufInsights.js +22 -3
  39. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  40. package/dist/gguf/types/GgufMetadataTypes.d.ts +19 -2
  41. package/dist/gguf/types/GgufMetadataTypes.js +17 -0
  42. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  43. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +2 -1
  44. package/dist/gguf/types/GgufTensorInfoTypes.js +1 -0
  45. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
  46. package/dist/gguf/utils/getGgufFileTypeName.d.ts +1 -1
  47. package/dist/gguf/utils/ggufQuantNames.js +1 -0
  48. package/dist/gguf/utils/ggufQuantNames.js.map +1 -1
  49. package/dist/index.d.ts +3 -2
  50. package/dist/index.js +2 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/dist/types.d.ts +150 -3
  54. package/dist/types.js +2 -1
  55. package/dist/types.js.map +1 -1
  56. package/dist/utils/gbnfJson/types.d.ts +1 -1
  57. package/dist/utils/gbnfJson/types.js.map +1 -1
  58. package/dist/utils/getChatWrapperSegmentDefinition.js +2 -0
  59. package/dist/utils/getChatWrapperSegmentDefinition.js.map +1 -1
  60. package/llama/binariesGithubRelease.json +1 -1
  61. package/llama/gitRelease.bundle +0 -0
  62. package/llama/llama.cpp.info.json +1 -1
  63. package/package.json +18 -16
  64. package/templates/packed/electron-typescript-react.json +1 -1
@@ -0,0 +1,539 @@
1
+ import { ChatWrapper } from "../ChatWrapper.js";
2
+ import { SpecialToken, LlamaText, SpecialTokensText } from "../utils/LlamaText.js";
3
+ import { ChatModelFunctionsDocumentationGenerator } from "./utils/ChatModelFunctionsDocumentationGenerator.js";
4
+ import { jsonDumps } from "./utils/jsonDumps.js";
5
+ const defaultModelIdentity = "You are ChatGPT, a large language model trained by OpenAI.";
6
+ const defaultCuttingKnowledgeDate = new Date("2024-06-01T00:00:00Z");
7
+ const defaultReasoningEffort = "medium";
8
+ // source: https://github.com/openai/harmony, https://cookbook.openai.com/articles/openai-harmony,
9
+ // https://github.com/openai/openai-cookbook/blob/main/articles/openai-harmony.md
10
+ export class HarmonyChatWrapper extends ChatWrapper {
11
+ wrapperName = "Harmony";
12
+ modelIdentity;
13
+ cuttingKnowledgeDate;
14
+ todayDate;
15
+ reasoningEffort;
16
+ requiredChannels;
17
+ keepOnlyLastThought;
18
+ /** @internal */ _jinjaFlags;
19
+ settings = {
20
+ supportsSystemMessages: true,
21
+ functions: {
22
+ call: {
23
+ optionalPrefixSpace: true,
24
+ prefix: LlamaText(new SpecialTokensText(" to="), "functions."),
25
+ paramsPrefix: LlamaText(new SpecialTokensText("<|constrain|>json<|message|>")),
26
+ suffix: LlamaText(new SpecialTokensText("<|call|>")),
27
+ emptyCallParamsPlaceholder: {}
28
+ },
29
+ result: {
30
+ prefix: LlamaText(new SpecialTokensText("<|start|>"), "functions.{{functionName}}", new SpecialTokensText(" to=assistant<|channel|>commentary<|message|>")),
31
+ suffix: LlamaText(new SpecialTokensText("<|end|>"))
32
+ }
33
+ },
34
+ segments: {
35
+ thought: {
36
+ prefix: LlamaText(new SpecialTokensText("<|channel|>analysis<|message|>")),
37
+ suffix: LlamaText(new SpecialTokensText("<|end|>"))
38
+ },
39
+ comment: {
40
+ prefix: LlamaText(new SpecialTokensText("<|channel|>commentary<|message|>")),
41
+ suffix: LlamaText(new SpecialTokensText("<|end|>"))
42
+ }
43
+ }
44
+ };
45
+ constructor(options = {}) {
46
+ super();
47
+ const { modelIdentity = defaultModelIdentity, cuttingKnowledgeDate = defaultCuttingKnowledgeDate, todayDate = () => new Date(), reasoningEffort = defaultReasoningEffort, requiredChannels = {}, keepOnlyLastThought = true, _jinjaFlags = {} } = options;
48
+ this.modelIdentity = modelIdentity;
49
+ this.cuttingKnowledgeDate = cuttingKnowledgeDate == null
50
+ ? null
51
+ : cuttingKnowledgeDate instanceof Function
52
+ ? cuttingKnowledgeDate
53
+ : new Date(cuttingKnowledgeDate);
54
+ this.todayDate = todayDate == null
55
+ ? null
56
+ : todayDate instanceof Function
57
+ ? todayDate
58
+ : new Date(todayDate);
59
+ this.reasoningEffort = reasoningEffort;
60
+ this.requiredChannels = {
61
+ analysis: requiredChannels.analysis ?? true,
62
+ commentary: requiredChannels.commentary ?? true,
63
+ final: requiredChannels.final ?? true
64
+ };
65
+ this.keepOnlyLastThought = keepOnlyLastThought;
66
+ this._jinjaFlags = {
67
+ emptyLastModelResponseIsFinalMessage: false,
68
+ useSpecialTokensForFullSystemMessage: false,
69
+ disableNonFinalFinalMessages: false,
70
+ useNonFinalFinalMessage: false,
71
+ noFinalMessages: false,
72
+ ..._jinjaFlags
73
+ };
74
+ }
75
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
76
+ const hasFunctions = Object.keys(availableFunctions ?? {}).length > 0;
77
+ const modifiedChatHistory = chatHistory.slice();
78
+ let systemMessage = LlamaText();
79
+ if (modifiedChatHistory[0]?.type === "system") {
80
+ systemMessage = LlamaText.fromJSON(modifiedChatHistory[0].text);
81
+ modifiedChatHistory.shift();
82
+ }
83
+ const contextContent = [
84
+ this._getPreamble(hasFunctions)
85
+ ];
86
+ if (systemMessage.values.length > 0 || hasFunctions)
87
+ contextContent.push(LlamaText([
88
+ new SpecialTokensText("<|start|>developer<|message|>"),
89
+ this._getFirstDeveloperMessage(systemMessage, availableFunctions, { documentParams: documentFunctionParams }),
90
+ new SpecialTokensText("<|end|>")
91
+ ]));
92
+ let needsTriggers = true;
93
+ for (let i = 0; i < modifiedChatHistory.length; i++) {
94
+ const isLastItem = i === modifiedChatHistory.length - 1;
95
+ const item = modifiedChatHistory[i];
96
+ if (item == null)
97
+ continue;
98
+ if (item.type === "system") {
99
+ contextContent.push(LlamaText([
100
+ new SpecialTokensText("<|start|>developer<|message|>"),
101
+ LlamaText.fromJSON(item.text),
102
+ isLastItem
103
+ ? LlamaText([])
104
+ : new SpecialTokensText("<|end|>")
105
+ ]));
106
+ if (isLastItem)
107
+ needsTriggers = false;
108
+ }
109
+ else if (item.type === "user") {
110
+ contextContent.push(LlamaText([
111
+ new SpecialTokensText("<|start|>user<|message|>"),
112
+ item.text,
113
+ isLastItem
114
+ ? LlamaText([])
115
+ : new SpecialTokensText("<|end|>")
116
+ ]));
117
+ if (isLastItem)
118
+ needsTriggers = false;
119
+ }
120
+ else if (item.type === "model") {
121
+ const { res, needsTriggers: modelNeedsTriggers } = this._getModelResponse(item.response, true, isLastItem, this.keepOnlyLastThought);
122
+ if (isLastItem)
123
+ needsTriggers = modelNeedsTriggers;
124
+ contextContent.push(res);
125
+ }
126
+ else
127
+ void item;
128
+ }
129
+ const contextText = LlamaText(contextContent);
130
+ if (!needsTriggers)
131
+ return {
132
+ contextText,
133
+ stopGenerationTriggers: [
134
+ LlamaText(new SpecialToken("EOS")),
135
+ LlamaText(new SpecialTokensText("<|return|>")),
136
+ LlamaText("<|return|>")
137
+ ],
138
+ detectFunctionCalls: false,
139
+ rerender: {
140
+ triggers: [
141
+ LlamaText(new SpecialTokensText("<|end|>"))
142
+ ],
143
+ action: "closeResponseItem"
144
+ }
145
+ };
146
+ return {
147
+ contextText,
148
+ stopGenerationTriggers: [
149
+ LlamaText(new SpecialToken("EOS")),
150
+ LlamaText(new SpecialTokensText("<|return|>")),
151
+ LlamaText("<|return|>")
152
+ ],
153
+ prefixTriggers: [
154
+ {
155
+ type: "segment",
156
+ segmentType: "thought",
157
+ triggers: [
158
+ LlamaText(new SpecialTokensText("<|channel|>analysis<|message|>"))
159
+ ]
160
+ }, {
161
+ type: "segment",
162
+ segmentType: "comment",
163
+ triggers: [
164
+ // the trigger here includes the `<|message|>` part
165
+ // to not conflict with the `<|channel|>commentary to=` prefix used for function calls
166
+ LlamaText(new SpecialTokensText("<|channel|>commentary<|message|>"))
167
+ ]
168
+ }, {
169
+ type: "response",
170
+ triggers: [
171
+ LlamaText(new SpecialTokensText("<|channel|>final"))
172
+ ],
173
+ inject: LlamaText(new SpecialTokensText("<|message|>"))
174
+ },
175
+ {
176
+ type: "functionCall",
177
+ triggers: [
178
+ LlamaText(new SpecialTokensText("<|channel|>commentary to="))
179
+ ],
180
+ replaceTrigger: true,
181
+ inject: LlamaText(new SpecialTokensText("<|channel|>commentary"))
182
+ }, {
183
+ type: "functionCall",
184
+ triggers: [
185
+ LlamaText(new SpecialTokensText("<|channel|>analysis to="))
186
+ ],
187
+ replaceTrigger: true,
188
+ inject: LlamaText(new SpecialTokensText("<|channel|>analysis"))
189
+ }
190
+ ],
191
+ noPrefixTrigger: {
192
+ type: "response",
193
+ inject: LlamaText(new SpecialTokensText("<|channel|>final<|message|>"))
194
+ },
195
+ detectFunctionCalls: false,
196
+ rerender: {
197
+ triggers: [
198
+ LlamaText(new SpecialTokensText("<|end|>"))
199
+ ],
200
+ action: "closeResponseItem"
201
+ }
202
+ };
203
+ }
204
+ generateFunctionCall(name, params) {
205
+ const emptyCallParamsPlaceholder = this.settings.functions.call.emptyCallParamsPlaceholder;
206
+ return LlamaText([
207
+ new SpecialTokensText("<|start|>assistant<|channel|>commentary to="),
208
+ "functions.", name,
209
+ this.settings.functions.call.paramsPrefix,
210
+ params === undefined
211
+ ? (emptyCallParamsPlaceholder === undefined || emptyCallParamsPlaceholder === "")
212
+ ? ""
213
+ : jsonDumps(emptyCallParamsPlaceholder)
214
+ : jsonDumps(params),
215
+ this.settings.functions.call.suffix
216
+ ]);
217
+ }
218
+ generateFunctionCallResult(functionName, functionParams, result) {
219
+ return LlamaText([
220
+ new SpecialTokensText("<|start|>"),
221
+ "functions.", functionName,
222
+ new SpecialTokensText(" to=assistant<|channel|>commentary<|message|>"),
223
+ (result === undefined
224
+ ? ""
225
+ : jsonDumps(result)),
226
+ new SpecialTokensText("<|end|>")
227
+ ]);
228
+ }
229
+ generateModelResponseText(modelResponse, useRawValues = true) {
230
+ const { res } = this._getModelResponse(modelResponse, useRawValues, false, false);
231
+ const [start, ...rest] = res.values;
232
+ let newStart = start;
233
+ let newEnd = rest.pop();
234
+ if (newStart instanceof SpecialTokensText && newStart.value.startsWith("<|start|>assistant"))
235
+ newStart = new SpecialTokensText(newStart.value.slice("<|start|>assistant".length));
236
+ if (newEnd instanceof SpecialTokensText && newEnd.value.startsWith("<|end|>"))
237
+ newEnd = new SpecialTokensText(newEnd.value.slice("<|end|>".length));
238
+ else if (newEnd instanceof SpecialTokensText && newEnd.value.startsWith("<|return|>"))
239
+ newEnd = new SpecialTokensText(newEnd.value.slice("<|return|>".length));
240
+ return LlamaText([
241
+ newStart ?? [],
242
+ ...rest,
243
+ newEnd ?? []
244
+ ]);
245
+ }
246
+ generateAvailableFunctionsSystemText(availableFunctions, { documentParams = true }) {
247
+ const functionsDocumentationGenerator = new ChatModelFunctionsDocumentationGenerator(availableFunctions);
248
+ if (!functionsDocumentationGenerator.hasAnyFunctions)
249
+ return LlamaText([]);
250
+ return LlamaText.joinValues("\n", [
251
+ "# Tools",
252
+ "",
253
+ "## functions",
254
+ "",
255
+ "namespace functions {",
256
+ "",
257
+ functionsDocumentationGenerator
258
+ .getTypeScriptFunctionTypes({ documentParams })
259
+ .split("\n")
260
+ .map((line) => line.trim())
261
+ .join("\n"),
262
+ "",
263
+ "} // namespace functions"
264
+ ]);
265
+ }
266
+ /** @internal */
267
+ _getFirstDeveloperMessage(systemPrompt, availableFunctions, { documentParams = true } = {}) {
268
+ const functionsDocumentationGenerator = new ChatModelFunctionsDocumentationGenerator(availableFunctions);
269
+ if (!functionsDocumentationGenerator.hasAnyFunctions && systemPrompt.values.length === 0)
270
+ return LlamaText([]);
271
+ if (!functionsDocumentationGenerator.hasAnyFunctions)
272
+ return LlamaText([
273
+ this._jinjaFlags.useSpecialTokensForFullSystemMessage
274
+ ? new SpecialTokensText("# Instructions\n\n")
275
+ : "# Instruction\n\n",
276
+ systemPrompt
277
+ ]);
278
+ return LlamaText([
279
+ this._jinjaFlags.useSpecialTokensForFullSystemMessage
280
+ ? new SpecialTokensText("# Instructions\n\n")
281
+ : "# Instructions\n\n",
282
+ systemPrompt.values.length > 0
283
+ ? [systemPrompt, "\n\n"]
284
+ : [],
285
+ this.generateAvailableFunctionsSystemText(availableFunctions ?? {}, { documentParams })
286
+ ]);
287
+ }
288
+ /** @internal */
289
+ _getModelResponse(modelResponse, useRawValues, isLastItem, keepOnlyLastThought) {
290
+ const res = [];
291
+ let canEnableTriggers = true;
292
+ for (let index = 0; index < modelResponse.length; index++) {
293
+ const isLastResponse = index === modelResponse.length - 1;
294
+ const response = modelResponse[index];
295
+ if (response == null)
296
+ continue;
297
+ else if (response === "" && (!isLastResponse || !isLastItem))
298
+ continue;
299
+ if (typeof response === "string") {
300
+ if (isLastItem && isLastResponse) {
301
+ if (response === "" && !this._jinjaFlags.emptyLastModelResponseIsFinalMessage)
302
+ canEnableTriggers = true;
303
+ else if (!this._jinjaFlags.useNonFinalFinalMessage) {
304
+ res.push(LlamaText([
305
+ new SpecialTokensText("<|start|>assistant<|channel|>final<|message|>"),
306
+ response
307
+ ]));
308
+ canEnableTriggers = false;
309
+ }
310
+ else {
311
+ res.push(LlamaText([
312
+ new SpecialTokensText("<|start|>assistant<|message|>"),
313
+ response
314
+ ]));
315
+ canEnableTriggers = false;
316
+ }
317
+ }
318
+ else if (!this._jinjaFlags.noFinalMessages && (isLastResponse || !this._jinjaFlags.disableNonFinalFinalMessages))
319
+ res.push(LlamaText([
320
+ new SpecialTokensText("<|start|>assistant<|channel|>final<|message|>"),
321
+ response,
322
+ new SpecialTokensText("<|end|>")
323
+ ]));
324
+ else
325
+ res.push(LlamaText([
326
+ new SpecialTokensText("<|start|>assistant<|message|>"),
327
+ response,
328
+ new SpecialTokensText("<|end|>")
329
+ ]));
330
+ }
331
+ else if (response.type === "segment") {
332
+ if (response.ended && response.raw != null && useRawValues)
333
+ res.push(LlamaText([
334
+ new SpecialTokensText("<|start|>assistant"),
335
+ LlamaText.fromJSON(response.raw)
336
+ ]));
337
+ else if (response.segmentType === "thought") {
338
+ if (keepOnlyLastThought && !isLastItem)
339
+ continue;
340
+ res.push(LlamaText([
341
+ new SpecialTokensText("<|start|>assistant<|channel|>analysis<|message|>"),
342
+ response.text,
343
+ (isLastItem && !response.ended)
344
+ ? LlamaText([])
345
+ : new SpecialTokensText("<|end|>")
346
+ ]));
347
+ if (isLastItem && isLastResponse && !response.ended)
348
+ canEnableTriggers = false;
349
+ }
350
+ else if (response.segmentType === "comment") {
351
+ res.push(LlamaText([
352
+ new SpecialTokensText("<|start|>assistant<|channel|>commentary<|message|>"),
353
+ response.text,
354
+ (isLastItem && !response.ended)
355
+ ? LlamaText([])
356
+ : new SpecialTokensText("<|end|>")
357
+ ]));
358
+ if (isLastItem && isLastResponse && !response.ended)
359
+ canEnableTriggers = false;
360
+ }
361
+ else
362
+ void response.segmentType;
363
+ }
364
+ else if (response.type === "functionCall") {
365
+ res.push(LlamaText([
366
+ (response.rawCall != null && useRawValues)
367
+ ? LlamaText.fromJSON(response.rawCall)
368
+ : this.generateFunctionCall(response.name, response.params),
369
+ this.generateFunctionCallResult(response.name, response.params, response.result)
370
+ ]));
371
+ }
372
+ else
373
+ void response;
374
+ }
375
+ const needsTriggers = canEnableTriggers && isLastItem;
376
+ if (needsTriggers)
377
+ res.push(LlamaText([
378
+ new SpecialTokensText("<|start|>assistant")
379
+ ]));
380
+ return {
381
+ res: LlamaText(res),
382
+ needsTriggers
383
+ };
384
+ }
385
+ /** @internal */
386
+ _getPreamble(hasFunctions) {
387
+ const formatCutoff = (date, timezone) => {
388
+ const month = date.toLocaleDateString("en-US", { month: "numeric", timeZone: timezone }).padStart(2, "0");
389
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: timezone }).padStart(4, "0");
390
+ return `${year}-${month}`;
391
+ };
392
+ const lines = [];
393
+ if (this.modelIdentity != null && this.modelIdentity !== "")
394
+ lines.push(this.modelIdentity);
395
+ if (this.cuttingKnowledgeDate != null) {
396
+ const date = this.cuttingKnowledgeDate instanceof Function
397
+ ? this.cuttingKnowledgeDate()
398
+ : this.cuttingKnowledgeDate;
399
+ lines.push(`Knowledge cutoff: ${formatCutoff(date, "UTC")}`);
400
+ if (this._jinjaFlags.formatting === 1)
401
+ lines.push([lines.shift(), lines.shift()].filter(Boolean).join(""));
402
+ }
403
+ if (this.todayDate != null) {
404
+ const date = this.todayDate instanceof Function
405
+ ? this.todayDate()
406
+ : this.todayDate;
407
+ lines.push(`Current date: ${formatDate(date, undefined)}`);
408
+ }
409
+ if (this.reasoningEffort != null) {
410
+ if (lines.length > 0)
411
+ lines.push("");
412
+ if (this._jinjaFlags.formatting === 1)
413
+ lines.push(`reasoning: ${this.reasoningEffort}`);
414
+ else
415
+ lines.push(`Reasoning: ${this.reasoningEffort}`);
416
+ }
417
+ if (this.requiredChannels.analysis || this.requiredChannels.commentary || this.requiredChannels.final) {
418
+ const channels = [
419
+ ...(this.requiredChannels.analysis ? ["analysis"] : []),
420
+ ...(this.requiredChannels.commentary ? ["commentary"] : []),
421
+ ...(this.requiredChannels.final ? ["final"] : [])
422
+ ];
423
+ if (lines.length > 0)
424
+ lines.push("");
425
+ lines.push(`# Valid channels: ${channels.join(", ")}. Channel must be included for every message.`);
426
+ if ((this.requiredChannels.commentary && hasFunctions) || this._jinjaFlags.formatting === 1)
427
+ lines.push("Calls to these tools must go to the commentary channel: 'functions'.");
428
+ }
429
+ return LlamaText([
430
+ new SpecialTokensText("<|start|>system<|message|>"),
431
+ this._jinjaFlags.useSpecialTokensForFullSystemMessage
432
+ ? new SpecialTokensText(lines.join("\n"))
433
+ : lines.join("\n"),
434
+ new SpecialTokensText("<|end|>")
435
+ ]);
436
+ }
437
+ /** @internal */
438
+ static _getOptionConfigurationsToTestIfCanSupersedeJinjaTemplate() {
439
+ const jinjaParameters = {
440
+ "model_identity": defaultModelIdentity,
441
+ "reasoning_effort": defaultReasoningEffort
442
+ };
443
+ return [
444
+ [{}, {}],
445
+ [{ _jinjaFlags: { emptyLastModelResponseIsFinalMessage: true } }, {}],
446
+ [{}, {}, { additionalRenderParameters: jinjaParameters }],
447
+ [{ _jinjaFlags: { emptyLastModelResponseIsFinalMessage: true } }, {}, { additionalRenderParameters: jinjaParameters }],
448
+ [{ _jinjaFlags: { useSpecialTokensForFullSystemMessage: true } }, {}, { additionalRenderParameters: jinjaParameters }],
449
+ [
450
+ { _jinjaFlags: { emptyLastModelResponseIsFinalMessage: true, useSpecialTokensForFullSystemMessage: true } },
451
+ {},
452
+ { additionalRenderParameters: jinjaParameters }
453
+ ],
454
+ [
455
+ {
456
+ _jinjaFlags: {
457
+ emptyLastModelResponseIsFinalMessage: true,
458
+ useSpecialTokensForFullSystemMessage: true,
459
+ disableNonFinalFinalMessages: true
460
+ }
461
+ },
462
+ {},
463
+ { additionalRenderParameters: jinjaParameters }
464
+ ],
465
+ [
466
+ {
467
+ _jinjaFlags: {
468
+ emptyLastModelResponseIsFinalMessage: true,
469
+ useSpecialTokensForFullSystemMessage: true,
470
+ disableNonFinalFinalMessages: true,
471
+ useNonFinalFinalMessage: true
472
+ }
473
+ },
474
+ {},
475
+ { additionalRenderParameters: jinjaParameters }
476
+ ],
477
+ [
478
+ {
479
+ _jinjaFlags: {
480
+ emptyLastModelResponseIsFinalMessage: true,
481
+ useSpecialTokensForFullSystemMessage: true,
482
+ useNonFinalFinalMessage: true
483
+ }
484
+ },
485
+ {},
486
+ { additionalRenderParameters: jinjaParameters }
487
+ ],
488
+ [
489
+ {
490
+ _jinjaFlags: {
491
+ emptyLastModelResponseIsFinalMessage: true,
492
+ useSpecialTokensForFullSystemMessage: true,
493
+ useNonFinalFinalMessage: true,
494
+ noFinalMessages: true
495
+ }
496
+ },
497
+ {},
498
+ { additionalRenderParameters: jinjaParameters }
499
+ ],
500
+ [
501
+ {
502
+ _jinjaFlags: {
503
+ emptyLastModelResponseIsFinalMessage: true,
504
+ useSpecialTokensForFullSystemMessage: true,
505
+ useNonFinalFinalMessage: false,
506
+ noFinalMessages: false
507
+ }
508
+ },
509
+ {},
510
+ { additionalRenderParameters: jinjaParameters }
511
+ ],
512
+ [
513
+ {
514
+ _jinjaFlags: {
515
+ emptyLastModelResponseIsFinalMessage: true,
516
+ useSpecialTokensForFullSystemMessage: true,
517
+ useNonFinalFinalMessage: true,
518
+ noFinalMessages: true,
519
+ formatting: 1
520
+ }
521
+ },
522
+ {},
523
+ { additionalRenderParameters: jinjaParameters }
524
+ ],
525
+ [{ todayDate: null }, {}, {}],
526
+ [{ cuttingKnowledgeDate: null }, {}, {}],
527
+ [{ reasoningEffort: null }, {}, {}],
528
+ [{ todayDate: null, cuttingKnowledgeDate: null }, {}, {}],
529
+ [{ todayDate: null, cuttingKnowledgeDate: null, reasoningEffort: null }, {}, {}]
530
+ ];
531
+ }
532
+ }
533
+ function formatDate(date, timezone) {
534
+ const day = date.toLocaleDateString("en-US", { day: "numeric", timeZone: timezone }).padStart(2, "0");
535
+ const month = date.toLocaleDateString("en-US", { month: "numeric", timeZone: timezone }).padStart(2, "0");
536
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: timezone }).padStart(4, "0");
537
+ return `${year}-${month}-${day}`;
538
+ }
539
+ //# sourceMappingURL=HarmonyChatWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HarmonyChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/HarmonyChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -100,17 +100,23 @@ function checkEquivalence(jinjaChatWrapper, specializedChatWrapper, testChatHist
100
100
  }
101
101
  if (!compareContextTexts(jinjaRes.contextText, specializedWrapperRes.contextText, tokenizer))
102
102
  return false;
103
+ const specializedStopGenerationTriggers = [
104
+ ...specializedWrapperRes.stopGenerationTriggers,
105
+ ...(specializedWrapperRes.rerender?.triggers == null
106
+ ? []
107
+ : specializedWrapperRes.rerender.triggers)
108
+ ];
103
109
  const jinjaHasAllSpecializedStopGenerationTriggers = jinjaRes.stopGenerationTriggers
104
110
  .every((trigger) => {
105
111
  return [trigger, trigger.trimEnd(), trigger.trimStart(), trigger.trimStart().trimEnd()].some((normalizedJinjaTrigger) => {
106
112
  if (normalizedJinjaTrigger.values.length === 0)
107
113
  return true;
108
- const foundSimilarTriggers = specializedWrapperRes.stopGenerationTriggers.some((specializedTrigger) => (normalizedJinjaTrigger.includes(specializedTrigger)));
114
+ const foundSimilarTriggers = specializedStopGenerationTriggers.some((specializedTrigger) => (normalizedJinjaTrigger.includes(specializedTrigger)));
109
115
  if (foundSimilarTriggers)
110
116
  return true;
111
117
  if (tokenizer != null) {
112
118
  const resolvedStopGenerationTrigger = StopGenerationDetector.resolveLlamaTextTrigger(normalizedJinjaTrigger, tokenizer);
113
- const foundSimilarOrShorterTokenizedTriggers = specializedWrapperRes.stopGenerationTriggers
119
+ const foundSimilarOrShorterTokenizedTriggers = specializedStopGenerationTriggers
114
120
  .some((specializedTrigger) => {
115
121
  const resolvedSpecializedTrigger = StopGenerationDetector.resolveLlamaTextTrigger(specializedTrigger, tokenizer);
116
122
  return resolvedSpecializedTrigger.every((item, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"isJinjaTemplateEquivalentToSpecializedChatWrapper.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isJinjaTemplateEquivalentToSpecializedChatWrapper.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.ts"],"names":[],"mappings":"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"}