node-llama-cpp 3.0.0-beta.22 → 3.0.0-beta.24

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 (288) hide show
  1. package/{llamaBins → bins}/linux-arm64/_nlcBuildMetadata.json +1 -1
  2. package/bins/linux-arm64/llama-addon.node +0 -0
  3. package/{llamaBins → bins}/linux-armv7l/_nlcBuildMetadata.json +1 -1
  4. package/bins/linux-armv7l/llama-addon.node +0 -0
  5. package/{llamaBins → bins}/linux-x64/_nlcBuildMetadata.json +1 -1
  6. package/bins/linux-x64/llama-addon.node +0 -0
  7. package/{llamaBins → bins}/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
  8. package/{llamaBins → bins}/linux-x64-cuda/llama-addon.node +0 -0
  9. package/{llamaBins → bins}/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  10. package/bins/linux-x64-vulkan/llama-addon.node +0 -0
  11. package/{llamaBins → bins}/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  12. package/bins/mac-arm64-metal/default.metallib +0 -0
  13. package/bins/mac-arm64-metal/llama-addon.node +0 -0
  14. package/{llamaBins → bins}/mac-x64/_nlcBuildMetadata.json +1 -1
  15. package/bins/mac-x64/llama-addon.node +0 -0
  16. package/{llamaBins → bins}/win-arm64/_nlcBuildMetadata.json +1 -1
  17. package/{llamaBins → bins}/win-arm64/llama-addon.exp +0 -0
  18. package/{llamaBins → bins}/win-arm64/llama-addon.lib +0 -0
  19. package/bins/win-arm64/llama-addon.node +0 -0
  20. package/{llamaBins → bins}/win-x64/_nlcBuildMetadata.json +1 -1
  21. package/{llamaBins → bins}/win-x64/llama-addon.exp +0 -0
  22. package/{llamaBins → bins}/win-x64/llama-addon.lib +0 -0
  23. package/bins/win-x64/llama-addon.node +0 -0
  24. package/{llamaBins → bins}/win-x64-cuda/_nlcBuildMetadata.json +1 -1
  25. package/{llamaBins → bins}/win-x64-cuda/llama-addon.exp +0 -0
  26. package/{llamaBins → bins}/win-x64-cuda/llama-addon.lib +0 -0
  27. package/{llamaBins → bins}/win-x64-cuda/llama-addon.node +0 -0
  28. package/{llamaBins → bins}/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  29. package/{llamaBins → bins}/win-x64-vulkan/llama-addon.exp +0 -0
  30. package/{llamaBins → bins}/win-x64-vulkan/llama-addon.lib +0 -0
  31. package/bins/win-x64-vulkan/llama-addon.node +0 -0
  32. package/dist/ChatWrapper.d.ts +8 -26
  33. package/dist/ChatWrapper.js +100 -52
  34. package/dist/ChatWrapper.js.map +1 -1
  35. package/dist/{apiDocsOverrides.js → apiDocsIndex.js} +3 -1
  36. package/dist/apiDocsIndex.js.map +1 -0
  37. package/dist/bindings/AddonTypes.d.ts +1 -1
  38. package/dist/bindings/Llama.d.ts +1 -1
  39. package/dist/bindings/Llama.js +5 -1
  40. package/dist/bindings/Llama.js.map +1 -1
  41. package/dist/bindings/getLlama.js.map +1 -1
  42. package/dist/bindings/types.d.ts +1 -0
  43. package/dist/bindings/utils/asyncEvery.js.map +1 -1
  44. package/dist/bindings/utils/asyncSome.js.map +1 -1
  45. package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -1
  46. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  47. package/dist/bindings/utils/compileLLamaCpp.d.ts +2 -0
  48. package/dist/bindings/utils/compileLLamaCpp.js +5 -1
  49. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  50. package/dist/bindings/utils/detectAvailableComputeLayers.js +2 -1
  51. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  52. package/dist/bindings/utils/detectGlibc.js +3 -3
  53. package/dist/bindings/utils/detectGlibc.js.map +1 -1
  54. package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +1 -0
  55. package/dist/bindings/utils/getBestComputeLayersAvailable.js.map +1 -1
  56. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
  57. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -1
  58. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -0
  59. package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -1
  60. package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -1
  61. package/dist/bindings/utils/getPlatform.js.map +1 -1
  62. package/dist/bindings/utils/getPlatformInfo.js.map +1 -1
  63. package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js.map +1 -1
  64. package/dist/bindings/utils/lastBuildInfo.js.map +1 -1
  65. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -1
  66. package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -1
  67. package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -0
  68. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
  69. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  70. package/dist/bindings/utils/testCmakeBinary.d.ts +1 -0
  71. package/dist/chatWrappers/ChatMLChatWrapper.d.ts +2 -14
  72. package/dist/chatWrappers/ChatMLChatWrapper.js +10 -10
  73. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  74. package/dist/chatWrappers/FalconChatWrapper.d.ts +2 -9
  75. package/dist/chatWrappers/FalconChatWrapper.js +10 -10
  76. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  77. package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +8 -32
  78. package/dist/chatWrappers/FunctionaryChatWrapper.js +274 -82
  79. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  80. package/dist/chatWrappers/GemmaChatWrapper.d.ts +3 -14
  81. package/dist/chatWrappers/GemmaChatWrapper.js +20 -12
  82. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  83. package/dist/chatWrappers/GeneralChatWrapper.d.ts +2 -9
  84. package/dist/chatWrappers/GeneralChatWrapper.js +10 -10
  85. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  86. package/dist/chatWrappers/Llama2ChatWrapper.d.ts +2 -10
  87. package/dist/chatWrappers/Llama2ChatWrapper.js +9 -9
  88. package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -1
  89. package/dist/chatWrappers/Llama3ChatWrapper.d.ts +10 -25
  90. package/dist/chatWrappers/Llama3ChatWrapper.js +71 -26
  91. package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
  92. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +6 -12
  93. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +25 -13
  94. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  95. package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +14 -24
  96. package/dist/chatWrappers/generic/TemplateChatWrapper.js +21 -21
  97. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
  98. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +11 -21
  99. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +1 -1
  100. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -1
  101. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +8 -4
  102. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
  103. package/dist/chatWrappers/utils/resolveChatWrapper.js +30 -1
  104. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  105. package/dist/cli/commands/BuildCommand.d.ts +6 -1
  106. package/dist/cli/commands/BuildCommand.js +14 -3
  107. package/dist/cli/commands/BuildCommand.js.map +1 -1
  108. package/dist/cli/commands/ChatCommand.js +1 -1
  109. package/dist/cli/commands/ChatCommand.js.map +1 -1
  110. package/dist/cli/commands/ClearCommand.js.map +1 -1
  111. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  112. package/dist/cli/commands/DownloadCommand.d.ts +1 -0
  113. package/dist/cli/commands/DownloadCommand.js +1 -1
  114. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  115. package/dist/cli/commands/InfillCommand.js.map +1 -1
  116. package/dist/cli/commands/InitCommand.js.map +1 -1
  117. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  118. package/dist/cli/commands/PullCommand.js.map +1 -1
  119. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  120. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  121. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  122. package/dist/cli/recommendedModels.js +48 -27
  123. package/dist/cli/recommendedModels.js.map +1 -1
  124. package/dist/cli/utils/ConsoleInteraction.js.map +1 -1
  125. package/dist/cli/utils/ConsoleTable.js.map +1 -1
  126. package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -1
  127. package/dist/cli/utils/consolePromptQuestion.js.map +1 -1
  128. package/dist/cli/utils/getReadablePath.js +1 -1
  129. package/dist/cli/utils/getReadablePath.js.map +1 -1
  130. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  131. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  132. package/dist/cli/utils/printInfoLine.js.map +1 -1
  133. package/dist/cli/utils/projectTemplates.js.map +1 -1
  134. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  135. package/dist/cli/utils/resolveHeaderFlag.js.map +1 -1
  136. package/dist/cli/utils/splitAnsiToLines.js.map +1 -1
  137. package/dist/config.js +1 -1
  138. package/dist/config.js.map +1 -1
  139. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +79 -8
  140. package/dist/evaluator/LlamaChat/LlamaChat.js +1212 -481
  141. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  142. package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.d.ts +11 -0
  143. package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js +55 -0
  144. package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js.map +1 -0
  145. package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.d.ts +16 -0
  146. package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js +45 -0
  147. package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js.map +1 -0
  148. package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.d.ts +8 -0
  149. package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js +12 -0
  150. package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js.map +1 -0
  151. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +24 -16
  152. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
  153. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +110 -5
  154. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +226 -39
  155. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  156. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +39 -0
  157. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +186 -0
  158. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -0
  159. package/dist/evaluator/LlamaCompletion.d.ts +17 -29
  160. package/dist/evaluator/LlamaCompletion.js +32 -19
  161. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  162. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +1 -2
  163. package/dist/evaluator/LlamaContext/LlamaContext.js +1 -1
  164. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  165. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -1
  166. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -1
  167. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  168. package/dist/evaluator/LlamaGrammar.d.ts +3 -3
  169. package/dist/evaluator/LlamaGrammar.js +1 -1
  170. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  171. package/dist/evaluator/{LlamaModel.d.ts → LlamaModel/LlamaModel.d.ts} +20 -14
  172. package/dist/evaluator/{LlamaModel.js → LlamaModel/LlamaModel.js} +100 -18
  173. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -0
  174. package/dist/evaluator/LlamaModel/utils/TokenAttributes.d.ts +29 -0
  175. package/dist/evaluator/LlamaModel/utils/TokenAttributes.js +65 -0
  176. package/dist/evaluator/LlamaModel/utils/TokenAttributes.js.map +1 -0
  177. package/dist/evaluator/TokenBias.d.ts +1 -1
  178. package/dist/evaluator/TokenMeter.js.map +1 -1
  179. package/dist/gguf/fileReaders/GgufFsFileReader.js +2 -1
  180. package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
  181. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
  182. package/dist/gguf/insights/GgufInsights.d.ts +6 -0
  183. package/dist/gguf/insights/GgufInsights.js +20 -0
  184. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  185. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +1 -1
  186. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +1 -1
  187. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  188. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
  189. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +1 -1
  190. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
  191. package/dist/gguf/insights/utils/scoreLevels.js.map +1 -1
  192. package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
  193. package/dist/gguf/parser/parseGguf.js.map +1 -1
  194. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  195. package/dist/gguf/types/GgufMetadataTypes.d.ts +2 -1
  196. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  197. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
  198. package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -1
  199. package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -1
  200. package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -1
  201. package/dist/gguf/utils/resolveSplitGgufParts.js.map +1 -1
  202. package/dist/index.d.ts +14 -10
  203. package/dist/index.js +5 -2
  204. package/dist/index.js.map +1 -1
  205. package/dist/types.d.ts +68 -8
  206. package/dist/types.js.map +1 -1
  207. package/dist/utils/DisposeGuard.js.map +1 -1
  208. package/dist/utils/LlamaText.d.ts +22 -3
  209. package/dist/utils/LlamaText.js +107 -7
  210. package/dist/utils/LlamaText.js.map +1 -1
  211. package/dist/utils/LruCache.d.ts +12 -0
  212. package/dist/utils/LruCache.js +44 -0
  213. package/dist/utils/LruCache.js.map +1 -0
  214. package/dist/utils/ReplHistory.js.map +1 -1
  215. package/dist/utils/StopGenerationDetector.d.ts +25 -9
  216. package/dist/utils/StopGenerationDetector.js +70 -4
  217. package/dist/utils/StopGenerationDetector.js.map +1 -1
  218. package/dist/utils/TokenStreamRegulator.d.ts +1 -0
  219. package/dist/utils/TokenStreamRegulator.js +3 -0
  220. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  221. package/dist/utils/appendUserMessageToChatHistory.js.map +1 -1
  222. package/dist/utils/clearTempFolder.js.map +1 -1
  223. package/dist/utils/cmake.js.map +1 -1
  224. package/dist/utils/createModelDownloader.d.ts +6 -0
  225. package/dist/utils/createModelDownloader.js +5 -2
  226. package/dist/utils/createModelDownloader.js.map +1 -1
  227. package/dist/utils/findBestOption.js.map +1 -1
  228. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +1 -0
  229. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +5 -4
  230. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -1
  231. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  232. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js +1 -1
  233. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  234. package/dist/utils/gbnfJson/terminals/GbnfRepetition.js.map +1 -1
  235. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js.map +1 -1
  236. package/dist/utils/gbnfJson/terminals/gbnfConsts.d.ts +1 -1
  237. package/dist/utils/gbnfJson/types.d.ts +3 -0
  238. package/dist/utils/gbnfJson/types.js.map +1 -1
  239. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
  240. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  241. package/dist/utils/getGrammarsFolder.js.map +1 -1
  242. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
  243. package/dist/utils/gitReleaseBundles.js.map +1 -1
  244. package/dist/utils/isUrl.js.map +1 -1
  245. package/dist/utils/parseModelFileName.js.map +1 -1
  246. package/dist/utils/parseTextTemplate.js.map +1 -1
  247. package/dist/utils/prettyPrintObject.js.map +1 -1
  248. package/dist/utils/removeNullFields.js.map +1 -1
  249. package/dist/utils/resolveGithubRelease.d.ts +1 -1
  250. package/dist/utils/resolveGithubRelease.js.map +1 -1
  251. package/dist/utils/safeEventCallback.d.ts +6 -0
  252. package/dist/utils/safeEventCallback.js +29 -0
  253. package/dist/utils/safeEventCallback.js.map +1 -0
  254. package/dist/utils/spawnCommand.js.map +1 -1
  255. package/dist/utils/truncateTextAndRoundToWords.d.ts +2 -0
  256. package/dist/utils/truncateTextAndRoundToWords.js +30 -0
  257. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
  258. package/dist/utils/waitForLockfileRelease.js.map +1 -1
  259. package/dist/utils/withLockfile.js.map +1 -1
  260. package/dist/utils/withOra.js.map +1 -1
  261. package/dist/utils/withProgressLog.js.map +1 -1
  262. package/dist/utils/withStatusLogs.js.map +1 -1
  263. package/dist/utils/wrapAbortSignal.d.ts +2 -0
  264. package/dist/utils/wrapAbortSignal.js +9 -0
  265. package/dist/utils/wrapAbortSignal.js.map +1 -0
  266. package/llama/addon.cpp +9 -9
  267. package/llama/binariesGithubRelease.json +1 -1
  268. package/llama/gitRelease.bundle +0 -0
  269. package/llama/llama.cpp.info.json +1 -1
  270. package/package.json +33 -35
  271. package/templates/packed/electron-typescript-react.json +1 -1
  272. package/templates/packed/node-typescript.json +1 -1
  273. package/dist/apiDocsOverrides.js.map +0 -1
  274. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +0 -22
  275. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +0 -122
  276. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +0 -1
  277. package/dist/evaluator/LlamaModel.js.map +0 -1
  278. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  279. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  280. package/llamaBins/linux-x64/llama-addon.node +0 -0
  281. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  282. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  283. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  284. package/llamaBins/mac-x64/llama-addon.node +0 -0
  285. package/llamaBins/win-arm64/llama-addon.node +0 -0
  286. package/llamaBins/win-x64/llama-addon.node +0 -0
  287. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  288. /package/dist/{apiDocsOverrides.d.ts → apiDocsIndex.d.ts} +0 -0
@@ -4,8 +4,12 @@ import { SpecialToken, LlamaText, SpecialTokensText } from "../utils/LlamaText.j
4
4
  // source: https://www.promptingguide.ai/models/gemma
5
5
  export class GemmaChatWrapper extends ChatWrapper {
6
6
  wrapperName = "Gemma";
7
- generateContextText(history, { availableFunctions, documentFunctionParams } = {}) {
8
- const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, {
7
+ settings = {
8
+ ...ChatWrapper.defaultSettings,
9
+ supportsSystemMessages: false
10
+ };
11
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
12
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistory, availableFunctions, {
9
13
  documentParams: documentFunctionParams
10
14
  });
11
15
  const resultItems = [];
@@ -15,18 +19,22 @@ export class GemmaChatWrapper extends ChatWrapper {
15
19
  let currentAggregateFocus = null;
16
20
  function flush() {
17
21
  if (systemTexts.length > 0 || userTexts.length > 0 || modelTexts.length > 0) {
18
- const systemText = systemTexts.join("\n\n");
19
- let userText = userTexts.join("\n\n");
22
+ const systemText = LlamaText.joinValues("\n\n", systemTexts);
23
+ let userText = LlamaText.joinValues("\n\n", userTexts);
20
24
  // there's no system prompt support in Gemma, so we'll prepend the system text to the user message
21
- if (systemText.length > 0) {
22
- if (userText.length === 0)
25
+ if (systemText.values.length > 0) {
26
+ if (userText.values.length === 0)
23
27
  userText = systemText;
24
28
  else
25
- userText = systemText + "\n\n---\n\n" + userText;
29
+ userText = LlamaText([
30
+ systemText,
31
+ "\n\n---\n\n",
32
+ userText
33
+ ]);
26
34
  }
27
35
  resultItems.push({
28
36
  user: userText,
29
- model: modelTexts.join("\n\n")
37
+ model: LlamaText.joinValues("\n\n", modelTexts)
30
38
  });
31
39
  }
32
40
  systemTexts = [];
@@ -38,13 +46,13 @@ export class GemmaChatWrapper extends ChatWrapper {
38
46
  if (currentAggregateFocus !== "system")
39
47
  flush();
40
48
  currentAggregateFocus = "system";
41
- systemTexts.push(item.text);
49
+ systemTexts.push(LlamaText.fromJSON(item.text));
42
50
  }
43
51
  else if (item.type === "user") {
44
52
  if (currentAggregateFocus !== "system" && currentAggregateFocus !== "user")
45
53
  flush();
46
54
  currentAggregateFocus = "user";
47
- userTexts.push(item.text);
55
+ userTexts.push(LlamaText(item.text));
48
56
  }
49
57
  else if (item.type === "model") {
50
58
  currentAggregateFocus = "model";
@@ -57,14 +65,14 @@ export class GemmaChatWrapper extends ChatWrapper {
57
65
  const contextText = LlamaText(resultItems.map(({ user, model }, index) => {
58
66
  const isLastItem = index === resultItems.length - 1;
59
67
  return LlamaText([
60
- (user.length === 0)
68
+ (user.values.length === 0)
61
69
  ? LlamaText([])
62
70
  : LlamaText([
63
71
  new SpecialTokensText("<start_of_turn>user\n"),
64
72
  user,
65
73
  new SpecialTokensText("<end_of_turn>\n")
66
74
  ]),
67
- (model.length === 0 && !isLastItem)
75
+ (model.values.length === 0 && !isLastItem)
68
76
  ? LlamaText([])
69
77
  : LlamaText([
70
78
  new SpecialTokensText("<start_of_turn>model\n"),
@@ -1 +1 @@
1
- {"version":3,"file":"GemmaChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/GemmaChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GemmaChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/GemmaChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { ChatWrapper } from "../ChatWrapper.js";
2
- import { ChatHistoryItem, ChatModelFunctions } from "../types.js";
3
- import { LlamaText } from "../utils/LlamaText.js";
2
+ import { ChatWrapperGenerateContextStateOptions, ChatWrapperGeneratedContextState } from "../types.js";
4
3
  export declare class GeneralChatWrapper extends ChatWrapper {
5
4
  readonly wrapperName: string;
6
5
  constructor({ userMessageTitle, modelResponseTitle, middleSystemMessageTitle, allowSpecialTokensInTitles }?: {
@@ -12,11 +11,5 @@ export declare class GeneralChatWrapper extends ChatWrapper {
12
11
  get userMessageTitle(): string;
13
12
  get modelResponseTitle(): string;
14
13
  get middleSystemMessageTitle(): string;
15
- generateContextText(history: readonly ChatHistoryItem[], { availableFunctions, documentFunctionParams }?: {
16
- availableFunctions?: ChatModelFunctions;
17
- documentFunctionParams?: boolean;
18
- }): {
19
- contextText: LlamaText;
20
- stopGenerationTriggers: LlamaText[];
21
- };
14
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }: ChatWrapperGenerateContextStateOptions): ChatWrapperGeneratedContextState;
22
15
  }
@@ -22,8 +22,8 @@ export class GeneralChatWrapper extends ChatWrapper {
22
22
  get middleSystemMessageTitle() {
23
23
  return this._middleSystemMessageTitle;
24
24
  }
25
- generateContextText(history, { availableFunctions, documentFunctionParams } = {}) {
26
- const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, {
25
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
26
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistory, availableFunctions, {
27
27
  documentParams: documentFunctionParams
28
28
  });
29
29
  const resultItems = [];
@@ -34,9 +34,9 @@ export class GeneralChatWrapper extends ChatWrapper {
34
34
  function flush() {
35
35
  if (systemTexts.length > 0 || userTexts.length > 0 || modelTexts.length > 0)
36
36
  resultItems.push({
37
- system: systemTexts.join("\n\n"),
38
- user: userTexts.join("\n\n"),
39
- model: modelTexts.join("\n\n")
37
+ system: LlamaText.joinValues("\n\n", systemTexts),
38
+ user: LlamaText.joinValues("\n\n", userTexts),
39
+ model: LlamaText.joinValues("\n\n", modelTexts)
40
40
  });
41
41
  systemTexts = [];
42
42
  userTexts = [];
@@ -47,12 +47,12 @@ export class GeneralChatWrapper extends ChatWrapper {
47
47
  if (currentAggregateFocus !== "system")
48
48
  flush();
49
49
  currentAggregateFocus = "system";
50
- systemTexts.push(item.text);
50
+ systemTexts.push(LlamaText.fromJSON(item.text));
51
51
  }
52
52
  else if (item.type === "user") {
53
53
  flush();
54
54
  currentAggregateFocus = null;
55
- userTexts.push(item.text);
55
+ userTexts.push(LlamaText(item.text));
56
56
  }
57
57
  else if (item.type === "model") {
58
58
  flush();
@@ -67,7 +67,7 @@ export class GeneralChatWrapper extends ChatWrapper {
67
67
  const isFirstItem = index === 0;
68
68
  const isLastItem = index === resultItems.length - 1;
69
69
  return LlamaText([
70
- (system.length === 0)
70
+ (system.values.length === 0)
71
71
  ? LlamaText([])
72
72
  : LlamaText([
73
73
  isFirstItem
@@ -76,14 +76,14 @@ export class GeneralChatWrapper extends ChatWrapper {
76
76
  system,
77
77
  SpecialTokensText.wrapIf(this._allowSpecialTokensInTitles, "\n\n")
78
78
  ]),
79
- (user.length === 0)
79
+ (user.values.length === 0)
80
80
  ? LlamaText([])
81
81
  : LlamaText([
82
82
  SpecialTokensText.wrapIf(this._allowSpecialTokensInTitles, `### ${this._userMessageTitle}\n`),
83
83
  user,
84
84
  SpecialTokensText.wrapIf(this._allowSpecialTokensInTitles, "\n\n")
85
85
  ]),
86
- (model.length === 0 && !isLastItem)
86
+ (model.values.length === 0 && !isLastItem)
87
87
  ? LlamaText([])
88
88
  : LlamaText([
89
89
  SpecialTokensText.wrapIf(this._allowSpecialTokensInTitles, `### ${this._modelResponseTitle}\n`),
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/GeneralChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneralChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/GeneralChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { ChatWrapper } from "../ChatWrapper.js";
2
- import { ChatHistoryItem, ChatModelFunctions } from "../types.js";
3
- import { LlamaText } from "../utils/LlamaText.js";
2
+ import { ChatWrapperGenerateContextStateOptions, ChatWrapperGeneratedContextState } from "../types.js";
4
3
  export declare class Llama2ChatWrapper extends ChatWrapper {
5
4
  readonly wrapperName: string;
6
5
  constructor({ addSpaceBeforeEos }?: {
@@ -9,12 +8,5 @@ export declare class Llama2ChatWrapper extends ChatWrapper {
9
8
  */
10
9
  addSpaceBeforeEos?: boolean;
11
10
  });
12
- generateContextText(history: readonly ChatHistoryItem[], { availableFunctions, documentFunctionParams }?: {
13
- availableFunctions?: ChatModelFunctions;
14
- documentFunctionParams?: boolean;
15
- }): {
16
- contextText: LlamaText;
17
- stopGenerationTriggers: LlamaText[];
18
- ignoreStartText?: LlamaText[];
19
- };
11
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }: ChatWrapperGenerateContextStateOptions): ChatWrapperGeneratedContextState;
20
12
  }
@@ -8,8 +8,8 @@ export class Llama2ChatWrapper extends ChatWrapper {
8
8
  super();
9
9
  this._addSpaceBeforeEos = addSpaceBeforeEos;
10
10
  }
11
- generateContextText(history, { availableFunctions, documentFunctionParams } = {}) {
12
- const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, {
11
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
12
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistory, availableFunctions, {
13
13
  documentParams: documentFunctionParams
14
14
  });
15
15
  const resultItems = [];
@@ -20,9 +20,9 @@ export class Llama2ChatWrapper extends ChatWrapper {
20
20
  function flush() {
21
21
  if (systemTexts.length > 0 || userTexts.length > 0 || modelTexts.length > 0)
22
22
  resultItems.push({
23
- system: systemTexts.join("\n\n"),
24
- user: userTexts.join("\n\n"),
25
- model: modelTexts.join("\n\n")
23
+ system: LlamaText.joinValues("\n\n", systemTexts),
24
+ user: LlamaText.joinValues("\n\n", userTexts),
25
+ model: LlamaText.joinValues("\n\n", modelTexts)
26
26
  });
27
27
  systemTexts = [];
28
28
  userTexts = [];
@@ -33,13 +33,13 @@ export class Llama2ChatWrapper extends ChatWrapper {
33
33
  if (currentAggregateFocus !== "system")
34
34
  flush();
35
35
  currentAggregateFocus = "system";
36
- systemTexts.push(item.text);
36
+ systemTexts.push(LlamaText.fromJSON(item.text));
37
37
  }
38
38
  else if (item.type === "user") {
39
39
  if (currentAggregateFocus !== "system" && currentAggregateFocus !== "user")
40
40
  flush();
41
41
  currentAggregateFocus = "user";
42
- userTexts.push(item.text);
42
+ userTexts.push(LlamaText(item.text));
43
43
  }
44
44
  else if (item.type === "model") {
45
45
  currentAggregateFocus = "model";
@@ -53,11 +53,11 @@ export class Llama2ChatWrapper extends ChatWrapper {
53
53
  const isLastItem = index === resultItems.length - 1;
54
54
  return LlamaText([
55
55
  new SpecialToken("BOS"),
56
- (system.length === 0 && user.length === 0)
56
+ (system.values.length === 0 && user.values.length === 0)
57
57
  ? LlamaText([])
58
58
  : LlamaText([
59
59
  new SpecialTokensText("[INST] "),
60
- system.length === 0
60
+ system.values.length === 0
61
61
  ? LlamaText([])
62
62
  : LlamaText([
63
63
  new SpecialTokensText("<<SYS>>\n"),
@@ -1 +1 @@
1
- {"version":3,"file":"Llama2ChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama2ChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Llama2ChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama2ChatWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAEjF,mEAAmE;AACnE,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAC9B,WAAW,GAAW,YAAY,CAAC;IAEnD,gBAAgB,CAAkB,kBAAkB,CAAU;IAE9D,YAAmB,EACf,iBAAiB,GAAG,KAAK,KAMzB,EAAE;QACF,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;IAChD,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,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;oBACjD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;oBAC7C,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;iBAClD,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,QAAQ,IAAI,qBAAqB,KAAK,MAAM;oBACtE,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,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,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpD,OAAO,SAAS,CAAC;gBACb,IAAI,YAAY,CAAC,KAAK,CAAC;gBACvB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;oBACpD,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACf,CAAC,CAAC,SAAS,CAAC;wBACR,IAAI,iBAAiB,CAAC,SAAS,CAAC;wBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;4BACtB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;4BACf,CAAC,CAAC,SAAS,CAAC;gCACR,IAAI,iBAAiB,CAAC,WAAW,CAAC;gCAClC,MAAM;gCACN,IAAI,iBAAiB,CAAC,gBAAgB,CAAC;6BAC1C,CAAC;wBACN,IAAI;wBACJ,IAAI,iBAAiB,CAAC,WAAW,CAAC;qBACrC,CAAC;gBACN,KAAK;gBACL,IAAI,CAAC,kBAAkB;oBACnB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,EAAE;gBACR,UAAU;oBACN,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACf,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;QACP,CAAC,CAAC,CACL,CAAC;QAEF,OAAO;YACH,WAAW;YACX,sBAAsB,EAAE;gBACpB,SAAS,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClC,SAAS,CAAC,MAAM,CAAC;aACpB;SACJ,CAAC;IACN,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,yDAAyD;QAC5E,OAAO,CAAC;gBACJ,iBAAiB,EAAE,KAAK;aAC3B,EAAE;gBACC,iBAAiB,EAAE,IAAI;aAC1B,CAA4D,CAAC;IAClE,CAAC;CACJ"}
@@ -1,31 +1,16 @@
1
1
  import { ChatWrapper } from "../ChatWrapper.js";
2
- import { ChatHistoryItem, ChatModelFunctions } from "../types.js";
3
- import { LlamaText } from "../utils/LlamaText.js";
2
+ import { ChatModelFunctions, ChatWrapperGenerateContextStateOptions, ChatWrapperGeneratedContextState, ChatWrapperSettings } from "../types.js";
4
3
  export declare class Llama3ChatWrapper extends ChatWrapper {
5
4
  readonly wrapperName: string;
6
- readonly settings: {
7
- functions: {
8
- call: {
9
- optionalPrefixSpace: boolean;
10
- prefix: string;
11
- paramsPrefix: string;
12
- suffix: string;
13
- };
14
- result: {
15
- prefix: string;
16
- suffix: string;
17
- };
18
- };
19
- };
20
- generateContextText(history: readonly ChatHistoryItem[], { availableFunctions, documentFunctionParams }?: {
21
- availableFunctions?: ChatModelFunctions;
22
- documentFunctionParams?: boolean;
23
- }): {
24
- contextText: LlamaText;
25
- stopGenerationTriggers: LlamaText[];
26
- ignoreStartText?: LlamaText[];
27
- };
5
+ readonly settings: ChatWrapperSettings;
6
+ constructor({ parallelFunctionCalling }?: {
7
+ /**
8
+ * Defaults to `true`
9
+ */
10
+ parallelFunctionCalling?: boolean;
11
+ });
12
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }: ChatWrapperGenerateContextStateOptions): ChatWrapperGeneratedContextState;
28
13
  generateAvailableFunctionsSystemText(availableFunctions: ChatModelFunctions, { documentParams }: {
29
14
  documentParams?: boolean;
30
- }): string;
15
+ }): import("../utils/LlamaText.js")._LlamaText;
31
16
  }
@@ -5,22 +5,62 @@ import { ChatModelFunctionsDocumentationGenerator } from "./utils/ChatModelFunct
5
5
  // source: https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-3/
6
6
  export class Llama3ChatWrapper extends ChatWrapper {
7
7
  wrapperName = "Llama3Chat";
8
- settings = {
9
- functions: {
10
- call: {
11
- optionalPrefixSpace: true,
12
- prefix: "[[call: ",
13
- paramsPrefix: "(",
14
- suffix: ")]]"
15
- },
16
- result: {
17
- prefix: " [[result: ",
18
- suffix: "]]"
19
- }
20
- }
21
- };
22
- generateContextText(history, { availableFunctions, documentFunctionParams } = {}) {
23
- const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(history, availableFunctions, {
8
+ settings;
9
+ constructor({ parallelFunctionCalling = true } = {}) {
10
+ super();
11
+ if (parallelFunctionCalling)
12
+ this.settings = {
13
+ supportsSystemMessages: true,
14
+ functions: {
15
+ call: {
16
+ optionalPrefixSpace: true,
17
+ prefix: "||call:",
18
+ paramsPrefix: LlamaText(new SpecialTokensText("(")),
19
+ suffix: LlamaText(new SpecialTokensText(")"))
20
+ },
21
+ result: {
22
+ prefix: LlamaText(new SpecialTokensText("<|start_header_id|>function_call_result<|end_header_id|>\n\n")),
23
+ suffix: LlamaText(new SpecialToken("EOT"))
24
+ },
25
+ parallelism: {
26
+ call: {
27
+ sectionPrefix: "",
28
+ betweenCalls: "\n",
29
+ sectionSuffix: LlamaText(new SpecialToken("EOT"))
30
+ },
31
+ result: {
32
+ sectionPrefix: "",
33
+ betweenResults: "",
34
+ sectionSuffix: LlamaText(new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n"))
35
+ }
36
+ }
37
+ }
38
+ };
39
+ else
40
+ this.settings = {
41
+ supportsSystemMessages: true,
42
+ functions: {
43
+ call: {
44
+ optionalPrefixSpace: true,
45
+ prefix: "||call:",
46
+ paramsPrefix: LlamaText(new SpecialTokensText("(")),
47
+ suffix: LlamaText(new SpecialTokensText(")"))
48
+ },
49
+ result: {
50
+ prefix: LlamaText([
51
+ LlamaText(new SpecialToken("EOT")),
52
+ new SpecialTokensText("<|start_header_id|>function_call_result<|end_header_id|>\n\n")
53
+ ]),
54
+ suffix: LlamaText([
55
+ new SpecialToken("EOT"),
56
+ new SpecialTokensText("<|start_header_id|>assistant<|end_header_id|>\n\n")
57
+ ])
58
+ }
59
+ }
60
+ };
61
+ }
62
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }) {
63
+ const historyWithFunctions = this.addAvailableFunctionsSystemMessageToHistory(chatHistory, availableFunctions, {
24
64
  documentParams: documentFunctionParams
25
65
  });
26
66
  const resultItems = [];
@@ -33,13 +73,13 @@ export class Llama3ChatWrapper extends ChatWrapper {
33
73
  resultItems.push({
34
74
  system: systemTexts.length === 0
35
75
  ? null
36
- : systemTexts.join("\n\n"),
76
+ : LlamaText.joinValues("\n\n", systemTexts),
37
77
  user: userTexts.length === 0
38
78
  ? null
39
- : userTexts.join("\n\n"),
79
+ : LlamaText.joinValues("\n\n", userTexts),
40
80
  model: modelTexts.length === 0
41
81
  ? null
42
- : modelTexts.join("\n\n")
82
+ : LlamaText.joinValues("\n\n", modelTexts)
43
83
  });
44
84
  systemTexts = [];
45
85
  userTexts = [];
@@ -50,13 +90,13 @@ export class Llama3ChatWrapper extends ChatWrapper {
50
90
  if (currentAggregateFocus !== "system")
51
91
  flush();
52
92
  currentAggregateFocus = "system";
53
- systemTexts.push(item.text);
93
+ systemTexts.push(LlamaText.fromJSON(item.text));
54
94
  }
55
95
  else if (item.type === "user") {
56
96
  if (currentAggregateFocus !== "user")
57
97
  flush();
58
98
  currentAggregateFocus = "user";
59
- userTexts.push(item.text);
99
+ userTexts.push(LlamaText(item.text));
60
100
  }
61
101
  else if (item.type === "model") {
62
102
  if (currentAggregateFocus !== "model")
@@ -102,6 +142,8 @@ export class Llama3ChatWrapper extends ChatWrapper {
102
142
  stopGenerationTriggers: [
103
143
  LlamaText(new SpecialToken("EOS")),
104
144
  LlamaText(new SpecialToken("EOT")),
145
+ LlamaText(new SpecialTokensText("<|eot_id|>")),
146
+ LlamaText(new SpecialTokensText("<|end_of_text|>")),
105
147
  LlamaText("<|eot_id|>"),
106
148
  LlamaText("<|end_of_text|>")
107
149
  ]
@@ -110,8 +152,8 @@ export class Llama3ChatWrapper extends ChatWrapper {
110
152
  generateAvailableFunctionsSystemText(availableFunctions, { documentParams = true }) {
111
153
  const functionsDocumentationGenerator = new ChatModelFunctionsDocumentationGenerator(availableFunctions);
112
154
  if (!functionsDocumentationGenerator.hasAnyFunctions)
113
- return "";
114
- return [
155
+ return LlamaText([]);
156
+ return LlamaText.joinValues("\n", [
115
157
  "The assistant calls the provided functions as needed to retrieve information instead of relying on existing knowledge.",
116
158
  "To fulfill a request, the assistant calls relevant functions in advance when needed before responding to the request, and does not tell the user prior to calling a function.",
117
159
  "Provided functions:",
@@ -120,10 +162,13 @@ export class Llama3ChatWrapper extends ChatWrapper {
120
162
  "```",
121
163
  "",
122
164
  "Calling any of the provided functions can be done like this:",
123
- this.generateFunctionCall("functionName", { someKey: "someValue" }),
165
+ this.generateFunctionCall("getSomeInfo", { someKey: "someValue" }),
124
166
  "",
125
- "After calling a function the raw result is written afterwards, and a natural language version of the result is written afterwards."
126
- ].join("\n");
167
+ "Note that the || prefix is mandatory",
168
+ "The assistant does not inform the user about using functions and does not explain anything before calling a function.",
169
+ "After calling a function, the raw result appears afterwards and is not part of the conversation",
170
+ "To make information be part of the conversation, the assistant paraphrases and repeats the information without the function syntax."
171
+ ]);
127
172
  }
128
173
  }
129
174
  //# sourceMappingURL=Llama3ChatWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Llama3ChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3ChatWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Llama3ChatWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/Llama3ChatWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { ChatHistoryItem, ChatModelFunctions, ChatWrapperSettings } from "../../types.js";
2
- import { LlamaText } from "../../utils/LlamaText.js";
1
+ import { ChatWrapperGenerateContextStateOptions, ChatWrapperGeneratedContextState, ChatWrapperSettings } from "../../types.js";
3
2
  import { ChatWrapper } from "../../ChatWrapper.js";
4
3
  import { ChatHistoryFunctionCallMessageTemplate } from "./utils/chatHistoryFunctionCallMessageTemplate.js";
5
4
  export type JinjaTemplateChatWrapperOptions = {
@@ -22,7 +21,7 @@ export type JinjaTemplateChatWrapperOptions = {
22
21
  *
23
22
  * Defaults to `"auto"`.
24
23
  */
25
- convertUnsupportedSystemMessagesToUserMessages?: "auto" | boolean | ConvertMessageFormatOptions;
24
+ convertUnsupportedSystemMessagesToUserMessages?: "auto" | boolean | JinjaTemplateChatWrapperOptionsConvertMessageFormat;
26
25
  functionCallMessageTemplate?: ChatHistoryFunctionCallMessageTemplate;
27
26
  /**
28
27
  * Whether to join adjacent messages of the same type.
@@ -38,7 +37,7 @@ export type JinjaTemplateChatWrapperOptions = {
38
37
  */
39
38
  trimLeadingWhitespaceInResponses?: boolean;
40
39
  };
41
- type ConvertMessageFormatOptions = {
40
+ export type JinjaTemplateChatWrapperOptionsConvertMessageFormat = {
42
41
  use?: "always" | "ifNeeded";
43
42
  format: `${string}{{message}}${string}`;
44
43
  };
@@ -58,16 +57,11 @@ export declare class JinjaTemplateChatWrapper extends ChatWrapper {
58
57
  readonly modelRoleName: string;
59
58
  readonly userRoleName: string;
60
59
  readonly systemRoleName: string;
61
- readonly convertUnsupportedSystemMessagesToUserMessages?: ConvertMessageFormatOptions;
60
+ readonly convertUnsupportedSystemMessagesToUserMessages?: JinjaTemplateChatWrapperOptionsConvertMessageFormat;
62
61
  readonly joinAdjacentMessagesOfTheSameType: boolean;
63
62
  readonly trimLeadingWhitespaceInResponses: boolean;
64
63
  constructor({ template, modelRoleName, userRoleName, systemRoleName, convertUnsupportedSystemMessagesToUserMessages, functionCallMessageTemplate, joinAdjacentMessagesOfTheSameType, trimLeadingWhitespaceInResponses }: JinjaTemplateChatWrapperOptions);
65
- generateContextText(history: readonly ChatHistoryItem[], { availableFunctions, documentFunctionParams }?: {
66
- availableFunctions?: ChatModelFunctions;
67
- documentFunctionParams?: boolean;
68
- }): {
69
- contextText: LlamaText;
70
- stopGenerationTriggers: LlamaText[];
64
+ generateContextState({ chatHistory, availableFunctions, documentFunctionParams }: ChatWrapperGenerateContextStateOptions): ChatWrapperGeneratedContextState & {
65
+ transformedSystemMessagesToUserMessages: boolean;
71
66
  };
72
67
  }
73
- export {};