node-llama-cpp 2.8.6 → 3.0.0-beta.10

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 (346) hide show
  1. package/README.md +2 -2
  2. package/dist/ChatWrapper.d.ts +49 -0
  3. package/dist/ChatWrapper.js +120 -0
  4. package/dist/ChatWrapper.js.map +1 -0
  5. package/dist/bindings/AddonTypes.d.ts +92 -0
  6. package/dist/bindings/AddonTypes.js +2 -0
  7. package/dist/bindings/AddonTypes.js.map +1 -0
  8. package/dist/bindings/Llama.d.ts +23 -0
  9. package/dist/bindings/Llama.js +225 -0
  10. package/dist/bindings/Llama.js.map +1 -0
  11. package/dist/bindings/getLlama.d.ts +86 -0
  12. package/dist/bindings/getLlama.js +225 -0
  13. package/dist/bindings/getLlama.js.map +1 -0
  14. package/dist/bindings/types.d.ts +33 -0
  15. package/dist/bindings/types.js +30 -0
  16. package/dist/bindings/types.js.map +1 -0
  17. package/dist/bindings/utils/NoBinaryFoundError.d.ts +2 -0
  18. package/dist/bindings/utils/NoBinaryFoundError.js +7 -0
  19. package/dist/bindings/utils/NoBinaryFoundError.js.map +1 -0
  20. package/dist/{utils → bindings/utils}/binariesGithubRelease.js +1 -1
  21. package/dist/bindings/utils/binariesGithubRelease.js.map +1 -0
  22. package/dist/bindings/utils/clearAllLocalBuilds.d.ts +1 -0
  23. package/dist/bindings/utils/clearAllLocalBuilds.js +47 -0
  24. package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -0
  25. package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +11 -0
  26. package/dist/bindings/utils/cloneLlamaCppRepo.js +155 -0
  27. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -0
  28. package/dist/bindings/utils/compileLLamaCpp.d.ts +12 -0
  29. package/dist/bindings/utils/compileLLamaCpp.js +157 -0
  30. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -0
  31. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.d.ts +5 -0
  32. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +85 -0
  33. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -0
  34. package/dist/bindings/utils/getCanUsePrebuiltBinaries.d.ts +1 -0
  35. package/dist/bindings/utils/getCanUsePrebuiltBinaries.js +8 -0
  36. package/dist/bindings/utils/getCanUsePrebuiltBinaries.js.map +1 -0
  37. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.d.ts +2 -0
  38. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js +21 -0
  39. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -0
  40. package/dist/bindings/utils/getPlatform.d.ts +2 -0
  41. package/dist/bindings/utils/getPlatform.js +15 -0
  42. package/dist/bindings/utils/getPlatform.js.map +1 -0
  43. package/dist/bindings/utils/lastBuildInfo.d.ts +6 -0
  44. package/dist/bindings/utils/lastBuildInfo.js +17 -0
  45. package/dist/bindings/utils/lastBuildInfo.js.map +1 -0
  46. package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +2 -0
  47. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +28 -0
  48. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -0
  49. package/dist/bindings/utils/resolveCustomCmakeOptions.d.ts +1 -0
  50. package/dist/bindings/utils/resolveCustomCmakeOptions.js +43 -0
  51. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -0
  52. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
  53. package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
  54. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
  55. package/dist/chatWrappers/ChatMLChatWrapper.d.ts +18 -0
  56. package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
  57. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
  58. package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
  59. package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
  60. package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
  61. package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
  62. package/dist/chatWrappers/FalconChatWrapper.js +104 -0
  63. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
  64. package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
  65. package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
  66. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
  67. package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
  68. package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
  69. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
  70. package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
  71. package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
  72. package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
  73. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +13 -0
  74. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +60 -0
  75. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -0
  76. package/dist/cli/cli.js +5 -1
  77. package/dist/cli/cli.js.map +1 -1
  78. package/dist/cli/commands/BuildCommand.d.ts +2 -1
  79. package/dist/cli/commands/BuildCommand.js +50 -10
  80. package/dist/cli/commands/BuildCommand.js.map +1 -1
  81. package/dist/cli/commands/ChatCommand.d.ts +10 -4
  82. package/dist/cli/commands/ChatCommand.js +169 -57
  83. package/dist/cli/commands/ChatCommand.js.map +1 -1
  84. package/dist/cli/commands/ClearCommand.js +4 -6
  85. package/dist/cli/commands/ClearCommand.js.map +1 -1
  86. package/dist/cli/commands/DebugCommand.d.ts +7 -0
  87. package/dist/cli/commands/DebugCommand.js +59 -0
  88. package/dist/cli/commands/DebugCommand.js.map +1 -0
  89. package/dist/cli/commands/DownloadCommand.d.ts +2 -1
  90. package/dist/cli/commands/DownloadCommand.js +47 -40
  91. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  92. package/dist/cli/commands/OnPostInstallCommand.js +7 -10
  93. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  94. package/dist/config.d.ts +10 -3
  95. package/dist/config.js +18 -7
  96. package/dist/config.js.map +1 -1
  97. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +185 -0
  98. package/dist/evaluator/LlamaChat/LlamaChat.js +705 -0
  99. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -0
  100. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +22 -0
  101. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +121 -0
  102. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
  103. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
  104. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +135 -0
  105. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
  106. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +157 -0
  107. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +219 -0
  108. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
  109. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
  110. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
  111. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
  112. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +109 -0
  113. package/dist/evaluator/LlamaContext/LlamaContext.js +606 -0
  114. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -0
  115. package/dist/evaluator/LlamaContext/types.d.ts +82 -0
  116. package/dist/evaluator/LlamaContext/types.js +2 -0
  117. package/dist/evaluator/LlamaContext/types.js.map +1 -0
  118. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +5 -0
  119. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +16 -0
  120. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
  121. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +5 -0
  122. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +42 -0
  123. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
  124. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +2 -0
  125. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +13 -0
  126. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
  127. package/dist/evaluator/LlamaEmbeddingContext.d.ts +37 -0
  128. package/dist/evaluator/LlamaEmbeddingContext.js +78 -0
  129. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -0
  130. package/dist/evaluator/LlamaGrammar.d.ts +30 -0
  131. package/dist/{llamaEvaluator → evaluator}/LlamaGrammar.js +15 -19
  132. package/dist/evaluator/LlamaGrammar.js.map +1 -0
  133. package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +15 -0
  134. package/dist/evaluator/LlamaGrammarEvaluationState.js +17 -0
  135. package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -0
  136. package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.d.ts +2 -1
  137. package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.js +4 -2
  138. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -0
  139. package/dist/evaluator/LlamaModel.d.ts +120 -0
  140. package/dist/evaluator/LlamaModel.js +320 -0
  141. package/dist/evaluator/LlamaModel.js.map +1 -0
  142. package/dist/index.d.ts +29 -16
  143. package/dist/index.js +28 -15
  144. package/dist/index.js.map +1 -1
  145. package/dist/state.d.ts +2 -0
  146. package/dist/state.js +7 -0
  147. package/dist/state.js.map +1 -1
  148. package/dist/types.d.ts +44 -4
  149. package/dist/types.js +5 -1
  150. package/dist/types.js.map +1 -1
  151. package/dist/utils/LlamaText.d.ts +42 -0
  152. package/dist/utils/LlamaText.js +207 -0
  153. package/dist/utils/LlamaText.js.map +1 -0
  154. package/dist/utils/ReplHistory.js +1 -1
  155. package/dist/utils/ReplHistory.js.map +1 -1
  156. package/dist/utils/StopGenerationDetector.d.ts +28 -0
  157. package/dist/utils/StopGenerationDetector.js +205 -0
  158. package/dist/utils/StopGenerationDetector.js.map +1 -0
  159. package/dist/utils/TokenStreamRegulator.d.ts +30 -0
  160. package/dist/utils/TokenStreamRegulator.js +96 -0
  161. package/dist/utils/TokenStreamRegulator.js.map +1 -0
  162. package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
  163. package/dist/utils/appendUserMessageToChatHistory.js +18 -0
  164. package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
  165. package/dist/utils/cmake.js +16 -11
  166. package/dist/utils/cmake.js.map +1 -1
  167. package/dist/utils/compareTokens.d.ts +2 -0
  168. package/dist/utils/compareTokens.js +4 -0
  169. package/dist/utils/compareTokens.js.map +1 -0
  170. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
  171. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
  172. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
  173. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
  174. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
  175. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  176. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
  177. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
  178. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
  179. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
  180. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
  181. package/dist/utils/gbnfJson/types.d.ts +1 -1
  182. package/dist/utils/gbnfJson/types.js.map +1 -1
  183. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
  184. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  185. package/dist/utils/getConsoleLogPrefix.d.ts +1 -0
  186. package/dist/utils/getConsoleLogPrefix.js +9 -0
  187. package/dist/utils/getConsoleLogPrefix.js.map +1 -0
  188. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
  189. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  190. package/dist/utils/getGrammarsFolder.d.ts +2 -1
  191. package/dist/utils/getGrammarsFolder.js +8 -7
  192. package/dist/utils/getGrammarsFolder.js.map +1 -1
  193. package/dist/utils/getModuleVersion.d.ts +1 -0
  194. package/dist/utils/getModuleVersion.js +13 -0
  195. package/dist/utils/getModuleVersion.js.map +1 -0
  196. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
  197. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
  198. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
  199. package/dist/utils/gitReleaseBundles.js +6 -5
  200. package/dist/utils/gitReleaseBundles.js.map +1 -1
  201. package/dist/utils/hashString.d.ts +1 -0
  202. package/dist/utils/hashString.js +8 -0
  203. package/dist/utils/hashString.js.map +1 -0
  204. package/dist/utils/isLockfileActive.d.ts +4 -0
  205. package/dist/utils/isLockfileActive.js +12 -0
  206. package/dist/utils/isLockfileActive.js.map +1 -0
  207. package/dist/utils/parseModelFileName.d.ts +9 -0
  208. package/dist/utils/parseModelFileName.js +68 -0
  209. package/dist/utils/parseModelFileName.js.map +1 -0
  210. package/dist/utils/parseModelTypeDescription.d.ts +6 -0
  211. package/dist/utils/parseModelTypeDescription.js +9 -0
  212. package/dist/utils/parseModelTypeDescription.js.map +1 -0
  213. package/dist/utils/prettyPrintObject.d.ts +1 -0
  214. package/dist/utils/prettyPrintObject.js +40 -0
  215. package/dist/utils/prettyPrintObject.js.map +1 -0
  216. package/dist/utils/removeNullFields.d.ts +1 -0
  217. package/dist/utils/removeNullFields.js +8 -0
  218. package/dist/utils/removeNullFields.js.map +1 -1
  219. package/dist/utils/resolveChatWrapper.d.ts +4 -0
  220. package/dist/utils/resolveChatWrapper.js +16 -0
  221. package/dist/utils/resolveChatWrapper.js.map +1 -0
  222. package/dist/utils/resolveGithubRelease.d.ts +2 -0
  223. package/dist/utils/resolveGithubRelease.js +36 -0
  224. package/dist/utils/resolveGithubRelease.js.map +1 -0
  225. package/dist/utils/spawnCommand.d.ts +1 -1
  226. package/dist/utils/spawnCommand.js +4 -2
  227. package/dist/utils/spawnCommand.js.map +1 -1
  228. package/dist/utils/tokenizeInput.d.ts +3 -0
  229. package/dist/utils/tokenizeInput.js +9 -0
  230. package/dist/utils/tokenizeInput.js.map +1 -0
  231. package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
  232. package/dist/utils/truncateTextAndRoundToWords.js +27 -0
  233. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
  234. package/dist/utils/waitForLockfileRelease.d.ts +5 -0
  235. package/dist/utils/waitForLockfileRelease.js +20 -0
  236. package/dist/utils/waitForLockfileRelease.js.map +1 -0
  237. package/dist/utils/withLockfile.d.ts +7 -0
  238. package/dist/utils/withLockfile.js +44 -0
  239. package/dist/utils/withLockfile.js.map +1 -0
  240. package/dist/utils/withOra.js +11 -1
  241. package/dist/utils/withOra.js.map +1 -1
  242. package/dist/utils/withStatusLogs.d.ts +2 -1
  243. package/dist/utils/withStatusLogs.js +11 -8
  244. package/dist/utils/withStatusLogs.js.map +1 -1
  245. package/llama/.clang-format +11 -11
  246. package/llama/CMakeLists.txt +87 -2
  247. package/llama/addon.cpp +915 -352
  248. package/llama/binariesGithubRelease.json +1 -1
  249. package/llama/gitRelease.bundle +0 -0
  250. package/llama/gpuInfo/cuda-gpu-info.cu +99 -0
  251. package/llama/gpuInfo/cuda-gpu-info.h +7 -0
  252. package/llama/gpuInfo/metal-gpu-info.h +5 -0
  253. package/llama/gpuInfo/metal-gpu-info.mm +17 -0
  254. package/llama/llama.cpp.info.json +4 -0
  255. package/llamaBins/linux-arm64/.buildMetadata.json +1 -0
  256. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  257. package/llamaBins/linux-armv7l/.buildMetadata.json +1 -0
  258. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  259. package/llamaBins/linux-x64/.buildMetadata.json +1 -0
  260. package/llamaBins/linux-x64/llama-addon.node +0 -0
  261. package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -0
  262. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  263. package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -0
  264. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  265. package/llamaBins/mac-x64/.buildMetadata.json +1 -0
  266. package/llamaBins/mac-x64/llama-addon.node +0 -0
  267. package/llamaBins/win-x64/.buildMetadata.json +1 -0
  268. package/llamaBins/win-x64/llama-addon.exp +0 -0
  269. package/llamaBins/win-x64/llama-addon.node +0 -0
  270. package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -0
  271. package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
  272. package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
  273. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  274. package/package.json +39 -19
  275. package/dist/ChatPromptWrapper.d.ts +0 -11
  276. package/dist/ChatPromptWrapper.js +0 -20
  277. package/dist/ChatPromptWrapper.js.map +0 -1
  278. package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
  279. package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
  280. package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
  281. package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
  282. package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
  283. package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
  284. package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
  285. package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
  286. package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
  287. package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
  288. package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
  289. package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
  290. package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
  291. package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
  292. package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
  293. package/dist/chatWrappers/createChatWrapperByBos.d.ts +0 -2
  294. package/dist/chatWrappers/createChatWrapperByBos.js +0 -14
  295. package/dist/chatWrappers/createChatWrapperByBos.js.map +0 -1
  296. package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -23
  297. package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -47
  298. package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
  299. package/dist/llamaEvaluator/LlamaBins.d.ts +0 -4
  300. package/dist/llamaEvaluator/LlamaBins.js +0 -5
  301. package/dist/llamaEvaluator/LlamaBins.js.map +0 -1
  302. package/dist/llamaEvaluator/LlamaChatSession.d.ts +0 -122
  303. package/dist/llamaEvaluator/LlamaChatSession.js +0 -236
  304. package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
  305. package/dist/llamaEvaluator/LlamaContext.d.ts +0 -99
  306. package/dist/llamaEvaluator/LlamaContext.js +0 -143
  307. package/dist/llamaEvaluator/LlamaContext.js.map +0 -1
  308. package/dist/llamaEvaluator/LlamaGrammar.d.ts +0 -32
  309. package/dist/llamaEvaluator/LlamaGrammar.js.map +0 -1
  310. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.d.ts +0 -14
  311. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js +0 -16
  312. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +0 -1
  313. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +0 -1
  314. package/dist/llamaEvaluator/LlamaModel.d.ts +0 -123
  315. package/dist/llamaEvaluator/LlamaModel.js +0 -74
  316. package/dist/llamaEvaluator/LlamaModel.js.map +0 -1
  317. package/dist/utils/binariesGithubRelease.js.map +0 -1
  318. package/dist/utils/clearLlamaBuild.d.ts +0 -1
  319. package/dist/utils/clearLlamaBuild.js +0 -12
  320. package/dist/utils/clearLlamaBuild.js.map +0 -1
  321. package/dist/utils/cloneLlamaCppRepo.d.ts +0 -2
  322. package/dist/utils/cloneLlamaCppRepo.js +0 -102
  323. package/dist/utils/cloneLlamaCppRepo.js.map +0 -1
  324. package/dist/utils/compileLLamaCpp.d.ts +0 -8
  325. package/dist/utils/compileLLamaCpp.js +0 -132
  326. package/dist/utils/compileLLamaCpp.js.map +0 -1
  327. package/dist/utils/getBin.d.ts +0 -53
  328. package/dist/utils/getBin.js +0 -78
  329. package/dist/utils/getBin.js.map +0 -1
  330. package/dist/utils/getReleaseInfo.d.ts +0 -7
  331. package/dist/utils/getReleaseInfo.js +0 -30
  332. package/dist/utils/getReleaseInfo.js.map +0 -1
  333. package/dist/utils/getTextCompletion.d.ts +0 -3
  334. package/dist/utils/getTextCompletion.js +0 -12
  335. package/dist/utils/getTextCompletion.js.map +0 -1
  336. package/dist/utils/usedBinFlag.d.ts +0 -6
  337. package/dist/utils/usedBinFlag.js +0 -15
  338. package/dist/utils/usedBinFlag.js.map +0 -1
  339. package/dist/utils/withLock.d.ts +0 -1
  340. package/dist/utils/withLock.js +0 -19
  341. package/dist/utils/withLock.js.map +0 -1
  342. package/llama/usedBin.json +0 -3
  343. package/llamaBins/mac-arm64/llama-addon.node +0 -0
  344. package/llamaBins/mac-x64/ggml-metal.metal +0 -6119
  345. /package/dist/{utils → bindings/utils}/binariesGithubRelease.d.ts +0 -0
  346. /package/llamaBins/{mac-arm64 → mac-arm64-metal}/ggml-metal.metal +0 -0
@@ -0,0 +1,82 @@
1
+ import { Token } from "../../types.js";
2
+ import { LlamaModel } from "../LlamaModel.js";
3
+ import { LlamaContextSequence } from "./LlamaContext.js";
4
+ export type LlamaContextOptions = {
5
+ model: LlamaModel;
6
+ /**
7
+ * number of sequences for the context.
8
+ * Each sequence is a different "text generation process" that can run in parallel to other sequences in the same context.
9
+ * Although a single context has multiple sequences, the sequences are separate from each other and do not share data with each other.
10
+ * This is beneficial for performance, as multiple sequences can be evaluated in parallel (on the same batch).
11
+ */
12
+ sequences?: number;
13
+ /** If null, a random seed will be used */
14
+ seed?: number | null;
15
+ /** text context size */
16
+ contextSize?: number;
17
+ /** prompt processing batch size */
18
+ batchSize?: number;
19
+ /**
20
+ * number of threads to use to evaluate tokens.
21
+ * set to 0 to use the maximum threads supported by the current machine hardware
22
+ */
23
+ threads?: number;
24
+ /** control the parallel sequences processing behavior */
25
+ batching?: BatchingOptions;
26
+ };
27
+ export type LlamaContextSequenceRepeatPenalty = {
28
+ /** Tokens to lower the predication probability of to be the next predicted token */
29
+ punishTokens: Token[] | (() => Token[]);
30
+ /**
31
+ * The relative amount to lower the probability of the tokens in `punishTokens` by
32
+ * Defaults to `1.1`.
33
+ * Set to `1` to disable.
34
+ */
35
+ penalty?: number;
36
+ /**
37
+ * For n time a token is in the `punishTokens` array, lower its probability by `n * frequencyPenalty`
38
+ * Disabled by default (`0`).
39
+ * Set to a value between `0` and `1` to enable.
40
+ */
41
+ frequencyPenalty?: number;
42
+ /**
43
+ * Lower the probability of all the tokens in the `punishTokens` array by `presencePenalty`
44
+ * Disabled by default (`0`).
45
+ * Set to a value between `0` and `1` to enable.
46
+ */
47
+ presencePenalty?: number;
48
+ };
49
+ export type BatchingOptions = {
50
+ dispatchSchedule?: "nextTick" | CustomBatchingDispatchSchedule;
51
+ itemsPrioritizingStrategy?: "maximumParallelism" | "firstInFirstOut" | CustomBatchingPrioritizeStrategy;
52
+ };
53
+ export type CustomBatchingDispatchSchedule = (dispatch: () => void) => void;
54
+ export type CustomBatchingPrioritizeStrategy = (options: {
55
+ items: readonly BatchItem[];
56
+ size: number;
57
+ }) => PrioritizedBatchItem[];
58
+ export type ContextShiftOptions = {
59
+ size?: number | ((sequence: LlamaContextSequence) => number | Promise<number>);
60
+ strategy?: "eraseBeginning" | ((options: {
61
+ sequence: LlamaContextSequence;
62
+ size: number;
63
+ }) => ContextTokensDeleteRange[] | Promise<ContextTokensDeleteRange[]>);
64
+ };
65
+ export type ContextTokensDeleteRange = {
66
+ start: number;
67
+ end: number;
68
+ };
69
+ /**
70
+ * 1 - low
71
+ *
72
+ * 5 - high
73
+ */
74
+ export type EvaluationPriority = 1 | 2 | 3 | 4 | 5;
75
+ export type BatchItem = {
76
+ readonly tokens: readonly Token[];
77
+ readonly evaluationPriority: EvaluationPriority;
78
+ };
79
+ export type PrioritizedBatchItem = {
80
+ item: BatchItem;
81
+ processAmount: number;
82
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaContext/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { BatchItem, PrioritizedBatchItem } from "../../types.js";
2
+ export declare function firstInFirstOutStrategy({ items, size }: {
3
+ items: readonly BatchItem[];
4
+ size: number;
5
+ }): PrioritizedBatchItem[];
@@ -0,0 +1,16 @@
1
+ export function firstInFirstOutStrategy({ items, size }) {
2
+ const res = [];
3
+ const sortedItems = items
4
+ .slice()
5
+ .sort((a, b) => b.evaluationPriority - a.evaluationPriority);
6
+ let leftFreeTokens = size;
7
+ for (const item of sortedItems) {
8
+ const processAmount = Math.min(item.tokens.length, leftFreeTokens);
9
+ res.push({ item, processAmount });
10
+ leftFreeTokens -= processAmount;
11
+ if (leftFreeTokens === 0)
12
+ break;
13
+ }
14
+ return res;
15
+ }
16
+ //# sourceMappingURL=firstInFirstOutStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstInFirstOutStrategy.js","sourceRoot":"","sources":["../../../../../src/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,EAAC,KAAK,EAAE,IAAI,EAAgD;IAChG,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,KAAK;SACpB,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;QAChC,cAAc,IAAI,aAAa,CAAC;QAEhC,IAAI,cAAc,KAAK,CAAC;YACpB,MAAM;KACb;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BatchItem, PrioritizedBatchItem } from "../../types.js";
2
+ export declare function maximumParallelismStrategy({ items, size }: {
3
+ items: readonly BatchItem[];
4
+ size: number;
5
+ }): PrioritizedBatchItem[];
@@ -0,0 +1,42 @@
1
+ export function maximumParallelismStrategy({ items, size }) {
2
+ let leftFreeTokens = size;
3
+ const minTokensForEachItem = Math.floor(leftFreeTokens / items.length);
4
+ const res = [];
5
+ const clippedItems = [];
6
+ for (const item of items) {
7
+ const processAmount = Math.min(item.tokens.length, leftFreeTokens, minTokensForEachItem);
8
+ const prioritizeItem = { item, processAmount };
9
+ res.push(prioritizeItem);
10
+ leftFreeTokens -= processAmount;
11
+ if (processAmount < item.tokens.length)
12
+ clippedItems.push(prioritizeItem);
13
+ if (leftFreeTokens === 0)
14
+ break;
15
+ }
16
+ for (let passesLeft = 3; leftFreeTokens > 0 && clippedItems.length > 0 && passesLeft > 0; passesLeft--) {
17
+ const minIncreaseAmount = Math.ceil(leftFreeTokens / clippedItems.length);
18
+ for (let i = 0; i < clippedItems.length && leftFreeTokens > 0; i++) {
19
+ const prioritizeItem = clippedItems[i];
20
+ const unprocessedAmount = prioritizeItem.item.tokens.length - prioritizeItem.processAmount;
21
+ const increaseAmount = Math.min(unprocessedAmount, leftFreeTokens, minIncreaseAmount);
22
+ prioritizeItem.processAmount += increaseAmount;
23
+ if (increaseAmount === unprocessedAmount) {
24
+ clippedItems.splice(i, 1);
25
+ i--;
26
+ }
27
+ }
28
+ }
29
+ clippedItems.sort((a, b) => b.item.evaluationPriority - a.item.evaluationPriority);
30
+ for (let i = 0; i < clippedItems.length && leftFreeTokens > 0; i++) {
31
+ const prioritizeItem = clippedItems[i];
32
+ const unprocessedAmount = prioritizeItem.item.tokens.length - prioritizeItem.processAmount;
33
+ const increaseAmount = Math.min(unprocessedAmount, leftFreeTokens);
34
+ prioritizeItem.processAmount += increaseAmount;
35
+ if (increaseAmount === unprocessedAmount) {
36
+ clippedItems.splice(i, 1);
37
+ i--;
38
+ }
39
+ }
40
+ return res;
41
+ }
42
+ //# sourceMappingURL=maximumParallelismStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maximumParallelismStrategy.js","sourceRoot":"","sources":["../../../../../src/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,EAAC,KAAK,EAAE,IAAI,EAAgD;IACnG,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzB,cAAc,IAAI,aAAa,CAAC;QAEhC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEtC,IAAI,cAAc,KAAK,CAAC;YACpB,MAAM;KACb;IAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE;QACpG,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;YAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;YACtF,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC;YAE/C,IAAI,cAAc,KAAK,iBAAiB,EAAE;gBACtC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC;aACP;SACJ;KACJ;IAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;QAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACnE,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC;QAE/C,IAAI,cAAc,KAAK,iBAAiB,EAAE;YACtC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC;SACP;KACJ;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BatchingOptions } from "../types.js";
2
+ export declare function resolveBatchItemsPrioritizingStrategy(strategy: Required<BatchingOptions>["itemsPrioritizingStrategy"]): import("../types.js").CustomBatchingPrioritizeStrategy;
@@ -0,0 +1,13 @@
1
+ import { maximumParallelismStrategy } from "./batchItemsPrioritizingStrategies/maximumParallelismStrategy.js";
2
+ import { firstInFirstOutStrategy } from "./batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js";
3
+ export function resolveBatchItemsPrioritizingStrategy(strategy) {
4
+ if (strategy instanceof Function)
5
+ return strategy;
6
+ else if (strategy === "maximumParallelism")
7
+ return maximumParallelismStrategy;
8
+ else if (strategy === "firstInFirstOut")
9
+ return firstInFirstOutStrategy;
10
+ void (strategy);
11
+ throw new Error(`Unknown batch items prioritize strategy: ${strategy}`);
12
+ }
13
+ //# sourceMappingURL=resolveBatchItemsPrioritizingStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBatchItemsPrioritizingStrategy.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAC,uBAAuB,EAAC,MAAM,+DAA+D,CAAC;AAEtG,MAAM,UAAU,qCAAqC,CAAC,QAAgE;IAClH,IAAI,QAAQ,YAAY,QAAQ;QAC5B,OAAO,QAAQ,CAAC;SACf,IAAI,QAAQ,KAAK,oBAAoB;QACtC,OAAO,0BAA0B,CAAC;SACjC,IAAI,QAAQ,KAAK,iBAAiB;QACnC,OAAO,uBAAuB,CAAC;IAEnC,KAAK,CAAC,QAAwB,CAAC,CAAC;IAEhC,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { EventRelay } from "lifecycle-utils";
2
+ import { Token } from "../types.js";
3
+ import { LlamaText } from "../utils/LlamaText.js";
4
+ import { LlamaModel } from "./LlamaModel.js";
5
+ export type LlamaEmbeddingContextOptions = {
6
+ model: LlamaModel;
7
+ /** text context size */
8
+ contextSize?: number;
9
+ /** prompt processing batch size */
10
+ batchSize?: number;
11
+ /**
12
+ * number of threads to use to evaluate tokens.
13
+ * set to 0 to use the maximum threads supported by the current machine hardware
14
+ */
15
+ threads?: number;
16
+ };
17
+ export declare class LlamaEmbeddingContext {
18
+ readonly onDispose: EventRelay<void>;
19
+ constructor({ model, contextSize, batchSize, threads }: LlamaEmbeddingContextOptions);
20
+ getEmbeddingFor(input: Token[] | string | LlamaText): Promise<LlamaEmbedding>;
21
+ dispose(): void;
22
+ /** @hidden */
23
+ [Symbol.dispose](): void;
24
+ get disposed(): boolean;
25
+ }
26
+ export type LlamaEmbeddingJSON = {
27
+ type: "LlamaEmbedding";
28
+ vector: number[];
29
+ };
30
+ export declare class LlamaEmbedding {
31
+ readonly vector: number[];
32
+ constructor({ vector }: {
33
+ vector: number[];
34
+ });
35
+ toJSON(): LlamaEmbeddingJSON;
36
+ static fromJSON(json: LlamaEmbeddingJSON): LlamaEmbedding;
37
+ }
@@ -0,0 +1,78 @@
1
+ import { DisposeAggregator, EventRelay, withLock } from "lifecycle-utils";
2
+ import { tokenizeInput } from "../utils/tokenizeInput.js";
3
+ import { LlamaContext } from "./LlamaContext/LlamaContext.js";
4
+ export class LlamaEmbeddingContext {
5
+ /** @internal */ _llamaContext;
6
+ /** @internal */ _sequence;
7
+ /** @internal */ _disposeAggregator = new DisposeAggregator();
8
+ onDispose = new EventRelay();
9
+ constructor({ model, contextSize = model.trainContextSize, batchSize = contextSize, threads = 6 }) {
10
+ const resolvedContextSize = Math.min(contextSize, model.trainContextSize);
11
+ const resolvedBatchSize = Math.min(batchSize, resolvedContextSize);
12
+ this._llamaContext = new LlamaContext({
13
+ model,
14
+ contextSize: resolvedContextSize,
15
+ batchSize: resolvedBatchSize,
16
+ threads,
17
+ _embedding: true,
18
+ _noSeed: true
19
+ });
20
+ this._sequence = this._llamaContext.getSequence();
21
+ this._disposeAggregator.add(this._llamaContext.onDispose.createListener(() => {
22
+ this._disposeAggregator.dispose();
23
+ }));
24
+ this._disposeAggregator.add(this.onDispose.dispatchEvent);
25
+ this._disposeAggregator.add(() => {
26
+ this._llamaContext.dispose();
27
+ });
28
+ }
29
+ async getEmbeddingFor(input) {
30
+ const resolvedInput = tokenizeInput(input, this._llamaContext.model.tokenize);
31
+ if (resolvedInput.length > this._llamaContext.contextSize)
32
+ throw new Error("Input is longer than the context size. " +
33
+ "Try to increase the context size or use another model that supports longer contexts.");
34
+ else if (resolvedInput.length === 0)
35
+ return new LlamaEmbedding({ vector: [] });
36
+ return await withLock(this, "evaluate", async () => {
37
+ await this._sequence.eraseContextTokenRanges([{
38
+ start: 0,
39
+ end: this._sequence.nextTokenIndex
40
+ }]);
41
+ await this._sequence.evaluateWithoutGeneratingNewTokens(resolvedInput);
42
+ const embedding = this._llamaContext._ctx.getEmbedding();
43
+ const embeddingVector = Array.from(embedding);
44
+ return new LlamaEmbedding({ vector: embeddingVector });
45
+ });
46
+ }
47
+ dispose() {
48
+ this._disposeAggregator.dispose();
49
+ }
50
+ /** @hidden */
51
+ [Symbol.dispose]() {
52
+ return this.dispose();
53
+ }
54
+ get disposed() {
55
+ return this._llamaContext.disposed;
56
+ }
57
+ }
58
+ export class LlamaEmbedding {
59
+ vector;
60
+ constructor({ vector }) {
61
+ this.vector = vector;
62
+ }
63
+ toJSON() {
64
+ return {
65
+ type: "LlamaEmbedding",
66
+ vector: this.vector
67
+ };
68
+ }
69
+ static fromJSON(json) {
70
+ if (json == null || json.type !== "LlamaEmbedding" || !(json.vector instanceof Array) ||
71
+ json.vector.some(v => typeof v !== "number"))
72
+ throw new Error("Invalid LlamaEmbedding JSON");
73
+ return new LlamaEmbedding({
74
+ vector: json.vector
75
+ });
76
+ }
77
+ }
78
+ //# sourceMappingURL=LlamaEmbeddingContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlamaEmbeddingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaEmbeddingContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { LlamaText } from "../utils/LlamaText.js";
2
+ import { StopGenerationTrigger } from "../utils/StopGenerationDetector.js";
3
+ import { Llama } from "../bindings/Llama.js";
4
+ export type LlamaGrammarOptions = {
5
+ llama: Llama;
6
+ /** GBNF grammar */
7
+ grammar: string;
8
+ /** print the grammar to stdout */
9
+ printGrammar?: boolean;
10
+ /** Consider any of these as EOS for the generated text. Only supported by `LlamaChat` and `LlamaChatSession` */
11
+ stopGenerationTriggers?: readonly (StopGenerationTrigger | LlamaText)[];
12
+ /** Trim whitespace from the end of the generated text. Only supported by `LlamaChat` and `LlamaChatSession` */
13
+ trimWhitespaceSuffix?: boolean;
14
+ };
15
+ export declare class LlamaGrammar {
16
+ private readonly _stopGenerationTriggers;
17
+ private readonly _trimWhitespaceSuffix;
18
+ private readonly _grammarText;
19
+ /**
20
+ * > GBNF files are supported.
21
+ * > More info here: [github:ggerganov/llama.cpp:grammars/README.md](
22
+ * > https://github.com/ggerganov/llama.cpp/blob/f5fe98d11bdf9e7797bcfb05c0c3601ffc4b9d26/grammars/README.md)
23
+ * @param options
24
+ */
25
+ constructor({ llama, grammar, stopGenerationTriggers, trimWhitespaceSuffix, printGrammar }: LlamaGrammarOptions);
26
+ get grammar(): string;
27
+ get stopGenerationTriggers(): readonly (StopGenerationTrigger | LlamaText)[];
28
+ get trimWhitespaceSuffix(): boolean;
29
+ static getFor(llama: Llama, type: "json" | "list" | "arithmetic" | "japanese" | "chess"): Promise<LlamaGrammar>;
30
+ }
@@ -1,50 +1,46 @@
1
1
  import path from "path";
2
2
  import fs from "fs-extra";
3
3
  import { getGrammarsFolder } from "../utils/getGrammarsFolder.js";
4
- import { LLAMAGrammar } from "./LlamaBins.js";
4
+ import { LlamaText } from "../utils/LlamaText.js";
5
5
  export class LlamaGrammar {
6
- /** @internal */
7
- _grammar;
8
- _stopStrings;
6
+ /** @internal */ _llama;
7
+ /** @internal */ _grammar;
8
+ _stopGenerationTriggers;
9
9
  _trimWhitespaceSuffix;
10
10
  _grammarText;
11
11
  /**
12
12
  * > GBNF files are supported.
13
13
  * > More info here: [github:ggerganov/llama.cpp:grammars/README.md](
14
14
  * > https://github.com/ggerganov/llama.cpp/blob/f5fe98d11bdf9e7797bcfb05c0c3601ffc4b9d26/grammars/README.md)
15
- * @param {object} options
16
- * @param {string} options.grammar - GBNF grammar
17
- * @param {string[]} [options.stopStrings] - Consider any of these texts as EOS for the generated out.
18
- * Only supported by `LlamaChatSession`
19
- * @param {boolean} [options.trimWhitespaceSuffix] - Trim whitespace from the end of the generated text.
20
- * Only supported by `LlamaChatSession`
21
- * @param {boolean} [options.printGrammar] - print the grammar to stdout
15
+ * @param options
22
16
  */
23
- constructor({ grammar, stopStrings = [], trimWhitespaceSuffix = false, printGrammar = false }) {
24
- this._grammar = new LLAMAGrammar(grammar, {
17
+ constructor({ llama, grammar, stopGenerationTriggers = [], trimWhitespaceSuffix = false, printGrammar = false }) {
18
+ this._llama = llama;
19
+ this._grammar = new this._llama._bindings.AddonGrammar(grammar, {
25
20
  printGrammar
26
21
  });
27
- this._stopStrings = stopStrings ?? [];
22
+ this._stopGenerationTriggers = stopGenerationTriggers ?? [];
28
23
  this._trimWhitespaceSuffix = trimWhitespaceSuffix;
29
24
  this._grammarText = grammar;
30
25
  }
31
26
  get grammar() {
32
27
  return this._grammarText;
33
28
  }
34
- get stopStrings() {
35
- return this._stopStrings;
29
+ get stopGenerationTriggers() {
30
+ return this._stopGenerationTriggers;
36
31
  }
37
32
  get trimWhitespaceSuffix() {
38
33
  return this._trimWhitespaceSuffix;
39
34
  }
40
- static async getFor(type) {
41
- const grammarsFolder = await getGrammarsFolder();
35
+ static async getFor(llama, type) {
36
+ const grammarsFolder = await getGrammarsFolder(llama.buildType);
42
37
  const grammarFile = path.join(grammarsFolder, type + ".gbnf");
43
38
  if (await fs.pathExists(grammarFile)) {
44
39
  const grammar = await fs.readFile(grammarFile, "utf8");
45
40
  return new LlamaGrammar({
41
+ llama,
46
42
  grammar,
47
- stopStrings: ["\n".repeat(10)],
43
+ stopGenerationTriggers: [LlamaText(["\n".repeat(10)])],
48
44
  trimWhitespaceSuffix: true
49
45
  });
50
46
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/evaluator/LlamaGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAsBhD,MAAM,OAAO,YAAY;IACrB,gBAAgB,CAAiB,MAAM,CAAQ;IAC/C,gBAAgB,CAAiB,QAAQ,CAAe;IACvC,uBAAuB,CAAiD;IACxE,qBAAqB,CAAU;IAC/B,YAAY,CAAS;IAEtC;;;;;OAKG;IACH,YAAmB,EACf,KAAK,EAAE,OAAO,EAAE,sBAAsB,GAAG,EAAE,EAAE,oBAAoB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAC7E;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE;YAC5D,YAAY;SACf,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,sBAAsB;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,IAA2D;QAChG,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;QAE9D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,YAAY,CAAC;gBACpB,KAAK;gBACL,OAAO;gBACP,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,oBAAoB,EAAE,IAAI;aAC7B,CAAC,CAAC;SACN;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,cAAc,GAAG,CAAC,CAAC;IAC5F,CAAC;CACJ"}
@@ -0,0 +1,15 @@
1
+ import { LlamaGrammar } from "./LlamaGrammar.js";
2
+ export type LlamaGrammarEvaluationStateOptions = {
3
+ grammar: LlamaGrammar;
4
+ };
5
+ /**
6
+ * Grammar evaluation state is used to track the model response to determine the next allowed characters for the model to generate.
7
+ * Create a new grammar evaluation state for every response you generate with the model.
8
+ * This is only needed when using the `LlamaContext` class directly, as `LlamaChatSession` already handles this for you.
9
+ */
10
+ export declare class LlamaGrammarEvaluationState {
11
+ /**
12
+ * @param options
13
+ */
14
+ constructor({ grammar }: LlamaGrammarEvaluationStateOptions);
15
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Grammar evaluation state is used to track the model response to determine the next allowed characters for the model to generate.
3
+ * Create a new grammar evaluation state for every response you generate with the model.
4
+ * This is only needed when using the `LlamaContext` class directly, as `LlamaChatSession` already handles this for you.
5
+ */
6
+ export class LlamaGrammarEvaluationState {
7
+ /** @internal */ _llama;
8
+ /** @internal */ _state;
9
+ /**
10
+ * @param options
11
+ */
12
+ constructor({ grammar }) {
13
+ this._llama = grammar._llama;
14
+ this._state = new grammar._llama._bindings.AddonGrammarEvaluationState(grammar._grammar);
15
+ }
16
+ }
17
+ //# sourceMappingURL=LlamaGrammarEvaluationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlamaGrammarEvaluationState.js","sourceRoot":"","sources":["../../src/evaluator/LlamaGrammarEvaluationState.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IACpC,gBAAgB,CAAiB,MAAM,CAAQ;IAC/C,gBAAgB,CAAiB,MAAM,CAA8B;IAErE;;OAEG;IACH,YAAmB,EAAC,OAAO,EAAqC;QAC5D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7F,CAAC;CACJ"}
@@ -1,7 +1,8 @@
1
1
  import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../utils/gbnfJson/types.js";
2
+ import { Llama } from "../bindings/Llama.js";
2
3
  import { LlamaGrammar } from "./LlamaGrammar.js";
3
4
  export declare class LlamaJsonSchemaGrammar<const T extends Readonly<GbnfJsonSchema>> extends LlamaGrammar {
4
5
  private readonly _schema;
5
- constructor(schema: T);
6
+ constructor(llama: Llama, schema: T);
6
7
  parse(json: string): GbnfJsonSchemaToType<T>;
7
8
  }
@@ -1,13 +1,15 @@
1
1
  import { getGbnfGrammarForGbnfJsonSchema } from "../utils/getGbnfGrammarForGbnfJsonSchema.js";
2
2
  import { validateObjectAgainstGbnfSchema } from "../utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js";
3
+ import { LlamaText } from "../utils/LlamaText.js";
3
4
  import { LlamaGrammar } from "./LlamaGrammar.js";
4
5
  export class LlamaJsonSchemaGrammar extends LlamaGrammar {
5
6
  _schema;
6
- constructor(schema) {
7
+ constructor(llama, schema) {
7
8
  const grammar = getGbnfGrammarForGbnfJsonSchema(schema);
8
9
  super({
10
+ llama,
9
11
  grammar,
10
- stopStrings: ["\n".repeat(4)],
12
+ stopGenerationTriggers: [LlamaText(["\n".repeat(4)])],
11
13
  trimWhitespaceSuffix: true
12
14
  });
13
15
  this._schema = schema;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlamaJsonSchemaGrammar.js","sourceRoot":"","sources":["../../src/evaluator/LlamaJsonSchemaGrammar.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,+BAA+B,EAAC,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAC,+BAA+B,EAAC,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,sBAAiE,SAAQ,YAAY;IAC7E,OAAO,CAAI;IAE5B,YAAmB,KAAY,EAAE,MAAS;QACtC,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,CAAC;YACF,KAAK;YACL,OAAO;YACP,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,oBAAoB,EAAE,IAAI;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,IAAY;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1D,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,120 @@
1
+ import { EventRelay } from "lifecycle-utils";
2
+ import { Token } from "../types.js";
3
+ import { ModelTypeDescription } from "../bindings/AddonTypes.js";
4
+ import { Llama } from "../bindings/Llama.js";
5
+ import type { BuiltinSpecialTokenValue } from "../utils/LlamaText.js";
6
+ export type LlamaModelOptions = {
7
+ llama: Llama;
8
+ /** path to the model on the filesystem */
9
+ modelPath: string;
10
+ /** number of layers to store in VRAM */
11
+ gpuLayers?: number;
12
+ /** only load the vocabulary, no weights */
13
+ vocabOnly?: boolean;
14
+ /** use mmap if possible */
15
+ useMmap?: boolean;
16
+ /** force system to keep model in RAM */
17
+ useMlock?: boolean;
18
+ };
19
+ export declare class LlamaModel {
20
+ readonly onDispose: EventRelay<void>;
21
+ /**
22
+ * > options source:
23
+ * > [github:ggerganov/llama.cpp/llama.h](
24
+ * > https://github.com/ggerganov/llama.cpp/blob/05816027d649f977468fc804cdb54e99eac246d1/llama.h#L161) (`struct llama_model_params`)
25
+ * @param options
26
+ * @param options.modelPath - path to the model on the filesystem
27
+ * @param [options.gpuLayers] - number of layers to store in VRAM
28
+ * @param [options.vocabOnly] - only load the vocabulary, no weights
29
+ * @param [options.useMmap] - use mmap if possible
30
+ * @param [options.useMlock] - force system to keep model in RAM
31
+ */
32
+ constructor({ llama, modelPath, gpuLayers, vocabOnly, useMmap, useMlock }: LlamaModelOptions);
33
+ dispose(): void;
34
+ /** @hidden */
35
+ [Symbol.dispose](): void;
36
+ get disposed(): boolean;
37
+ get tokens(): LlamaModelTokens;
38
+ get filename(): string | undefined;
39
+ /**
40
+ * Transform text into tokens that can be fed to the model
41
+ * @param text - the text to tokenize
42
+ * @param [specialTokens] - if set to true, text that correspond to special tokens will be tokenized to those tokens.
43
+ * For example, `<s>` will be tokenized to the BOS token if `specialTokens` is set to `true`,
44
+ * otherwise it will be tokenized to tokens that corresponds to the plaintext `<s>` string.
45
+ */
46
+ tokenize(text: string, specialTokens?: boolean): Token[];
47
+ tokenize(text: BuiltinSpecialTokenValue, specialTokens: "builtin"): Token[];
48
+ /** Transform tokens into text */
49
+ detokenize(tokens: readonly Token[]): string;
50
+ /** @hidden `ModelTypeDescription` type alias is too long in the documentation */
51
+ get typeDescription(): ModelTypeDescription;
52
+ /** The context size the model was trained on */
53
+ get trainContextSize(): number;
54
+ }
55
+ export declare class LlamaModelTokens {
56
+ private constructor();
57
+ /**
58
+ * @returns infill tokens
59
+ */
60
+ get infill(): LlamaModelInfillTokens;
61
+ /**
62
+ * @returns The BOS (Beginning Of Sequence) token.
63
+ */
64
+ get bos(): Token | null;
65
+ /**
66
+ * @returns The EOS (End Of Sequence) token.
67
+ */
68
+ get eos(): Token | null;
69
+ /**
70
+ * @returns The NL (New Line) token.
71
+ */
72
+ get nl(): Token | null;
73
+ /**
74
+ * @returns The BOS (Beginning Of Sequence) token as a string.
75
+ */
76
+ get bosString(): string | null;
77
+ /**
78
+ * @returns The EOS (End Of Sequence) token as a string.
79
+ */
80
+ get eosString(): string | null;
81
+ /**
82
+ * @returns The NL (New Line) token as a string.
83
+ */
84
+ get nlString(): string | null;
85
+ }
86
+ export declare class LlamaModelInfillTokens {
87
+ private constructor();
88
+ /**
89
+ * @returns The beginning of infill prefix token.
90
+ */
91
+ get prefix(): Token | null;
92
+ /**
93
+ * @returns The beginning of infill middle token.
94
+ */
95
+ get middle(): Token | null;
96
+ /**
97
+ * @returns The beginning of infill suffix token.
98
+ */
99
+ get suffix(): Token | null;
100
+ /**
101
+ * @returns End of infill middle token (End Of Text).
102
+ */
103
+ get eot(): Token | null;
104
+ /**
105
+ * @returns The beginning of infill prefix token as a string.
106
+ */
107
+ get prefixString(): string | null;
108
+ /**
109
+ * @returns The beginning of infill middle token as a string.
110
+ */
111
+ get middleString(): string | null;
112
+ /**
113
+ * @returns The beginning of infill suffix token as a string.
114
+ */
115
+ get suffixString(): string | null;
116
+ /**
117
+ * @returns End of infill middle token (End Of Text) as a string.
118
+ */
119
+ get eotString(): string | null;
120
+ }