node-llama-cpp 3.1.1 → 3.3.0

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 (234) hide show
  1. package/README.md +1 -1
  2. package/dist/ChatWrapper.js +1 -1
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/bindings/AddonTypes.d.ts +10 -3
  5. package/dist/bindings/Llama.d.ts +31 -1
  6. package/dist/bindings/Llama.js +95 -10
  7. package/dist/bindings/Llama.js.map +1 -1
  8. package/dist/bindings/getLlama.d.ts +26 -2
  9. package/dist/bindings/getLlama.js +60 -5
  10. package/dist/bindings/getLlama.js.map +1 -1
  11. package/dist/bindings/utils/MemoryOrchestrator.d.ts +2 -0
  12. package/dist/bindings/utils/MemoryOrchestrator.js +3 -2
  13. package/dist/bindings/utils/MemoryOrchestrator.js.map +1 -1
  14. package/dist/bindings/utils/clearAllLocalBuilds.js +2 -2
  15. package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -1
  16. package/dist/bindings/utils/compileLLamaCpp.d.ts +1 -1
  17. package/dist/bindings/utils/compileLLamaCpp.js +54 -1
  18. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  19. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  20. package/dist/bindings/utils/getGpuTypesToUseForOption.js +1 -1
  21. package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -1
  22. package/dist/bindings/utils/getLinuxDistroInfo.js +1 -1
  23. package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -1
  24. package/dist/bindings/utils/testBindingBinary.d.ts +2 -1
  25. package/dist/bindings/utils/testBindingBinary.js +122 -37
  26. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  27. package/dist/bindings/utils/testCmakeBinary.js +1 -1
  28. package/dist/bindings/utils/testCmakeBinary.js.map +1 -1
  29. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  30. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  31. package/dist/chatWrappers/Llama3_1ChatWrapper.js +3 -2
  32. package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -1
  33. package/dist/chatWrappers/Llama3_2LightweightChatWrapper.d.ts +35 -0
  34. package/dist/chatWrappers/Llama3_2LightweightChatWrapper.js +253 -0
  35. package/dist/chatWrappers/Llama3_2LightweightChatWrapper.js.map +1 -0
  36. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +13 -0
  37. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +31 -1
  38. package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -1
  39. package/dist/chatWrappers/utils/chunkChatItems.js +1 -1
  40. package/dist/chatWrappers/utils/chunkChatItems.js.map +1 -1
  41. package/dist/chatWrappers/utils/getModelLinageNames.d.ts +2 -0
  42. package/dist/chatWrappers/utils/getModelLinageNames.js +18 -0
  43. package/dist/chatWrappers/utils/getModelLinageNames.js.map +1 -0
  44. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  45. package/dist/chatWrappers/utils/isLlama3_2LightweightModel.d.ts +2 -0
  46. package/dist/chatWrappers/utils/isLlama3_2LightweightModel.js +9 -0
  47. package/dist/chatWrappers/utils/isLlama3_2LightweightModel.js.map +1 -0
  48. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +4 -2
  49. package/dist/chatWrappers/utils/resolveChatWrapper.js +10 -32
  50. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  51. package/dist/cli/commands/ChatCommand.js +2 -3
  52. package/dist/cli/commands/ChatCommand.js.map +1 -1
  53. package/dist/cli/commands/CompleteCommand.js +1 -2
  54. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  55. package/dist/cli/commands/InfillCommand.js +1 -2
  56. package/dist/cli/commands/InfillCommand.js.map +1 -1
  57. package/dist/cli/commands/InitCommand.d.ts +2 -1
  58. package/dist/cli/commands/InitCommand.js +32 -13
  59. package/dist/cli/commands/InitCommand.js.map +1 -1
  60. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +0 -1
  61. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
  62. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +1 -0
  63. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +47 -11
  64. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  65. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +14 -3
  66. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  67. package/dist/cli/recommendedModels.js +11 -0
  68. package/dist/cli/recommendedModels.js.map +1 -1
  69. package/dist/cli/utils/consolePromptQuestion.js +0 -1
  70. package/dist/cli/utils/consolePromptQuestion.js.map +1 -1
  71. package/dist/cli/utils/interactivelyAskForModel.js +3 -1
  72. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  73. package/dist/evaluator/LlamaChat/LlamaChat.js +37 -24
  74. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  75. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +63 -8
  76. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
  77. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +8 -1
  78. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +156 -138
  79. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  80. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +1 -1
  81. package/dist/evaluator/LlamaCompletion.js +11 -9
  82. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  83. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +11 -0
  84. package/dist/evaluator/LlamaContext/LlamaContext.js +66 -8
  85. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  86. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -1
  87. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -1
  88. package/dist/evaluator/LlamaGrammar.js +7 -0
  89. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  90. package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -2
  91. package/dist/evaluator/LlamaJsonSchemaGrammar.js +3 -0
  92. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  93. package/dist/evaluator/LlamaModel/LlamaModel.js +8 -4
  94. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  95. package/dist/gguf/fileReaders/GgufFileReader.d.ts +1 -1
  96. package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +1 -1
  97. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +1 -1
  98. package/dist/gguf/insights/GgufInsights.d.ts +1 -0
  99. package/dist/gguf/insights/GgufInsights.js +8 -0
  100. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  101. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +40 -4
  102. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +116 -93
  103. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  104. package/dist/gguf/insights/utils/getRamUsageFromUnifiedVram.d.ts +5 -0
  105. package/dist/gguf/insights/utils/getRamUsageFromUnifiedVram.js +7 -0
  106. package/dist/gguf/insights/utils/getRamUsageFromUnifiedVram.js.map +1 -0
  107. package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +11 -1
  108. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +47 -17
  109. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
  110. package/dist/gguf/insights/utils/scoreLevels.js.map +1 -1
  111. package/dist/gguf/readGgufFileInfo.js +1 -1
  112. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  113. package/dist/gguf/utils/getGgufMetadataKeyValue.d.ts +1 -0
  114. package/dist/gguf/utils/getGgufMetadataKeyValue.js +27 -0
  115. package/dist/gguf/utils/getGgufMetadataKeyValue.js.map +1 -0
  116. package/dist/index.d.ts +3 -2
  117. package/dist/index.js +2 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/dist/types.d.ts +2 -2
  121. package/dist/utils/StopGenerationDetector.js +1 -1
  122. package/dist/utils/StopGenerationDetector.js.map +1 -1
  123. package/dist/utils/ThreadsSplitter.js +2 -2
  124. package/dist/utils/ThreadsSplitter.js.map +1 -1
  125. package/dist/utils/createModelDownloader.js.map +1 -1
  126. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +2 -1
  127. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +14 -1
  128. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -1
  129. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +5 -0
  130. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +15 -0
  131. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  132. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +3 -0
  133. package/dist/utils/gbnfJson/GbnfTerminal.js +25 -3
  134. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
  135. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.d.ts +1 -1
  136. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  137. package/dist/utils/gbnfJson/terminals/GbnfAnyJson.d.ts +9 -0
  138. package/dist/utils/gbnfJson/terminals/GbnfAnyJson.js +53 -0
  139. package/dist/utils/gbnfJson/terminals/GbnfAnyJson.js.map +1 -0
  140. package/dist/utils/gbnfJson/terminals/GbnfArray.d.ts +11 -2
  141. package/dist/utils/gbnfJson/terminals/GbnfArray.js +64 -15
  142. package/dist/utils/gbnfJson/terminals/GbnfArray.js.map +1 -1
  143. package/dist/utils/gbnfJson/terminals/GbnfBoolean.d.ts +3 -2
  144. package/dist/utils/gbnfJson/terminals/GbnfBoolean.js +13 -7
  145. package/dist/utils/gbnfJson/terminals/GbnfBoolean.js.map +1 -1
  146. package/dist/utils/gbnfJson/terminals/GbnfCommaWhitespace.d.ts +11 -0
  147. package/dist/utils/gbnfJson/terminals/GbnfCommaWhitespace.js +28 -0
  148. package/dist/utils/gbnfJson/terminals/GbnfCommaWhitespace.js.map +1 -0
  149. package/dist/utils/gbnfJson/terminals/GbnfFormatString.d.ts +11 -0
  150. package/dist/utils/gbnfJson/terminals/GbnfFormatString.js +90 -0
  151. package/dist/utils/gbnfJson/terminals/GbnfFormatString.js.map +1 -0
  152. package/dist/utils/gbnfJson/terminals/GbnfGrammar.d.ts +4 -1
  153. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js +8 -1
  154. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js.map +1 -1
  155. package/dist/utils/gbnfJson/terminals/GbnfInsideStringChar.d.ts +5 -0
  156. package/dist/utils/gbnfJson/terminals/GbnfInsideStringChar.js +24 -0
  157. package/dist/utils/gbnfJson/terminals/GbnfInsideStringChar.js.map +1 -0
  158. package/dist/utils/gbnfJson/terminals/GbnfNumber.js +4 -3
  159. package/dist/utils/gbnfJson/terminals/GbnfNumber.js.map +1 -1
  160. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.d.ts +3 -1
  161. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js +8 -2
  162. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js.map +1 -1
  163. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.d.ts +14 -5
  164. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js +67 -9
  165. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js.map +1 -1
  166. package/dist/utils/gbnfJson/terminals/GbnfOr.d.ts +2 -1
  167. package/dist/utils/gbnfJson/terminals/GbnfOr.js +9 -5
  168. package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
  169. package/dist/utils/gbnfJson/terminals/GbnfRepetition.d.ts +7 -1
  170. package/dist/utils/gbnfJson/terminals/GbnfRepetition.js +69 -20
  171. package/dist/utils/gbnfJson/terminals/GbnfRepetition.js.map +1 -1
  172. package/dist/utils/gbnfJson/terminals/GbnfString.d.ts +8 -1
  173. package/dist/utils/gbnfJson/terminals/GbnfString.js +31 -21
  174. package/dist/utils/gbnfJson/terminals/GbnfString.js.map +1 -1
  175. package/dist/utils/gbnfJson/terminals/GbnfStringValue.d.ts +2 -0
  176. package/dist/utils/gbnfJson/terminals/GbnfStringValue.js +7 -4
  177. package/dist/utils/gbnfJson/terminals/GbnfStringValue.js.map +1 -1
  178. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.d.ts +2 -1
  179. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js +24 -5
  180. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js.map +1 -1
  181. package/dist/utils/gbnfJson/terminals/gbnfConsts.d.ts +16 -1
  182. package/dist/utils/gbnfJson/terminals/gbnfConsts.js +47 -1
  183. package/dist/utils/gbnfJson/terminals/gbnfConsts.js.map +1 -1
  184. package/dist/utils/gbnfJson/types.d.ts +164 -17
  185. package/dist/utils/gbnfJson/types.js +6 -0
  186. package/dist/utils/gbnfJson/types.js.map +1 -1
  187. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +61 -9
  188. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
  189. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +99 -8
  190. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  191. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +125 -16
  192. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
  193. package/dist/utils/hashString.js +1 -1
  194. package/dist/utils/hashString.js.map +1 -1
  195. package/dist/utils/includesText.d.ts +1 -0
  196. package/dist/utils/includesText.js +12 -0
  197. package/dist/utils/includesText.js.map +1 -0
  198. package/dist/utils/spawnCommand.js +1 -1
  199. package/dist/utils/spawnCommand.js.map +1 -1
  200. package/dist/utils/transformPromisable.js +1 -2
  201. package/dist/utils/transformPromisable.js.map +1 -1
  202. package/dist/utils/truncateTextAndRoundToWords.d.ts +4 -3
  203. package/dist/utils/truncateTextAndRoundToWords.js +90 -39
  204. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
  205. package/dist/utils/waitForLockfileRelease.js +0 -1
  206. package/dist/utils/waitForLockfileRelease.js.map +1 -1
  207. package/dist/utils/wrapAbortSignal.d.ts +1 -1
  208. package/dist/utils/wrapAbortSignal.js +9 -4
  209. package/dist/utils/wrapAbortSignal.js.map +1 -1
  210. package/llama/CMakeLists.txt +16 -90
  211. package/llama/addon/AddonContext.cpp +1 -1
  212. package/llama/addon/AddonGrammar.cpp +49 -1
  213. package/llama/addon/AddonGrammar.h +3 -0
  214. package/llama/addon/AddonModel.cpp +4 -4
  215. package/llama/addon/AddonSampler.cpp +0 -13
  216. package/llama/addon/AddonSampler.h +0 -2
  217. package/llama/addon/addon.cpp +19 -0
  218. package/llama/addon/globals/getGpuInfo.cpp +61 -53
  219. package/llama/addon/globals/getSwapInfo.cpp +69 -0
  220. package/llama/addon/globals/getSwapInfo.h +4 -0
  221. package/llama/binariesGithubRelease.json +1 -1
  222. package/llama/gitRelease.bundle +0 -0
  223. package/llama/gpuInfo/vulkan-gpu-info.cpp +15 -16
  224. package/llama/gpuInfo/vulkan-gpu-info.h +1 -2
  225. package/llama/grammars/README.md +1 -1
  226. package/llama/llama.cpp.info.json +1 -1
  227. package/package.json +57 -51
  228. package/templates/README.md +6 -0
  229. package/templates/packed/electron-typescript-react.json +1 -1
  230. package/templates/packed/node-typescript.json +1 -1
  231. package/llama/gpuInfo/cuda-gpu-info.cu +0 -120
  232. package/llama/gpuInfo/cuda-gpu-info.h +0 -10
  233. package/llama/gpuInfo/metal-gpu-info.h +0 -8
  234. package/llama/gpuInfo/metal-gpu-info.mm +0 -30
@@ -0,0 +1,253 @@
1
+ import { ChatWrapper } from "../ChatWrapper.js";
2
+ import { SpecialToken, LlamaText, SpecialTokensText } from "../utils/LlamaText.js";
3
+ import { ChatModelFunctionsDocumentationGenerator } from "./utils/ChatModelFunctionsDocumentationGenerator.js";
4
+ import { isLlama3_2LightweightModel } from "./utils/isLlama3_2LightweightModel.js";
5
+ // source: https://llama.meta.com/docs/model-cards-and-prompt-formats/llama3_2/
6
+ export class Llama3_2LightweightChatWrapper extends ChatWrapper {
7
+ wrapperName = "Llama 3.2 lightweight";
8
+ cuttingKnowledgeDate;
9
+ todayDate;
10
+ noToolInstructions;
11
+ /** @internal */ _specialTokensTextForPreamble;
12
+ settings = {
13
+ supportsSystemMessages: true,
14
+ functions: {
15
+ call: {
16
+ optionalPrefixSpace: true,
17
+ prefix: '{"name": "',
18
+ paramsPrefix: '", "parameters": ',
19
+ suffix: LlamaText("}", new SpecialToken("EOT"))
20
+ },
21
+ result: {
22
+ prefix: LlamaText(new SpecialToken("EOT"), new SpecialTokensText("<|start_header_id|>ipython<|end_header_id|>\n\n")),
23
+ suffix: LlamaText(new SpecialToken("EOT"), new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n"))
24
+ }
25
+ }
26
+ };
27
+ /**
28
+ * @param options
29
+ */
30
+ constructor(options = {}) {
31
+ super();
32
+ const { cuttingKnowledgeDate = new Date("2023-12-01T00:00:00Z"), todayDate = () => new Date(), noToolInstructions = false, _specialTokensTextForPreamble = false } = options;
33
+ this.cuttingKnowledgeDate = cuttingKnowledgeDate == null
34
+ ? null
35
+ : cuttingKnowledgeDate instanceof Function
36
+ ? cuttingKnowledgeDate
37
+ : new Date(cuttingKnowledgeDate);
38
+ this.todayDate = todayDate == null
39
+ ? null
40
+ : todayDate instanceof Function
41
+ ? todayDate
42
+ : new Date(todayDate);
43
+ this.noToolInstructions = noToolInstructions;
44
+ this._specialTokensTextForPreamble = _specialTokensTextForPreamble;
45
+ }
46
+ addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, { documentParams = true } = {}) {
47
+ const availableFunctionNames = Object.keys(availableFunctions ?? {});
48
+ if (availableFunctions == null || availableFunctionNames.length === 0)
49
+ return history;
50
+ const res = history.slice();
51
+ const functionsSystemMessage = {
52
+ type: "system",
53
+ text: this.generateAvailableFunctionsSystemText(availableFunctions, { documentParams }).toJSON()
54
+ };
55
+ if (res.length >= 2 && res[0].type === "system" && res[1].type === "system")
56
+ res.splice(1, 0, functionsSystemMessage);
57
+ else
58
+ res.unshift({
59
+ type: "system",
60
+ text: this.generateAvailableFunctionsSystemText(availableFunctions, { documentParams }).toJSON()
61
+ });
62
+ return res;
63
+ }
64
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
65
+ const chatHistoryWithPreamble = this.prependPreambleToChatHistory(chatHistory);
66
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistoryWithPreamble, availableFunctions, {
67
+ documentParams: documentFunctionParams
68
+ });
69
+ const resultItems = [];
70
+ let systemTexts = [];
71
+ let userTexts = [];
72
+ let modelTexts = [];
73
+ let currentAggregateFocus = null;
74
+ const flush = () => {
75
+ if (systemTexts.length > 0 || userTexts.length > 0 || modelTexts.length > 0)
76
+ resultItems.push({
77
+ system: systemTexts.length === 0
78
+ ? null
79
+ : LlamaText.joinValues(resultItems.length === 0 && this._specialTokensTextForPreamble
80
+ ? LlamaText(new SpecialTokensText("\n\n"))
81
+ : "\n\n", systemTexts),
82
+ user: userTexts.length === 0
83
+ ? null
84
+ : LlamaText.joinValues("\n\n", userTexts),
85
+ model: modelTexts.length === 0
86
+ ? null
87
+ : LlamaText.joinValues("\n\n", modelTexts)
88
+ });
89
+ systemTexts = [];
90
+ userTexts = [];
91
+ modelTexts = [];
92
+ };
93
+ for (const item of historyWithFunctions) {
94
+ if (item.type === "system") {
95
+ if (currentAggregateFocus !== "system")
96
+ flush();
97
+ currentAggregateFocus = "system";
98
+ systemTexts.push(LlamaText.fromJSON(item.text));
99
+ }
100
+ else if (item.type === "user") {
101
+ if (currentAggregateFocus !== "user")
102
+ flush();
103
+ currentAggregateFocus = "user";
104
+ userTexts.push(LlamaText(item.text));
105
+ }
106
+ else if (item.type === "model") {
107
+ if (currentAggregateFocus !== "model")
108
+ flush();
109
+ currentAggregateFocus = "model";
110
+ modelTexts.push(this.generateModelResponseText(item.response));
111
+ }
112
+ else
113
+ void item;
114
+ }
115
+ flush();
116
+ const contextText = LlamaText(new SpecialToken("BOS"), resultItems.map((item, index) => {
117
+ const isLastItem = index === resultItems.length - 1;
118
+ const res = [];
119
+ if (item.system != null) {
120
+ res.push(LlamaText([
121
+ new SpecialTokensText("<|start_header_id|>system<|end_header_id|>\n\n"),
122
+ item.system,
123
+ new SpecialToken("EOT")
124
+ ]));
125
+ }
126
+ if (item.user != null) {
127
+ res.push(LlamaText([
128
+ new SpecialTokensText("<|start_header_id|>user<|end_header_id|>\n\n"),
129
+ item.user,
130
+ new SpecialToken("EOT")
131
+ ]));
132
+ }
133
+ if (item.model != null) {
134
+ res.push(LlamaText([
135
+ new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n"),
136
+ item.model,
137
+ isLastItem
138
+ ? LlamaText([])
139
+ : new SpecialToken("EOT")
140
+ ]));
141
+ }
142
+ return LlamaText(res);
143
+ }));
144
+ return {
145
+ contextText,
146
+ stopGenerationTriggers: [
147
+ LlamaText(new SpecialToken("EOS")),
148
+ LlamaText(new SpecialToken("EOT")),
149
+ LlamaText(new SpecialTokensText("<|eot_id|>")),
150
+ LlamaText(new SpecialTokensText("<|end_of_text|>")),
151
+ LlamaText("<|eot_id|>"),
152
+ LlamaText("<|end_of_text|>")
153
+ ]
154
+ };
155
+ }
156
+ generateAvailableFunctionsSystemText(availableFunctions, { documentParams = true }) {
157
+ const functionsDocumentationGenerator = new ChatModelFunctionsDocumentationGenerator(availableFunctions);
158
+ if (!functionsDocumentationGenerator.hasAnyFunctions)
159
+ return LlamaText([]);
160
+ return LlamaText.joinValues("\n", [
161
+ "You have access to the following functions. To call a function, please respond with JSON for a function call.",
162
+ 'Respond in the format {"name": function name, "parameters": function call parameters}.',
163
+ "Do not use variables.",
164
+ "",
165
+ functionsDocumentationGenerator.getLlama3_2LightweightFunctionSignatures({ documentParams }),
166
+ "",
167
+ "After calling a function, the result will appear afterwards and is only visible to you.",
168
+ "To make information visible to the user, you must include it in your response.",
169
+ "Do not tell the user about the functions your are using.",
170
+ "Only call functions when needed."
171
+ ]);
172
+ }
173
+ prependPreambleToChatHistory(chatHistory) {
174
+ const res = chatHistory.slice();
175
+ const formatMonthDate = (date, timezone) => {
176
+ const today = this.todayDate instanceof Function
177
+ ? this.todayDate()
178
+ : (this.todayDate ?? new Date());
179
+ if (today.getUTCMonth() === date.getUTCMonth() && today.getUTCFullYear() === date.getUTCFullYear())
180
+ return formatDate(date, timezone);
181
+ const month = date.toLocaleDateString("en-US", { month: "long", timeZone: timezone });
182
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: timezone });
183
+ return `${month} ${year}`;
184
+ };
185
+ const lines = [];
186
+ if (this.cuttingKnowledgeDate != null) {
187
+ const date = this.cuttingKnowledgeDate instanceof Function
188
+ ? this.cuttingKnowledgeDate()
189
+ : this.cuttingKnowledgeDate;
190
+ lines.push(`Cutting Knowledge Date: ${formatMonthDate(date, "UTC")}`);
191
+ }
192
+ if (this.todayDate != null) {
193
+ const date = this.todayDate instanceof Function
194
+ ? this.todayDate()
195
+ : this.todayDate;
196
+ lines.push(`Today Date: ${formatDate(date, undefined)}`);
197
+ }
198
+ if (lines.length > 0)
199
+ res.unshift({
200
+ type: "system",
201
+ text: this._specialTokensTextForPreamble
202
+ ? LlamaText(new SpecialTokensText(lines.join("\n"))).toJSON()
203
+ : LlamaText.joinValues("\n", lines).toJSON()
204
+ });
205
+ return res;
206
+ }
207
+ /** @internal */
208
+ static _checkModelCompatibility(options) {
209
+ if (options.tokenizer != null) {
210
+ const tokens = options.tokenizer("<|eom_id|>", true, "trimLeadingSpace");
211
+ return tokens.length === 1 && options.tokenizer.isSpecialToken(tokens[0]) && isLlama3_2LightweightModel(options);
212
+ }
213
+ return isLlama3_2LightweightModel(options);
214
+ }
215
+ /** @internal */
216
+ static _getOptionConfigurationsToTestIfCanSupersedeJinjaTemplate() {
217
+ return [
218
+ {},
219
+ [{ todayDate: null }, {}],
220
+ [{ cuttingKnowledgeDate: null }, {}],
221
+ [{ noToolInstructions: true }, {}],
222
+ [{ todayDate: null, cuttingKnowledgeDate: null }, {}],
223
+ [{ todayDate: null, cuttingKnowledgeDate: null, noToolInstructions: true }, {}],
224
+ [{ todayDate: new Date("2024-07-26T00:00:00"), cuttingKnowledgeDate: null, noToolInstructions: true }, {}],
225
+ [
226
+ {
227
+ todayDate: new Date("2024-07-26T00:00:00"),
228
+ cuttingKnowledgeDate: new Date("2023-12-01T00:00:00Z"),
229
+ noToolInstructions: true
230
+ },
231
+ { cuttingKnowledgeDate: new Date("2023-12-01T00:00:00Z") },
232
+ { "date_string": formatDate(new Date("2024-07-26T00:00:00"), undefined) }
233
+ ],
234
+ [
235
+ {
236
+ todayDate: new Date("2024-07-26T00:00:00"),
237
+ cuttingKnowledgeDate: new Date("2023-12-01T00:00:00Z"),
238
+ noToolInstructions: true,
239
+ _specialTokensTextForPreamble: true
240
+ },
241
+ { cuttingKnowledgeDate: new Date("2023-12-01T00:00:00Z") },
242
+ { "date_string": formatDate(new Date("2024-07-26T00:00:00"), undefined) }
243
+ ]
244
+ ];
245
+ }
246
+ }
247
+ function formatDate(date, timezone) {
248
+ const day = date.toLocaleDateString("en-US", { day: "numeric", timeZone: timezone });
249
+ const month = date.toLocaleDateString("en-US", { month: "short", timeZone: timezone });
250
+ const year = date.toLocaleDateString("en-US", { year: "numeric", timeZone: timezone });
251
+ return `${day} ${month} ${year}`;
252
+ }
253
+ //# sourceMappingURL=Llama3_2LightweightChatWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Llama3_2LightweightChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3_2LightweightChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -54,4 +54,17 @@ export declare class ChatModelFunctionsDocumentationGenerator {
54
54
  getLlama3_1FunctionSignatures({ documentParams }?: {
55
55
  documentParams?: boolean;
56
56
  }): string;
57
+ /**
58
+ * Example:
59
+ * ```
60
+ * {"name": "getDate", "description": "Retrieve the current date"}
61
+ *
62
+ * {"name": "getTime", "description": "Retrieve the current time", "parameters": {"type": "object", "properties": {"hours": {"enum": ["24", "12"]}, "seconds": {"type": "boolean"}}}}
63
+ * ```
64
+ * @param options
65
+ * @param [options.documentParams] - Whether to document the parameters of the functions
66
+ */
67
+ getLlama3_2LightweightFunctionSignatures({ documentParams }?: {
68
+ documentParams?: boolean;
69
+ }): string;
57
70
  }
@@ -79,7 +79,7 @@ export class ChatModelFunctionsDocumentationGenerator {
79
79
  })
80
80
  .join("\n\n");
81
81
  }
82
- /* eslint-disable max-len */
82
+ /* eslint-disable @stylistic/max-len */
83
83
  /**
84
84
  * Example:
85
85
  * ```
@@ -115,5 +115,35 @@ export class ChatModelFunctionsDocumentationGenerator {
115
115
  })
116
116
  .join("\n\n");
117
117
  }
118
+ /* eslint-enable @stylistic/max-len */
119
+ /* eslint-disable @stylistic/max-len */
120
+ /**
121
+ * Example:
122
+ * ```
123
+ * {"name": "getDate", "description": "Retrieve the current date"}
124
+ *
125
+ * {"name": "getTime", "description": "Retrieve the current time", "parameters": {"type": "object", "properties": {"hours": {"enum": ["24", "12"]}, "seconds": {"type": "boolean"}}}}
126
+ * ```
127
+ * @param options
128
+ * @param [options.documentParams] - Whether to document the parameters of the functions
129
+ */
130
+ getLlama3_2LightweightFunctionSignatures({ documentParams = true } = {}) {
131
+ const chatModelFunctions = this.chatModelFunctions;
132
+ if (!this.hasAnyFunctions || chatModelFunctions == null)
133
+ return "";
134
+ const functionNames = Object.keys(chatModelFunctions);
135
+ const functionsLines = functionNames
136
+ .map((functionName) => {
137
+ const functionDefinition = chatModelFunctions[functionName];
138
+ const addDescription = functionDefinition?.description != null && functionDefinition.description.trim() !== "";
139
+ return jsonDumps({
140
+ name: functionName,
141
+ ...(addDescription ? { description: functionDefinition.description } : {}),
142
+ ...(documentParams && functionDefinition?.params != null ? { parameters: functionDefinition.params } : {})
143
+ });
144
+ })
145
+ .join("\n\n");
146
+ return functionsLines;
147
+ }
118
148
  }
119
149
  //# 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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"}
@@ -24,7 +24,7 @@ export function chunkChatItems(chatHistory, { generateModelResponseText, joinAdj
24
24
  systemTexts.push(LlamaText.fromJSON(item.text));
25
25
  }
26
26
  else if (item.type === "user") {
27
- if (!joinAdjacentMessagesOfTheSameType || currentAggregateFocus !== "system" && currentAggregateFocus !== "user")
27
+ if (!joinAdjacentMessagesOfTheSameType || (currentAggregateFocus !== "system" && currentAggregateFocus !== "user"))
28
28
  flush();
29
29
  currentAggregateFocus = "user";
30
30
  userTexts.push(LlamaText(item.text));
@@ -1 +1 @@
1
- {"version":3,"file":"chunkChatItems.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/chunkChatItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,MAAM,UAAU,cAAc,CAAC,WAAuC,EAAE,EACpE,yBAAyB,EACzB,iCAAiC,GAAG,IAAI,EAI3C;IACG,MAAM,WAAW,GAIZ,EAAE,CAAC;IAER,IAAI,WAAW,GAAgB,EAAE,CAAC;IAClC,IAAI,SAAS,GAAgB,EAAE,CAAC;IAChC,IAAI,UAAU,GAAgB,EAAE,CAAC;IACjC,IAAI,qBAAqB,GAAuC,IAAI,CAAC;IAErE,SAAS,KAAK;QACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACvE,WAAW,CAAC,IAAI,CAAC;gBACb,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;gBACjD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7C,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;aAClD,CAAC,CAAC;QAEP,WAAW,GAAG,EAAE,CAAC;QACjB,SAAS,GAAG,EAAE,CAAC;QACf,UAAU,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,iCAAiC,IAAI,qBAAqB,KAAK,QAAQ;gBACxE,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,QAAQ,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,iCAAiC,IAAI,qBAAqB,KAAK,QAAQ,IAAI,qBAAqB,KAAK,MAAM;gBAC5G,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,MAAM,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,iCAAiC;gBAClC,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,OAAO,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,CAAC;;YACG,KAAM,IAAqB,CAAC;IACpC,CAAC;IAED,KAAK,EAAE,CAAC;IAER,OAAO,WAAW,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"chunkChatItems.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/chunkChatItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,MAAM,UAAU,cAAc,CAAC,WAAuC,EAAE,EACpE,yBAAyB,EACzB,iCAAiC,GAAG,IAAI,EAI3C;IACG,MAAM,WAAW,GAIZ,EAAE,CAAC;IAER,IAAI,WAAW,GAAgB,EAAE,CAAC;IAClC,IAAI,SAAS,GAAgB,EAAE,CAAC;IAChC,IAAI,UAAU,GAAgB,EAAE,CAAC;IACjC,IAAI,qBAAqB,GAAuC,IAAI,CAAC;IAErE,SAAS,KAAK;QACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACvE,WAAW,CAAC,IAAI,CAAC;gBACb,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;gBACjD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7C,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;aAClD,CAAC,CAAC;QAEP,WAAW,GAAG,EAAE,CAAC;QACjB,SAAS,GAAG,EAAE,CAAC;QACf,UAAU,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,iCAAiC,IAAI,qBAAqB,KAAK,QAAQ;gBACxE,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,QAAQ,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,iCAAiC,IAAI,CAAC,qBAAqB,KAAK,QAAQ,IAAI,qBAAqB,KAAK,MAAM,CAAC;gBAC9G,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,MAAM,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,iCAAiC;gBAClC,KAAK,EAAE,CAAC;YAEZ,qBAAqB,GAAG,OAAO,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,CAAC;;YACG,KAAM,IAAqB,CAAC;IACpC,CAAC;IAED,KAAK,EAAE,CAAC;IAER,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GgufMetadata } from "../../gguf/types/GgufMetadataTypes.js";
2
+ export declare function getModelLinageNames(ggufMetadata?: GgufMetadata): string[][];
@@ -0,0 +1,18 @@
1
+ export function getModelLinageNames(ggufMetadata) {
2
+ const res = [];
3
+ if (ggufMetadata == null)
4
+ return res;
5
+ const currentModelInfo = [ggufMetadata?.general?.name, ggufMetadata?.general?.basename]
6
+ .filter((v) => v != null);
7
+ if (currentModelInfo.length > 0)
8
+ res.push(currentModelInfo);
9
+ if (typeof ggufMetadata?.general?.base_model?.count === "number") {
10
+ for (let i = 0; i < ggufMetadata.general.base_model.count; i++) {
11
+ const baseModel = ggufMetadata.general.base_model[String(i)];
12
+ if (baseModel?.name != null)
13
+ res.push([baseModel.name]);
14
+ }
15
+ }
16
+ return res;
17
+ }
18
+ //# sourceMappingURL=getModelLinageNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getModelLinageNames.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/getModelLinageNames.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,YAA2B;IAC3D,MAAM,GAAG,GAAe,EAAE,CAAC;IAE3B,IAAI,YAAY,IAAI,IAAI;QACpB,OAAO,GAAG,CAAC;IAEf,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;SAClF,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC3C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE/B,IAAI,OAAO,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAgB,CAAC,CAAC;YAC5E,IAAI,SAAS,EAAE,IAAI,IAAI,IAAI;gBACvB,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import { ChatWrapperCheckModelCompatibilityParams } from "../../types.js";
2
+ export declare function isLlama3_2LightweightModel(options: ChatWrapperCheckModelCompatibilityParams): boolean;
@@ -0,0 +1,9 @@
1
+ import { includesText } from "../../utils/includesText.js";
2
+ import { getModelLinageNames } from "./getModelLinageNames.js";
3
+ export function isLlama3_2LightweightModel(options) {
4
+ const isLlama3_2 = getModelLinageNames(options.fileInfo?.metadata)
5
+ .some((modelNames) => includesText(modelNames, ["llama 3.2", "llama-3.2", "llama3.2"]));
6
+ const isSmallModel = ["1B", "3B"].includes(options.fileInfo?.metadata?.general?.size_label ?? "");
7
+ return isLlama3_2 && isSmallModel;
8
+ }
9
+ //# sourceMappingURL=isLlama3_2LightweightModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLlama3_2LightweightModel.js","sourceRoot":"","sources":["../../../src/chatWrappers/utils/isLlama3_2LightweightModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,UAAU,0BAA0B,CAAC,OAAiD;IACxF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7D,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAI,CAAC,IAAI,EAAE,IAAI,CAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAEhH,OAAO,UAAU,IAAI,YAAY,CAAC;AACtC,CAAC"}
@@ -9,18 +9,20 @@ import { GemmaChatWrapper } from "../GemmaChatWrapper.js";
9
9
  import { JinjaTemplateChatWrapper } from "../generic/JinjaTemplateChatWrapper.js";
10
10
  import { TemplateChatWrapper } from "../generic/TemplateChatWrapper.js";
11
11
  import { Llama3_1ChatWrapper } from "../Llama3_1ChatWrapper.js";
12
+ import { Llama3_2LightweightChatWrapper } from "../Llama3_2LightweightChatWrapper.js";
12
13
  import { MistralChatWrapper } from "../MistralChatWrapper.js";
13
14
  import { Tokenizer } from "../../types.js";
14
15
  import type { GgufFileInfo } from "../../gguf/types/GgufFileInfoTypes.js";
15
- export declare const specializedChatWrapperTypeNames: readonly ["general", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"];
16
+ export declare const specializedChatWrapperTypeNames: readonly ["general", "llama3.2-lightweight", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"];
16
17
  export type SpecializedChatWrapperTypeName = (typeof specializedChatWrapperTypeNames)[number];
17
18
  export declare const templateChatWrapperTypeNames: readonly ["template", "jinjaTemplate"];
18
19
  export type TemplateChatWrapperTypeName = (typeof templateChatWrapperTypeNames)[number];
19
- export declare const resolvableChatWrapperTypeNames: readonly ["auto", "general", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma", "template", "jinjaTemplate"];
20
+ export declare const resolvableChatWrapperTypeNames: readonly ["auto", "general", "llama3.2-lightweight", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma", "template", "jinjaTemplate"];
20
21
  export type ResolvableChatWrapperTypeName = (typeof resolvableChatWrapperTypeNames)[number];
21
22
  export declare const chatWrappers: Readonly<{
22
23
  readonly general: typeof GeneralChatWrapper;
23
24
  readonly "llama3.1": typeof Llama3_1ChatWrapper;
25
+ readonly "llama3.2-lightweight": typeof Llama3_2LightweightChatWrapper;
24
26
  readonly llama3: typeof Llama3ChatWrapper;
25
27
  readonly llama2Chat: typeof Llama2ChatWrapper;
26
28
  readonly mistral: typeof MistralChatWrapper;
@@ -11,10 +11,13 @@ import { JinjaTemplateChatWrapper } from "../generic/JinjaTemplateChatWrapper.js
11
11
  import { TemplateChatWrapper } from "../generic/TemplateChatWrapper.js";
12
12
  import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
13
13
  import { Llama3_1ChatWrapper } from "../Llama3_1ChatWrapper.js";
14
+ import { Llama3_2LightweightChatWrapper } from "../Llama3_2LightweightChatWrapper.js";
14
15
  import { MistralChatWrapper } from "../MistralChatWrapper.js";
16
+ import { includesText } from "../../utils/includesText.js";
15
17
  import { isJinjaTemplateEquivalentToSpecializedChatWrapper } from "./isJinjaTemplateEquivalentToSpecializedChatWrapper.js";
18
+ import { getModelLinageNames } from "./getModelLinageNames.js";
16
19
  export const specializedChatWrapperTypeNames = Object.freeze([
17
- "general", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"
20
+ "general", "llama3.2-lightweight", "llama3.1", "llama3", "llama2Chat", "mistral", "alpacaChat", "functionary", "chatML", "falconChat", "gemma"
18
21
  ]);
19
22
  export const templateChatWrapperTypeNames = Object.freeze([
20
23
  "template", "jinjaTemplate"
@@ -27,6 +30,7 @@ export const resolvableChatWrapperTypeNames = Object.freeze([
27
30
  export const chatWrappers = Object.freeze({
28
31
  "general": GeneralChatWrapper,
29
32
  "llama3.1": Llama3_1ChatWrapper,
33
+ "llama3.2-lightweight": Llama3_2LightweightChatWrapper,
30
34
  "llama3": Llama3ChatWrapper,
31
35
  "llama2Chat": Llama2ChatWrapper,
32
36
  "mistral": MistralChatWrapper,
@@ -77,23 +81,6 @@ export function resolveChatWrapper(options) {
77
81
  ...(chatWrapperSettings ?? {})
78
82
  });
79
83
  }
80
- function getModelLinageNames() {
81
- const res = [];
82
- if (fileInfo == null)
83
- return res;
84
- const currentModelInfo = [fileInfo.metadata?.general?.name, fileInfo.metadata?.general?.basename]
85
- .filter((v) => v != null);
86
- if (currentModelInfo.length > 0)
87
- res.push(currentModelInfo);
88
- if (typeof fileInfo.metadata?.general?.base_model?.count === "number") {
89
- for (let i = 0; i < fileInfo.metadata.general.base_model.count; i++) {
90
- const baseModel = fileInfo.metadata.general.base_model[String(i)];
91
- if (baseModel?.name != null)
92
- res.push([baseModel.name]);
93
- }
94
- }
95
- return res;
96
- }
97
84
  if (type !== "auto" && type != null) {
98
85
  if (isTemplateChatWrapperType(type)) {
99
86
  const Wrapper = chatWrappers[type];
@@ -200,8 +187,10 @@ export function resolveChatWrapper(options) {
200
187
  }
201
188
  }
202
189
  }
203
- for (const modelNames of getModelLinageNames()) {
204
- if (includesText(modelNames, ["llama 3.1", "llama-3.1", "llama3.1"]) && Llama3_1ChatWrapper._checkModelCompatibility({ tokenizer, fileInfo }))
190
+ for (const modelNames of getModelLinageNames(fileInfo?.metadata)) {
191
+ if (includesText(modelNames, ["llama 3.2", "llama-3.2", "llama3.2"]) && Llama3_2LightweightChatWrapper._checkModelCompatibility({ tokenizer, fileInfo }))
192
+ return createSpecializedChatWrapper(Llama3_2LightweightChatWrapper);
193
+ else if (includesText(modelNames, ["llama 3.1", "llama-3.1", "llama3.1"]) && Llama3_1ChatWrapper._checkModelCompatibility({ tokenizer, fileInfo }))
205
194
  return createSpecializedChatWrapper(Llama3_1ChatWrapper);
206
195
  else if (includesText(modelNames, ["llama 3", "llama-3", "llama3"]))
207
196
  return createSpecializedChatWrapper(Llama3ChatWrapper);
@@ -233,7 +222,7 @@ export function resolveChatWrapper(options) {
233
222
  if (fileType?.toLowerCase() === "gguf") {
234
223
  const lowercaseName = name?.toLowerCase();
235
224
  const lowercaseSubType = subType?.toLowerCase();
236
- const splitLowercaseSubType = (lowercaseSubType?.split("-") ?? []).concat(otherInfo.map(info => info.toLowerCase()));
225
+ const splitLowercaseSubType = (lowercaseSubType?.split("-") ?? []).concat(otherInfo.map((info) => info.toLowerCase()));
237
226
  const firstSplitLowercaseSubType = splitLowercaseSubType[0];
238
227
  if (lowercaseName === "llama") {
239
228
  if (splitLowercaseSubType.includes("chat"))
@@ -289,17 +278,6 @@ export function isSpecializedChatWrapperType(type) {
289
278
  export function isTemplateChatWrapperType(type) {
290
279
  return templateChatWrapperTypeNames.includes(type);
291
280
  }
292
- function includesText(value, textToCheckFor, strictCase = false) {
293
- if (value instanceof Array)
294
- return value.some((v) => includesText(v, textToCheckFor, strictCase));
295
- else if (typeof value !== "string")
296
- return false;
297
- if (textToCheckFor instanceof Array)
298
- return textToCheckFor.some((t) => includesText(value, t, strictCase));
299
- if (strictCase)
300
- return value.includes(textToCheckFor);
301
- return value.toLowerCase().includes(textToCheckFor.toLowerCase());
302
- }
303
281
  // this is needed because TypeScript guards don't work automatically with class references
304
282
  function isClassReference(value, classReference) {
305
283
  return value === classReference;