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
@@ -5,7 +5,7 @@ import { LlamaContextSequence } from "../LlamaContext/LlamaContext.js";
5
5
  import { ChatHistoryItem, ChatModelFunctions, LLamaContextualRepeatPenalty, Token } from "../../types.js";
6
6
  import { GbnfJsonSchemaToType } from "../../utils/gbnfJson/types.js";
7
7
  import { LlamaGrammar } from "../LlamaGrammar.js";
8
- import { LlamaText } from "../../utils/LlamaText.js";
8
+ import { LlamaText, LlamaTextJSON } from "../../utils/LlamaText.js";
9
9
  import { EvaluationPriority } from "../LlamaContext/types.js";
10
10
  import { TokenBias } from "../TokenBias.js";
11
11
  export type LlamaChatOptions = {
@@ -67,7 +67,8 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
67
67
  topP?: number;
68
68
  /**
69
69
  * Trim whitespace from the end of the generated text
70
- * Disabled by default.
70
+ *
71
+ * Defaults to `false`.
71
72
  */
72
73
  trimWhitespaceSuffix?: boolean;
73
74
  repeatPenalty?: false | LLamaContextualRepeatPenalty;
@@ -85,7 +86,7 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
85
86
  /**
86
87
  * Custom stop triggers to stop the generation of the response when any of the provided triggers are found.
87
88
  */
88
- customStopTriggers?: (LlamaText | string | (string | Token)[])[];
89
+ customStopTriggers?: readonly (LlamaText | string | readonly (string | Token)[])[];
89
90
  /**
90
91
  * The evaluation context window returned from the last evaluation.
91
92
  * This is an optimization to utilize existing context sequence state better when possible.
@@ -97,6 +98,8 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
97
98
  * Minimum overlap percentage with existing context sequence state to use the last evaluation context window.
98
99
  * If the last evaluation context window is not used, a new context will be generated based on the full history,
99
100
  * which will decrease the likelihood of another context shift happening so soon.
101
+ *
102
+ * A number between `0` (exclusive) and `1` (inclusive).
100
103
  */
101
104
  minimumOverlapPercentageToPreventContextShift?: number;
102
105
  };
@@ -104,11 +107,59 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
104
107
  grammar?: LlamaGrammar;
105
108
  functions?: never;
106
109
  documentFunctionParams?: never;
110
+ maxParallelFunctionCalls?: never;
111
+ onFunctionCall?: never;
107
112
  } | {
108
113
  grammar?: never;
109
114
  functions?: Functions | ChatModelFunctions;
110
115
  documentFunctionParams?: boolean;
116
+ maxParallelFunctionCalls?: number;
117
+ onFunctionCall?: (functionCall: LlamaChatResponseFunctionCall<Functions extends ChatModelFunctions ? Functions : ChatModelFunctions>) => void;
111
118
  });
119
+ export type LLamaChatLoadAndCompleteUserMessageOptions<Functions extends ChatModelFunctions | undefined = undefined> = {
120
+ /**
121
+ * Complete the given user prompt without adding it or the completion to the returned context window.
122
+ */
123
+ initialUserPrompt?: string;
124
+ /**
125
+ * When a completion already started being generated and then the signal is aborted,
126
+ * the generation will stop and the completion will be returned as is instead of throwing an error.
127
+ *
128
+ * Defaults to `false`.
129
+ */
130
+ stopOnAbortSignal?: boolean;
131
+ onToken?: LLamaChatGenerateResponseOptions<Functions>["onToken"];
132
+ signal?: LLamaChatGenerateResponseOptions<Functions>["signal"];
133
+ maxTokens?: LLamaChatGenerateResponseOptions<Functions>["maxTokens"];
134
+ temperature?: LLamaChatGenerateResponseOptions<Functions>["temperature"];
135
+ minP?: LLamaChatGenerateResponseOptions<Functions>["minP"];
136
+ topK?: LLamaChatGenerateResponseOptions<Functions>["topK"];
137
+ topP?: LLamaChatGenerateResponseOptions<Functions>["topP"];
138
+ trimWhitespaceSuffix?: LLamaChatGenerateResponseOptions<Functions>["trimWhitespaceSuffix"];
139
+ repeatPenalty?: LLamaChatGenerateResponseOptions<Functions>["repeatPenalty"];
140
+ tokenBias?: LLamaChatGenerateResponseOptions<Functions>["tokenBias"];
141
+ evaluationPriority?: LLamaChatGenerateResponseOptions<Functions>["evaluationPriority"];
142
+ contextShift?: LLamaChatGenerateResponseOptions<Functions>["contextShift"];
143
+ customStopTriggers?: LLamaChatGenerateResponseOptions<Functions>["customStopTriggers"];
144
+ lastEvaluationContextWindow?: LLamaChatGenerateResponseOptions<Functions>["lastEvaluationContextWindow"];
145
+ grammar?: LlamaGrammar;
146
+ /**
147
+ * Functions are not used by the model here,
148
+ * but are used for keeping the instructions given to the model about the functions in the current context state,
149
+ * to avoid context shifts.
150
+ *
151
+ * It's best to provide the same functions that were used for the previous prompt here.
152
+ */
153
+ functions?: Functions | ChatModelFunctions;
154
+ /**
155
+ * Functions are not used by the model here,
156
+ * but are used for keeping the instructions given to the model about the functions in the current context state,
157
+ * to avoid context shifts.
158
+ *
159
+ * It's best to provide the same value that was used for the previous prompt here.
160
+ */
161
+ documentFunctionParams?: boolean;
162
+ };
112
163
  export type LLamaChatContextShiftOptions = {
113
164
  /**
114
165
  * The number of tokens to delete from the context window to make space for new ones.
@@ -150,12 +201,13 @@ export declare class LlamaChat {
150
201
  get chatWrapper(): ChatWrapper;
151
202
  get sequence(): LlamaContextSequence;
152
203
  get context(): import("../LlamaContext/LlamaContext.js").LlamaContext;
153
- get model(): import("../LlamaModel.js").LlamaModel;
154
- generateResponse<const Functions extends ChatModelFunctions | undefined = undefined>(history: ChatHistoryItem[], { onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, evaluationPriority, functions, documentFunctionParams, contextShift, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift } }?: LLamaChatGenerateResponseOptions<Functions>): Promise<LlamaChatResponse<Functions>>;
204
+ get model(): import("../LlamaModel/LlamaModel.js").LlamaModel;
205
+ generateResponse<const Functions extends ChatModelFunctions | undefined = undefined>(history: ChatHistoryItem[], options?: LLamaChatGenerateResponseOptions<Functions>): Promise<LlamaChatResponse<Functions>>;
206
+ loadChatAndCompleteUserMessage<const Functions extends ChatModelFunctions | undefined = undefined>(history: ChatHistoryItem[], options?: LLamaChatLoadAndCompleteUserMessageOptions<Functions>): Promise<LlamaChatLoadAndCompleteUserResponse>;
155
207
  }
156
208
  export type LlamaChatResponse<Functions extends ChatModelFunctions | undefined = undefined> = {
157
209
  response: string;
158
- functionCall?: Functions extends ChatModelFunctions ? LlamaChatResponseFunctionCall<Functions> : never;
210
+ functionCalls?: Functions extends ChatModelFunctions ? LlamaChatResponseFunctionCall<Functions>[] : never;
159
211
  lastEvaluation: {
160
212
  cleanHistory: ChatHistoryItem[];
161
213
  contextWindow: ChatHistoryItem[];
@@ -163,7 +215,7 @@ export type LlamaChatResponse<Functions extends ChatModelFunctions | undefined =
163
215
  };
164
216
  metadata: {
165
217
  remainingGenerationAfterStop?: string | Token[];
166
- stopReason: "eogToken" | "stopGenerationTrigger" | "functionCall" | "maxTokens" | "abort";
218
+ stopReason: "eogToken" | "stopGenerationTrigger" | "functionCalls" | "maxTokens" | "abort";
167
219
  } | {
168
220
  remainingGenerationAfterStop?: string | Token[];
169
221
  stopReason: "customStopTrigger";
@@ -173,5 +225,24 @@ export type LlamaChatResponse<Functions extends ChatModelFunctions | undefined =
173
225
  export type LlamaChatResponseFunctionCall<Functions extends ChatModelFunctions, FunctionCallName extends keyof Functions & string = string & keyof Functions, Params = Functions[FunctionCallName]["params"] extends undefined | null | void ? undefined : GbnfJsonSchemaToType<Functions[FunctionCallName]["params"]>> = {
174
226
  functionName: FunctionCallName;
175
227
  params: Params;
176
- raw: string;
228
+ raw: LlamaTextJSON;
229
+ };
230
+ export type LlamaChatLoadAndCompleteUserResponse = {
231
+ completion: string;
232
+ lastEvaluation: {
233
+ /**
234
+ * The completion and initial user prompt are not added to this context window result,
235
+ * but are loaded to the current context sequence state as tokens
236
+ */
237
+ contextWindow: ChatHistoryItem[];
238
+ contextShiftMetadata: any;
239
+ };
240
+ metadata: {
241
+ remainingGenerationAfterStop?: string | Token[];
242
+ stopReason: "eogToken" | "stopGenerationTrigger" | "maxTokens" | "abort";
243
+ } | {
244
+ remainingGenerationAfterStop?: string | Token[];
245
+ stopReason: "customStopTrigger";
246
+ customStopTrigger: (string | Token)[];
247
+ };
177
248
  };