node-llama-cpp 3.0.0-beta.38 → 3.0.0-beta.39

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 (159) hide show
  1. package/bins/linux-arm64/_nlcBuildMetadata.json +1 -1
  2. package/bins/linux-arm64/libggml.so +0 -0
  3. package/bins/linux-arm64/libllama.so +0 -0
  4. package/bins/linux-arm64/llama-addon.node +0 -0
  5. package/bins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  6. package/bins/linux-armv7l/libggml.so +0 -0
  7. package/bins/linux-armv7l/libllama.so +0 -0
  8. package/bins/linux-armv7l/llama-addon.node +0 -0
  9. package/bins/linux-x64/_nlcBuildMetadata.json +1 -1
  10. package/bins/linux-x64/libggml.so +0 -0
  11. package/bins/linux-x64/libllama.so +0 -0
  12. package/bins/linux-x64/llama-addon.node +0 -0
  13. package/bins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  14. package/bins/linux-x64-vulkan/libggml.so +0 -0
  15. package/bins/linux-x64-vulkan/libllama.so +0 -0
  16. package/bins/linux-x64-vulkan/llama-addon.node +0 -0
  17. package/bins/linux-x64-vulkan/vulkan-shaders-gen +0 -0
  18. package/bins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  19. package/bins/mac-arm64-metal/ggml-common.h +24 -0
  20. package/bins/mac-arm64-metal/ggml-metal.metal +181 -552
  21. package/bins/mac-arm64-metal/libggml.dylib +0 -0
  22. package/bins/mac-arm64-metal/libllama.dylib +0 -0
  23. package/bins/mac-arm64-metal/llama-addon.node +0 -0
  24. package/bins/mac-x64/_nlcBuildMetadata.json +1 -1
  25. package/bins/mac-x64/libggml.dylib +0 -0
  26. package/bins/mac-x64/libllama.dylib +0 -0
  27. package/bins/mac-x64/llama-addon.node +0 -0
  28. package/bins/win-arm64/_nlcBuildMetadata.json +1 -1
  29. package/bins/win-arm64/ggml.dll +0 -0
  30. package/bins/win-arm64/llama-addon.exp +0 -0
  31. package/bins/win-arm64/llama-addon.lib +0 -0
  32. package/bins/win-arm64/llama-addon.node +0 -0
  33. package/bins/win-arm64/llama.dll +0 -0
  34. package/bins/win-x64/_nlcBuildMetadata.json +1 -1
  35. package/bins/win-x64/ggml.dll +0 -0
  36. package/bins/win-x64/llama-addon.node +0 -0
  37. package/bins/win-x64/llama.dll +0 -0
  38. package/bins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  39. package/bins/win-x64-vulkan/ggml.dll +0 -0
  40. package/bins/win-x64-vulkan/llama-addon.node +0 -0
  41. package/bins/win-x64-vulkan/llama.dll +0 -0
  42. package/bins/win-x64-vulkan/vulkan-shaders-gen.exe +0 -0
  43. package/dist/ChatWrapper.d.ts +2 -1
  44. package/dist/ChatWrapper.js +19 -5
  45. package/dist/ChatWrapper.js.map +1 -1
  46. package/dist/bindings/AddonTypes.d.ts +13 -2
  47. package/dist/bindings/getLlama.d.ts +3 -2
  48. package/dist/bindings/getLlama.js +1 -1
  49. package/dist/bindings/getLlama.js.map +1 -1
  50. package/dist/chatWrappers/FunctionaryChatWrapper.js +8 -5
  51. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  52. package/dist/chatWrappers/GemmaChatWrapper.js +1 -1
  53. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  54. package/dist/chatWrappers/Llama3ChatWrapper.js +3 -4
  55. package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
  56. package/dist/chatWrappers/Llama3_1ChatWrapper.d.ts +31 -0
  57. package/dist/chatWrappers/Llama3_1ChatWrapper.js +223 -0
  58. package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -0
  59. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +17 -2
  60. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +39 -2
  61. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -1
  62. package/dist/chatWrappers/utils/jsonDumps.d.ts +7 -0
  63. package/dist/chatWrappers/utils/jsonDumps.js +18 -0
  64. package/dist/chatWrappers/utils/jsonDumps.js.map +1 -0
  65. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +5 -3
  66. package/dist/chatWrappers/utils/resolveChatWrapper.js +50 -4
  67. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  68. package/dist/cli/commands/ChatCommand.d.ts +1 -1
  69. package/dist/cli/commands/ChatCommand.js +2 -4
  70. package/dist/cli/commands/ChatCommand.js.map +1 -1
  71. package/dist/cli/commands/CompleteCommand.js +2 -2
  72. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  73. package/dist/cli/commands/InfillCommand.js +2 -2
  74. package/dist/cli/commands/InfillCommand.js.map +1 -1
  75. package/dist/cli/recommendedModels.js +43 -24
  76. package/dist/cli/recommendedModels.js.map +1 -1
  77. package/dist/consts.d.ts +1 -0
  78. package/dist/consts.js +1 -0
  79. package/dist/consts.js.map +1 -1
  80. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +22 -0
  81. package/dist/evaluator/LlamaChat/LlamaChat.js +65 -34
  82. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  83. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +28 -6
  84. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +22 -16
  85. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  86. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +4 -5
  87. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  88. package/dist/evaluator/LlamaCompletion.d.ts +13 -2
  89. package/dist/evaluator/LlamaCompletion.js +10 -5
  90. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  91. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +1 -1
  92. package/dist/evaluator/LlamaContext/LlamaContext.js +60 -0
  93. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  94. package/dist/evaluator/LlamaContext/types.d.ts +21 -0
  95. package/dist/evaluator/LlamaGrammar.d.ts +6 -3
  96. package/dist/evaluator/LlamaGrammar.js +2 -2
  97. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  98. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +16 -32
  99. package/dist/evaluator/LlamaModel/LlamaModel.js +94 -53
  100. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  101. package/dist/gguf/consts.d.ts +1 -0
  102. package/dist/gguf/consts.js +4 -0
  103. package/dist/gguf/consts.js.map +1 -1
  104. package/dist/gguf/insights/GgufInsights.js +4 -0
  105. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  106. package/dist/gguf/parser/GgufV2Parser.js +3 -1
  107. package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
  108. package/dist/gguf/types/GgufMetadataTypes.d.ts +16 -0
  109. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  110. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +3 -2
  111. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +44 -8
  112. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
  113. package/dist/index.d.ts +4 -2
  114. package/dist/index.js +3 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/types.d.ts +15 -1
  117. package/dist/types.js.map +1 -1
  118. package/dist/utils/DeepPartialObject.d.ts +3 -0
  119. package/dist/utils/DeepPartialObject.js +2 -0
  120. package/dist/utils/DeepPartialObject.js.map +1 -0
  121. package/dist/utils/StopGenerationDetector.d.ts +6 -3
  122. package/dist/utils/StopGenerationDetector.js +22 -7
  123. package/dist/utils/StopGenerationDetector.js.map +1 -1
  124. package/dist/utils/TokenStreamRegulator.d.ts +1 -0
  125. package/dist/utils/TokenStreamRegulator.js +23 -5
  126. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  127. package/dist/utils/resolveLastTokens.d.ts +2 -0
  128. package/dist/utils/resolveLastTokens.js +12 -0
  129. package/dist/utils/resolveLastTokens.js.map +1 -0
  130. package/llama/CMakeLists.txt +1 -1
  131. package/llama/addon/AddonContext.cpp +772 -0
  132. package/llama/addon/AddonContext.h +53 -0
  133. package/llama/addon/AddonGrammar.cpp +44 -0
  134. package/llama/addon/AddonGrammar.h +18 -0
  135. package/llama/addon/AddonGrammarEvaluationState.cpp +28 -0
  136. package/llama/addon/AddonGrammarEvaluationState.h +15 -0
  137. package/llama/addon/AddonModel.cpp +681 -0
  138. package/llama/addon/AddonModel.h +61 -0
  139. package/llama/addon/AddonModelData.cpp +25 -0
  140. package/llama/addon/AddonModelData.h +15 -0
  141. package/llama/addon/AddonModelLora.cpp +107 -0
  142. package/llama/addon/AddonModelLora.h +28 -0
  143. package/llama/addon/addon.cpp +217 -0
  144. package/llama/addon/addonGlobals.cpp +22 -0
  145. package/llama/addon/addonGlobals.h +12 -0
  146. package/llama/addon/globals/addonLog.cpp +135 -0
  147. package/llama/addon/globals/addonLog.h +21 -0
  148. package/llama/addon/globals/addonProgress.cpp +15 -0
  149. package/llama/addon/globals/addonProgress.h +15 -0
  150. package/llama/addon/globals/getGpuInfo.cpp +108 -0
  151. package/llama/addon/globals/getGpuInfo.h +6 -0
  152. package/llama/binariesGithubRelease.json +1 -1
  153. package/llama/gitRelease.bundle +0 -0
  154. package/llama/grammars/README.md +1 -1
  155. package/llama/llama.cpp.info.json +1 -1
  156. package/package.json +3 -3
  157. package/templates/packed/electron-typescript-react.json +1 -1
  158. package/templates/packed/node-typescript.json +1 -1
  159. package/llama/addon.cpp +0 -1997
@@ -0,0 +1,223 @@
1
+ import { ChatWrapper } from "../ChatWrapper.js";
2
+ import { SpecialToken, LlamaText, SpecialTokensText } from "../utils/LlamaText.js";
3
+ import { defaultChatSystemPrompt } from "../config.js";
4
+ import { ChatModelFunctionsDocumentationGenerator } from "./utils/ChatModelFunctionsDocumentationGenerator.js";
5
+ import { jsonDumps } from "./utils/jsonDumps.js";
6
+ // source: https://llama.meta.com/docs/model-cards-and-prompt-formats/llama3_1
7
+ export class Llama3_1ChatWrapper extends ChatWrapper {
8
+ wrapperName = "Llama 3.1";
9
+ cuttingKnowledgeDate;
10
+ todayDate;
11
+ settings = {
12
+ supportsSystemMessages: true,
13
+ functions: {
14
+ call: {
15
+ optionalPrefixSpace: true,
16
+ prefix: LlamaText(new SpecialTokensText("<function=")),
17
+ paramsPrefix: LlamaText(new SpecialTokensText(">")),
18
+ suffix: LlamaText(new SpecialTokensText("</function><|eom_id|>"))
19
+ },
20
+ result: {
21
+ prefix: LlamaText(new SpecialTokensText("\n<|start_header_id|>ipython<|end_header_id|>\n\n")),
22
+ suffix: LlamaText(new SpecialToken("EOT"), new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n"))
23
+ }
24
+ }
25
+ };
26
+ /**
27
+ * @param options
28
+ */
29
+ constructor({ cuttingKnowledgeDate = new Date("2023-12-01T00:00:00Z"), todayDate = new Date() } = {}) {
30
+ super();
31
+ this.cuttingKnowledgeDate = cuttingKnowledgeDate == null
32
+ ? null
33
+ : new Date(cuttingKnowledgeDate);
34
+ this.todayDate = todayDate == null
35
+ ? null
36
+ : new Date(todayDate);
37
+ }
38
+ addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, { documentParams = true } = {}) {
39
+ const availableFunctionNames = Object.keys(availableFunctions ?? {});
40
+ if (availableFunctions == null || availableFunctionNames.length === 0)
41
+ return history;
42
+ const res = history.slice();
43
+ const functionsSystemMessage = {
44
+ type: "system",
45
+ text: this.generateAvailableFunctionsSystemText(availableFunctions, { documentParams }).toJSON()
46
+ };
47
+ if (res.length >= 2 && res[0].type === "system" && res[1].type === "system")
48
+ res.splice(1, 0, functionsSystemMessage);
49
+ else
50
+ res.unshift({
51
+ type: "system",
52
+ text: this.generateAvailableFunctionsSystemText(availableFunctions, { documentParams }).toJSON()
53
+ });
54
+ return res;
55
+ }
56
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
57
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistory, availableFunctions, {
58
+ documentParams: documentFunctionParams
59
+ });
60
+ const resultItems = [];
61
+ let systemTexts = [];
62
+ let userTexts = [];
63
+ let modelTexts = [];
64
+ let currentAggregateFocus = null;
65
+ function flush() {
66
+ if (systemTexts.length > 0 || userTexts.length > 0 || modelTexts.length > 0)
67
+ resultItems.push({
68
+ system: systemTexts.length === 0
69
+ ? null
70
+ : LlamaText.joinValues("\n\n", systemTexts),
71
+ user: userTexts.length === 0
72
+ ? null
73
+ : LlamaText.joinValues("\n\n", userTexts),
74
+ model: modelTexts.length === 0
75
+ ? null
76
+ : LlamaText.joinValues("\n\n", modelTexts)
77
+ });
78
+ systemTexts = [];
79
+ userTexts = [];
80
+ modelTexts = [];
81
+ }
82
+ for (const item of historyWithFunctions) {
83
+ if (item.type === "system") {
84
+ if (currentAggregateFocus !== "system")
85
+ flush();
86
+ currentAggregateFocus = "system";
87
+ systemTexts.push(LlamaText.fromJSON(item.text));
88
+ }
89
+ else if (item.type === "user") {
90
+ if (currentAggregateFocus !== "user")
91
+ flush();
92
+ currentAggregateFocus = "user";
93
+ userTexts.push(LlamaText(item.text));
94
+ }
95
+ else if (item.type === "model") {
96
+ if (currentAggregateFocus !== "model")
97
+ flush();
98
+ currentAggregateFocus = "model";
99
+ modelTexts.push(this.generateModelResponseText(item.response));
100
+ }
101
+ else
102
+ void (item);
103
+ }
104
+ flush();
105
+ const contextText = LlamaText(new SpecialToken("BOS"), resultItems.map((item, index) => {
106
+ const isLastItem = index === resultItems.length - 1;
107
+ const res = [];
108
+ if (item.system != null) {
109
+ res.push(LlamaText([
110
+ new SpecialTokensText("<|start_header_id|>system<|end_header_id|>\n\n"),
111
+ item.system,
112
+ new SpecialToken("EOT")
113
+ ]));
114
+ }
115
+ if (item.user != null) {
116
+ res.push(LlamaText([
117
+ new SpecialTokensText("<|start_header_id|>user<|end_header_id|>\n\n"),
118
+ item.user,
119
+ new SpecialToken("EOT")
120
+ ]));
121
+ }
122
+ if (item.model != null) {
123
+ res.push(LlamaText([
124
+ new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n"),
125
+ item.model,
126
+ isLastItem
127
+ ? LlamaText([])
128
+ : new SpecialToken("EOT")
129
+ ]));
130
+ }
131
+ return LlamaText(res);
132
+ }));
133
+ return {
134
+ contextText,
135
+ stopGenerationTriggers: [
136
+ LlamaText(new SpecialToken("EOS")),
137
+ LlamaText(new SpecialToken("EOT")),
138
+ LlamaText(new SpecialTokensText("<|eot_id|>")),
139
+ LlamaText(new SpecialTokensText("<|end_of_text|>")),
140
+ LlamaText("<|eot_id|>"),
141
+ LlamaText("<|end_of_text|>")
142
+ ]
143
+ };
144
+ }
145
+ generateAvailableFunctionsSystemText(availableFunctions, { documentParams = true }) {
146
+ const functionsDocumentationGenerator = new ChatModelFunctionsDocumentationGenerator(availableFunctions);
147
+ if (!functionsDocumentationGenerator.hasAnyFunctions)
148
+ return LlamaText([]);
149
+ return LlamaText.joinValues("\n", [
150
+ "You have access to the following functions:",
151
+ "",
152
+ functionsDocumentationGenerator.getLlama3_1FunctionSignatures({ documentParams }),
153
+ "",
154
+ "",
155
+ "If you choose to call a function ONLY reply in the following format:",
156
+ "<{start_tag}={function_name}>{parameters}{end_tag}",
157
+ "where",
158
+ "",
159
+ "start_tag => `<function`",
160
+ "parameters => a JSON dict with the function argument name as key and function argument value as value.",
161
+ "end_tag => `</function>`",
162
+ "",
163
+ "Here is an example,",
164
+ LlamaText([
165
+ new SpecialTokensText("<function="),
166
+ "example_function_name",
167
+ new SpecialTokensText(">"),
168
+ jsonDumps({ "example_name": "example_value" }),
169
+ new SpecialTokensText("</function>")
170
+ ]),
171
+ "",
172
+ "Reminder:",
173
+ "- Function calls MUST follow the specified format",
174
+ "- Only call one function at a time",
175
+ "- Put the entire function call reply on one line",
176
+ "- Always add your sources when using search results to answer the user query"
177
+ ]);
178
+ }
179
+ generateInitialChatHistory({ systemPrompt = defaultChatSystemPrompt }) {
180
+ const res = [];
181
+ function formatDate(date) {
182
+ const day = date.toLocaleDateString("en-US", { day: "numeric", timeZone: "UTC" });
183
+ const month = date.toLocaleDateString("en-US", { month: "short", timeZone: "UTC" });
184
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: "UTC" });
185
+ return `${day} ${month} ${year}`;
186
+ }
187
+ const formatMonthDate = (date) => {
188
+ const today = this.todayDate ?? new Date();
189
+ if (today.getUTCMonth() === date.getUTCMonth() && today.getUTCFullYear() === date.getUTCFullYear())
190
+ return formatDate(date);
191
+ const month = date.toLocaleDateString("en-US", { month: "long", timeZone: "UTC" });
192
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: "UTC" });
193
+ return `${month} ${year}`;
194
+ };
195
+ const lines = [];
196
+ if (this.cuttingKnowledgeDate != null)
197
+ lines.push(`Cutting Knowledge Date: ${formatMonthDate(this.cuttingKnowledgeDate)}`);
198
+ if (this.todayDate != null)
199
+ lines.push(`Today Date: ${formatDate(this.todayDate)}`);
200
+ lines.push("");
201
+ lines.push("# Tool Instructions");
202
+ lines.push("- When looking for real time information use relevant functions if available");
203
+ lines.push("");
204
+ lines.push("");
205
+ res.push({
206
+ type: "system",
207
+ text: LlamaText.joinValues("\n", lines).toJSON()
208
+ }, {
209
+ type: "system",
210
+ text: LlamaText(systemPrompt ?? defaultChatSystemPrompt).toJSON()
211
+ });
212
+ return res;
213
+ }
214
+ /** @internal */
215
+ static _checkModelCompatibility(options) {
216
+ if (options.tokenizer != null) {
217
+ const tokens = options.tokenizer("<|eom_id|>", true, "trimLeadingSpace");
218
+ return tokens.length === 1 && options.tokenizer.isSpecialToken(tokens[0]);
219
+ }
220
+ return true;
221
+ }
222
+ }
223
+ //# sourceMappingURL=Llama3_1ChatWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Llama3_1ChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3_1ChatWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAK9C,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AACrD,OAAO,EAAC,wCAAwC,EAAC,MAAM,qDAAqD,CAAC;AAC7G,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,8EAA8E;AAC9E,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAChC,WAAW,GAAW,WAAW,CAAC;IAElC,oBAAoB,CAAe;IACnC,SAAS,CAAc;IAEd,QAAQ,GAAwB;QACrD,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE;YACP,IAAI,EAAE;gBACF,mBAAmB,EAAE,IAAI;gBACzB,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACtD,YAAY,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;aACpE;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;gBAC7F,MAAM,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;aACzH;SACJ;KACJ,CAAC;IAEF;;OAEG;IACH,YAAmB,EACf,oBAAoB,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,EACvD,SAAS,GAAG,IAAI,IAAI,EAAE,KAatB,EAAE;QACF,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,IAAI;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI;YAC9B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAEe,2CAA2C,CACvD,OAAmC,EACnC,kBAAuC,EAAE,EACrC,cAAc,GAAG,IAAI,KAGrB,EAAE;QAEN,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,kBAAkB,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;YACjE,OAAO,OAAO,CAAC;QAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,sBAAsB,GAAsB;YAC9C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,kBAAkB,EAAE,EAAC,cAAc,EAAC,CAAC,CAAC,MAAM,EAAE;SACjG,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;YACvE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;;YAEzC,GAAG,CAAC,OAAO,CAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,kBAAkB,EAAE,EAAC,cAAc,EAAC,CAAC,CAAC,MAAM,EAAE;aACjG,CAAC,CAAC;QAEP,OAAO,GAAG,CAAC;IACf,CAAC;IAEe,oBAAoB,CAAC,EACjC,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAClB;QACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC,2CAA2C,CAAC,WAAW,EAAE,kBAAkB,EAAE;YAC3G,cAAc,EAAE,sBAAsB;SACzC,CAAC,CAAC;QAEH,MAAM,WAAW,GAIZ,EAAE,CAAC;QAER,IAAI,WAAW,GAAgB,EAAE,CAAC;QAClC,IAAI,SAAS,GAAgB,EAAE,CAAC;QAChC,IAAI,UAAU,GAAgB,EAAE,CAAC;QACjC,IAAI,qBAAqB,GAAuC,IAAI,CAAC;QAErE,SAAS,KAAK;YACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBACvE,WAAW,CAAC,IAAI,CAAC;oBACb,MAAM,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;wBAC5B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;oBAC/C,IAAI,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC;wBACxB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;oBAC7C,KAAK,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;wBAC1B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;iBACjD,CAAC,CAAC;YAEP,WAAW,GAAG,EAAE,CAAC;YACjB,SAAS,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzB,IAAI,qBAAqB,KAAK,QAAQ;oBAClC,KAAK,EAAE,CAAC;gBAEZ,qBAAqB,GAAG,QAAQ,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,qBAAqB,KAAK,MAAM;oBAChC,KAAK,EAAE,CAAC;gBAEZ,qBAAqB,GAAG,MAAM,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,qBAAqB,KAAK,OAAO;oBACjC,KAAK,EAAE,CAAC;gBAEZ,qBAAqB,GAAG,OAAO,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,CAAC;;gBACG,KAAK,CAAC,IAAoB,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,EAAE,CAAC;QAER,MAAM,WAAW,GAAG,SAAS,CACzB,IAAI,YAAY,CAAC,KAAK,CAAC,EACvB,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,MAAM,GAAG,GAAgB,EAAE,CAAC;YAE5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CACJ,SAAS,CAAC;oBACN,IAAI,iBAAiB,CAAC,gDAAgD,CAAC;oBACvE,IAAI,CAAC,MAAM;oBACX,IAAI,YAAY,CAAC,KAAK,CAAC;iBAC1B,CAAC,CACL,CAAC;YACN,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CACJ,SAAS,CAAC;oBACN,IAAI,iBAAiB,CAAC,8CAA8C,CAAC;oBACrE,IAAI,CAAC,IAAI;oBACT,IAAI,YAAY,CAAC,KAAK,CAAC;iBAC1B,CAAC,CACL,CAAC;YACN,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACJ,SAAS,CAAC;oBACN,IAAI,iBAAiB,CAAC,mDAAmD,CAAC;oBAC1E,IAAI,CAAC,KAAK;oBACV,UAAU;wBACN,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;wBACf,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;iBAChC,CAAC,CACL,CAAC;YACN,CAAC;YAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CACL,CAAC;QAEF,OAAO;YACH,WAAW;YACX,sBAAsB,EAAE;gBACpB,SAAS,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClC,SAAS,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClC,SAAS,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAC9C,SAAS,CAAC,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;gBACnD,SAAS,CAAC,YAAY,CAAC;gBACvB,SAAS,CAAC,iBAAiB,CAAC;aAC/B;SACJ,CAAC;IACN,CAAC;IAEe,oCAAoC,CAAC,kBAAsC,EAAE,EAAC,cAAc,GAAG,IAAI,EAElH;QACG,MAAM,+BAA+B,GAAG,IAAI,wCAAwC,CAAC,kBAAkB,CAAC,CAAC;QAEzG,IAAI,CAAC,+BAA+B,CAAC,eAAe;YAChD,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QAEzB,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;YAC9B,6CAA6C;YAC7C,EAAE;YACF,+BAA+B,CAAC,6BAA6B,CAAC,EAAC,cAAc,EAAC,CAAC;YAC/E,EAAE;YACF,EAAE;YACF,sEAAsE;YACtE,oDAAoD;YACpD,OAAO;YACP,EAAE;YACF,0BAA0B;YAC1B,wGAAwG;YACxG,0BAA0B;YAC1B,EAAE;YACF,qBAAqB;YACrB,SAAS,CAAC;gBACN,IAAI,iBAAiB,CAAC,YAAY,CAAC;gBACnC,uBAAuB;gBACvB,IAAI,iBAAiB,CAAC,GAAG,CAAC;gBAC1B,SAAS,CAAC,EAAC,cAAc,EAAE,eAAe,EAAC,CAAC;gBAC5C,IAAI,iBAAiB,CAAC,aAAa,CAAC;aACvC,CAAC;YACF,EAAE;YACF,WAAW;YACX,mDAAmD;YACnD,oCAAoC;YACpC,kDAAkD;YAClD,8EAA8E;SACjF,CAAC,CAAC;IACP,CAAC;IAEe,0BAA0B,CAAC,EACvC,YAAY,GAAG,uBAAuB,EACC;QACvC,MAAM,GAAG,GAAsB,EAAE,CAAC;QAElC,SAAS,UAAU,CAAC,IAAU;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;YAClF,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE;gBAC9F,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;YAClF,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAC;QAEF,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI;YACjC,KAAK,CAAC,IAAI,CAAC,2BAA2B,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAExF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,GAAG,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE;SACnD,EAAE;YACC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS,CAAC,YAAY,IAAI,uBAAuB,CAAC,CAAC,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,wBAAwB,CAAC,OAAiD;QAC7F,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACzE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -9,7 +9,7 @@ export declare class ChatModelFunctionsDocumentationGenerator {
9
9
  constructor(chatModelFunctions: ChatModelFunctions | undefined);
10
10
  /**
11
11
  * Example:
12
- * ```typescript
12
+ * ```ts
13
13
  * // Retrieve the current date
14
14
  * function getDate();
15
15
  *
@@ -24,7 +24,7 @@ export declare class ChatModelFunctionsDocumentationGenerator {
24
24
  }): string;
25
25
  /**
26
26
  * Example:
27
- * ```typescript
27
+ * ```ts
28
28
  * // Retrieve the current date
29
29
  * type getDate = () => any;
30
30
  *
@@ -39,4 +39,19 @@ export declare class ChatModelFunctionsDocumentationGenerator {
39
39
  documentParams?: boolean;
40
40
  reservedFunctionNames?: string[];
41
41
  }): string;
42
+ /**
43
+ * Example:
44
+ * ```
45
+ * Use the function 'getDate' to: Retrieve the current date
46
+ * {"name": "getDate", "description": "Retrieve the current date"}
47
+ *
48
+ * Use the function 'getTime' to: Retrieve the current time
49
+ * {"name": "getTime", "description": "Retrieve the current time", "parameters": {"type": "object", "properties": {"hours": {"enum": ["24", "12"]}, "seconds": {"type": "boolean"}}}}
50
+ * ```
51
+ * @param options
52
+ * @param [options.documentParams] - Whether to document the parameters of the functions
53
+ */
54
+ getLlama3_1FunctionSignatures({ documentParams }?: {
55
+ documentParams?: boolean;
56
+ }): string;
42
57
  }
@@ -1,4 +1,5 @@
1
1
  import { getTypeScriptTypeStringForGbnfJsonSchema } from "../../utils/getTypeScriptTypeStringForGbnfJsonSchema.js";
2
+ import { jsonDumps } from "./jsonDumps.js";
2
3
  /**
3
4
  * Generate documentation about the functions that are available for a model to call.
4
5
  * Useful for generating a system message with information about the available functions as part of a chat wrapper.
@@ -12,7 +13,7 @@ export class ChatModelFunctionsDocumentationGenerator {
12
13
  }
13
14
  /**
14
15
  * Example:
15
- * ```typescript
16
+ * ```ts
16
17
  * // Retrieve the current date
17
18
  * function getDate();
18
19
  *
@@ -45,7 +46,7 @@ export class ChatModelFunctionsDocumentationGenerator {
45
46
  }
46
47
  /**
47
48
  * Example:
48
- * ```typescript
49
+ * ```ts
49
50
  * // Retrieve the current date
50
51
  * type getDate = () => any;
51
52
  *
@@ -78,5 +79,41 @@ export class ChatModelFunctionsDocumentationGenerator {
78
79
  })
79
80
  .join("\n\n");
80
81
  }
82
+ /* eslint-disable max-len */
83
+ /**
84
+ * Example:
85
+ * ```
86
+ * Use the function 'getDate' to: Retrieve the current date
87
+ * {"name": "getDate", "description": "Retrieve the current date"}
88
+ *
89
+ * Use the function 'getTime' to: Retrieve the current time
90
+ * {"name": "getTime", "description": "Retrieve the current time", "parameters": {"type": "object", "properties": {"hours": {"enum": ["24", "12"]}, "seconds": {"type": "boolean"}}}}
91
+ * ```
92
+ * @param options
93
+ * @param [options.documentParams] - Whether to document the parameters of the functions
94
+ */
95
+ getLlama3_1FunctionSignatures({ documentParams = true } = {}) {
96
+ const chatModelFunctions = this.chatModelFunctions;
97
+ if (!this.hasAnyFunctions || chatModelFunctions == null)
98
+ return "";
99
+ const functionNames = Object.keys(chatModelFunctions);
100
+ return functionNames
101
+ .map((functionName) => {
102
+ const functionDefinition = chatModelFunctions[functionName];
103
+ let res = `Use the function '${functionName}'`;
104
+ const addDescription = functionDefinition?.description != null && functionDefinition.description.trim() !== "";
105
+ if (addDescription)
106
+ res += " to: " + functionDefinition.description.split("\n").join("\n// ") + "\n";
107
+ else
108
+ res += ".\n";
109
+ res += jsonDumps({
110
+ name: functionName,
111
+ ...(addDescription ? { description: functionDefinition.description } : {}),
112
+ ...(documentParams && functionDefinition?.params != null ? { parameters: functionDefinition.params } : {})
113
+ });
114
+ return res;
115
+ })
116
+ .join("\n\n");
117
+ }
81
118
  }
82
119
  //# sourceMappingURL=ChatModelFunctionsDocumentationGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatModelFunctionsDocumentationGenerator.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatModelFunctionsDocumentationGenerator.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Like `JSON.stringify` but results in a value formatted in the format that Python produces when using `json.dumps(value)`.
3
+ *
4
+ * We need to format results this way since this is what many models use in their training data,
5
+ * so this is what many models expect to have in their context state.
6
+ */
7
+ export declare function jsonDumps(result: any): string;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Like `JSON.stringify` but results in a value formatted in the format that Python produces when using `json.dumps(value)`.
3
+ *
4
+ * We need to format results this way since this is what many models use in their training data,
5
+ * so this is what many models expect to have in their context state.
6
+ */
7
+ export function jsonDumps(result) {
8
+ return JSON.stringify(result, null, 1)
9
+ .split("\n")
10
+ .map((line) => {
11
+ line = line.trim();
12
+ if (line.endsWith(","))
13
+ line += " ";
14
+ return line;
15
+ })
16
+ .join("");
17
+ }
18
+ //# sourceMappingURL=jsonDumps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonDumps.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/jsonDumps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAW;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACjC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClB,IAAI,IAAI,GAAG,CAAC;QAEhB,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -8,17 +8,19 @@ import { AlpacaChatWrapper } from "../AlpacaChatWrapper.js";
8
8
  import { GemmaChatWrapper } from "../GemmaChatWrapper.js";
9
9
  import { JinjaTemplateChatWrapper } from "../generic/JinjaTemplateChatWrapper.js";
10
10
  import { TemplateChatWrapper } from "../generic/TemplateChatWrapper.js";
11
+ import { Llama3_1ChatWrapper } from "../Llama3_1ChatWrapper.js";
11
12
  import { Tokenizer } from "../../types.js";
12
13
  import type { GgufFileInfo } from "../../gguf/types/GgufFileInfoTypes.js";
13
- export declare const specializedChatWrapperTypeNames: readonly ["general", "llama3Chat", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"];
14
+ export declare const specializedChatWrapperTypeNames: readonly ["general", "llama3.1", "llama3", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"];
14
15
  export type SpecializedChatWrapperTypeName = (typeof specializedChatWrapperTypeNames)[number];
15
16
  export declare const templateChatWrapperTypeNames: readonly ["template", "jinjaTemplate"];
16
17
  export type TemplateChatWrapperTypeName = (typeof templateChatWrapperTypeNames)[number];
17
- export declare const resolvableChatWrapperTypeNames: readonly ["auto", "general", "llama3Chat", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma", "template", "jinjaTemplate"];
18
+ export declare const resolvableChatWrapperTypeNames: readonly ["auto", "general", "llama3.1", "llama3", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma", "template", "jinjaTemplate"];
18
19
  export type ResolvableChatWrapperTypeName = (typeof resolvableChatWrapperTypeNames)[number];
19
20
  declare const chatWrappers: {
20
21
  readonly general: typeof GeneralChatWrapper;
21
- readonly llama3Chat: typeof Llama3ChatWrapper;
22
+ readonly "llama3.1": typeof Llama3_1ChatWrapper;
23
+ readonly llama3: typeof Llama3ChatWrapper;
22
24
  readonly llama2Chat: typeof Llama2ChatWrapper;
23
25
  readonly alpacaChat: typeof AlpacaChatWrapper;
24
26
  readonly functionary: typeof FunctionaryChatWrapper;
@@ -10,9 +10,10 @@ import { GemmaChatWrapper } from "../GemmaChatWrapper.js";
10
10
  import { JinjaTemplateChatWrapper } from "../generic/JinjaTemplateChatWrapper.js";
11
11
  import { TemplateChatWrapper } from "../generic/TemplateChatWrapper.js";
12
12
  import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
13
+ import { Llama3_1ChatWrapper } from "../Llama3_1ChatWrapper.js";
13
14
  import { isJinjaTemplateEquivalentToSpecializedChatWrapper } from "./isJinjaTemplateEquivalentToSpecializedChatWrapper.js";
14
15
  export const specializedChatWrapperTypeNames = Object.freeze([
15
- "general", "llama3Chat", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"
16
+ "general", "llama3.1", "llama3", "llama2Chat", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"
16
17
  ]);
17
18
  export const templateChatWrapperTypeNames = Object.freeze([
18
19
  "template", "jinjaTemplate"
@@ -24,7 +25,8 @@ export const resolvableChatWrapperTypeNames = Object.freeze([
24
25
  ]);
25
26
  const chatWrappers = {
26
27
  "general": GeneralChatWrapper,
27
- "llama3Chat": Llama3ChatWrapper,
28
+ "llama3.1": Llama3_1ChatWrapper,
29
+ "llama3": Llama3ChatWrapper,
28
30
  "llama2Chat": Llama2ChatWrapper,
29
31
  "alpacaChat": AlpacaChatWrapper,
30
32
  "functionary": FunctionaryChatWrapper,
@@ -58,6 +60,23 @@ export function resolveChatWrapper({ type = "auto", bosString, filename, fileInf
58
60
  ...(chatWrapperSettings ?? {})
59
61
  });
60
62
  }
63
+ function getModelLinageNames() {
64
+ const res = [];
65
+ if (fileInfo == null)
66
+ return res;
67
+ const currentModelInfo = [fileInfo.metadata?.general?.name, fileInfo.metadata?.general?.basename]
68
+ .filter((v) => v != null);
69
+ if (currentModelInfo.length > 0)
70
+ res.push(currentModelInfo);
71
+ if (typeof fileInfo.metadata?.general?.base_model?.count === "number") {
72
+ for (let i = 0; i < fileInfo.metadata.general.base_model.count; i++) {
73
+ const baseModel = fileInfo.metadata.general.base_model[String(i)];
74
+ if (baseModel?.name != null)
75
+ res.push([baseModel.name]);
76
+ }
77
+ }
78
+ return res;
79
+ }
61
80
  if (type !== "auto" && type != null) {
62
81
  if (isTemplateChatWrapperType(type)) {
63
82
  const Wrapper = chatWrappers[type];
@@ -111,6 +130,12 @@ export function resolveChatWrapper({ type = "auto", bosString, filename, fileInf
111
130
  for (const specializedChatWrapperTypeName of chatWrapperNamesToCheck) {
112
131
  const Wrapper = chatWrappers[specializedChatWrapperTypeName];
113
132
  const wrapperSettings = customWrapperSettings?.[specializedChatWrapperTypeName];
133
+ const isCompatible = Wrapper._checkModelCompatibility({
134
+ tokenizer,
135
+ fileInfo
136
+ });
137
+ if (!isCompatible)
138
+ continue;
114
139
  const testOptionConfigurations = Wrapper._getOptionConfigurationsToTestIfCanSupersedeJinjaTemplate?.() ?? [];
115
140
  if (testOptionConfigurations.length === 0)
116
141
  testOptionConfigurations.push({});
@@ -144,11 +169,21 @@ export function resolveChatWrapper({ type = "auto", bosString, filename, fileInf
144
169
  return createSpecializedChatWrapper(Llama2ChatWrapper, {
145
170
  addSpaceBeforeEos: modelJinjaTemplate.includes("' ' + eos_token")
146
171
  });
147
- else if (modelJinjaTemplate.includes("<|start_header_id|>") && modelJinjaTemplate.includes("<|end_header_id|>"))
148
- return createSpecializedChatWrapper(Llama3ChatWrapper);
172
+ else if (modelJinjaTemplate.includes("<|start_header_id|>") && modelJinjaTemplate.includes("<|end_header_id|>")) {
173
+ if (Llama3_1ChatWrapper._checkModelCompatibility({ tokenizer, fileInfo }))
174
+ return createSpecializedChatWrapper(Llama3_1ChatWrapper);
175
+ else
176
+ return createSpecializedChatWrapper(Llama3ChatWrapper);
177
+ }
149
178
  else if (modelJinjaTemplate.includes("<start_of_turn>"))
150
179
  return createSpecializedChatWrapper(GemmaChatWrapper);
151
180
  }
181
+ for (const modelNames of getModelLinageNames()) {
182
+ if (includesText(modelNames, ["llama 3.1", "llama-3.1", "llama3.1"]) && Llama3_1ChatWrapper._checkModelCompatibility({ tokenizer, fileInfo }))
183
+ return createSpecializedChatWrapper(Llama3_1ChatWrapper);
184
+ else if (includesText(modelNames, ["llama 3", "llama-3", "llama3"]))
185
+ return createSpecializedChatWrapper(Llama3ChatWrapper);
186
+ }
152
187
  if (filename != null) {
153
188
  const { name, subType, fileType, otherInfo } = parseModelFileName(filename);
154
189
  if (fileType?.toLowerCase() === "gguf") {
@@ -208,6 +243,17 @@ export function isSpecializedChatWrapperType(type) {
208
243
  export function isTemplateChatWrapperType(type) {
209
244
  return templateChatWrapperTypeNames.includes(type);
210
245
  }
246
+ function includesText(value, textToCheckFor, strictCase = false) {
247
+ if (value instanceof Array)
248
+ return value.some((v) => includesText(v, textToCheckFor, strictCase));
249
+ else if (typeof value !== "string")
250
+ return false;
251
+ if (textToCheckFor instanceof Array)
252
+ return textToCheckFor.some((t) => includesText(value, t, strictCase));
253
+ if (strictCase)
254
+ return value.includes(textToCheckFor);
255
+ return value.toLowerCase().includes(textToCheckFor.toLowerCase());
256
+ }
211
257
  // this is needed because TypeScript guards don't work automatically with class references
212
258
  function isClassReference(value, classReference) {
213
259
  return value === classReference;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveChatWrapper.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/resolveChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveChatWrapper.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/resolveChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ type ChatCommand = {
7
7
  header?: string[];
8
8
  gpu?: BuildGpu | "auto";
9
9
  systemInfo: boolean;
10
- systemPrompt: string;
10
+ systemPrompt?: string;
11
11
  systemPromptFile?: string;
12
12
  prompt?: string;
13
13
  promptFile?: string;
@@ -60,8 +60,6 @@ export const ChatCommand = {
60
60
  .option("systemPrompt", {
61
61
  alias: "s",
62
62
  type: "string",
63
- default: defaultChatSystemPrompt,
64
- defaultDescription: " ",
65
63
  description: "System prompt to use against the model" +
66
64
  (isInDocumentationMode ? "" : (". [default value: " + defaultChatSystemPrompt.split("\n").join(" ") + "]"))
67
65
  })
@@ -461,8 +459,8 @@ async function RunChat({ modelPath: modelArg, header: headerArg, gpu, systemInfo
461
459
  : maxTokens <= 0
462
460
  ? undefined
463
461
  : maxTokens,
464
- onToken(chunk) {
465
- let text = nextPrintLeftovers + model.detokenize(chunk);
462
+ onTextChunk(chunk) {
463
+ let text = nextPrintLeftovers + chunk;
466
464
  nextPrintLeftovers = "";
467
465
  if (trimWhitespace) {
468
466
  if (!hadNoWhitespaceTextInThisIteration) {