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,320 @@
1
+ import process from "process";
2
+ import path from "path";
3
+ import { DisposedError, EventRelay } from "lifecycle-utils";
4
+ import { removeNullFields } from "../utils/removeNullFields.js";
5
+ export class LlamaModel {
6
+ /** @internal */ _llama;
7
+ /** @internal */ _model;
8
+ /** @internal */ _tokens;
9
+ /** @internal */ _filename;
10
+ /** @internal */ _disposedState = { disposed: false };
11
+ /** @internal */ _typeDescription;
12
+ /** @internal */ _trainContextSize;
13
+ onDispose = new EventRelay();
14
+ /**
15
+ * > options source:
16
+ * > [github:ggerganov/llama.cpp/llama.h](
17
+ * > https://github.com/ggerganov/llama.cpp/blob/05816027d649f977468fc804cdb54e99eac246d1/llama.h#L161) (`struct llama_model_params`)
18
+ * @param options
19
+ * @param options.modelPath - path to the model on the filesystem
20
+ * @param [options.gpuLayers] - number of layers to store in VRAM
21
+ * @param [options.vocabOnly] - only load the vocabulary, no weights
22
+ * @param [options.useMmap] - use mmap if possible
23
+ * @param [options.useMlock] - force system to keep model in RAM
24
+ */
25
+ constructor({ llama, modelPath, gpuLayers, vocabOnly, useMmap, useMlock }) {
26
+ this._llama = llama;
27
+ this._model = new this._llama._bindings.AddonModel(path.resolve(process.cwd(), modelPath), removeNullFields({
28
+ gpuLayers,
29
+ vocabOnly,
30
+ useMmap,
31
+ useMlock
32
+ }));
33
+ this._tokens = LlamaModelTokens._create(this._model, this._disposedState);
34
+ this._filename = path.basename(modelPath);
35
+ this.tokenize = this.tokenize.bind(this);
36
+ this.detokenize = this.detokenize.bind(this);
37
+ }
38
+ dispose() {
39
+ if (this._disposedState.disposed)
40
+ return;
41
+ this.onDispose.dispatchEvent();
42
+ this._model.dispose();
43
+ this._disposedState.disposed = true;
44
+ }
45
+ /** @hidden */
46
+ [Symbol.dispose]() {
47
+ this.dispose();
48
+ }
49
+ get disposed() {
50
+ return this._disposedState.disposed;
51
+ }
52
+ get tokens() {
53
+ return this._tokens;
54
+ }
55
+ get filename() {
56
+ return this._filename;
57
+ }
58
+ tokenize(text, specialTokens = false) {
59
+ this._ensureNotDisposed();
60
+ if (text === "")
61
+ return [];
62
+ if (specialTokens === "builtin") {
63
+ const builtinToken = text;
64
+ switch (builtinToken) {
65
+ case "BOS": return this.tokens.bos == null ? [] : [this.tokens.bos];
66
+ case "EOS": return this.tokens.eos == null ? [] : [this.tokens.eos];
67
+ case "NL": return this.tokens.nl == null ? [] : [this.tokens.nl];
68
+ }
69
+ void (builtinToken);
70
+ throw new Error(`Unknown builtin special token: ${builtinToken}`);
71
+ }
72
+ return Array.from(this._model.tokenize(text, specialTokens));
73
+ }
74
+ /** Transform tokens into text */
75
+ detokenize(tokens) {
76
+ this._ensureNotDisposed();
77
+ if (tokens.length === 0)
78
+ return "";
79
+ return this._model.detokenize(Uint32Array.from(tokens));
80
+ }
81
+ /** @hidden `ModelTypeDescription` type alias is too long in the documentation */
82
+ get typeDescription() {
83
+ this._ensureNotDisposed();
84
+ if (this._typeDescription == null)
85
+ this._typeDescription = this._model.getModelDescription();
86
+ return this._typeDescription;
87
+ }
88
+ /** The context size the model was trained on */
89
+ get trainContextSize() {
90
+ this._ensureNotDisposed();
91
+ if (this._trainContextSize == null)
92
+ this._trainContextSize = this._model.getTrainContextSize();
93
+ return this._trainContextSize;
94
+ }
95
+ /** @internal */
96
+ _ensureNotDisposed() {
97
+ if (this._disposedState.disposed)
98
+ throw new DisposedError();
99
+ }
100
+ }
101
+ export class LlamaModelTokens {
102
+ /** @internal */ _model;
103
+ /** @internal */ _disposedState;
104
+ /** @internal */ _infillTokens;
105
+ /** @internal */ _bosToken;
106
+ /** @internal */ _eosToken;
107
+ /** @internal */ _nlToken;
108
+ /** @internal */ _bosString;
109
+ /** @internal */ _eosString;
110
+ /** @internal */ _nlString;
111
+ constructor(model, disposedState) {
112
+ this._model = model;
113
+ this._disposedState = disposedState;
114
+ }
115
+ /**
116
+ * @returns infill tokens
117
+ */
118
+ get infill() {
119
+ this._ensureNotDisposed();
120
+ if (this._infillTokens == null)
121
+ this._infillTokens = LlamaModelInfillTokens._create(this._model, this._disposedState);
122
+ return this._infillTokens;
123
+ }
124
+ /**
125
+ * @returns The BOS (Beginning Of Sequence) token.
126
+ */
127
+ get bos() {
128
+ this._ensureNotDisposed();
129
+ if (this._bosToken == null)
130
+ this._bosToken = this._model.tokenBos();
131
+ if (this._bosToken === -1)
132
+ return null;
133
+ return this._bosToken;
134
+ }
135
+ /**
136
+ * @returns The EOS (End Of Sequence) token.
137
+ */
138
+ get eos() {
139
+ this._ensureNotDisposed();
140
+ if (this._eosToken == null)
141
+ this._eosToken = this._model.tokenEos();
142
+ if (this._eosToken === -1)
143
+ return null;
144
+ return this._eosToken;
145
+ }
146
+ /**
147
+ * @returns The NL (New Line) token.
148
+ */
149
+ get nl() {
150
+ this._ensureNotDisposed();
151
+ if (this._nlToken == null)
152
+ this._nlToken = this._model.tokenNl();
153
+ if (this._nlToken === -1)
154
+ return null;
155
+ return this._nlToken;
156
+ }
157
+ /**
158
+ * @returns The BOS (Beginning Of Sequence) token as a string.
159
+ */
160
+ get bosString() {
161
+ this._ensureNotDisposed();
162
+ const bosToken = this.bos;
163
+ if (bosToken == null)
164
+ return null;
165
+ if (this._bosString == null)
166
+ this._bosString = this._model.getTokenString(bosToken);
167
+ return this._bosString;
168
+ }
169
+ /**
170
+ * @returns The EOS (End Of Sequence) token as a string.
171
+ */
172
+ get eosString() {
173
+ this._ensureNotDisposed();
174
+ const eosToken = this.eos;
175
+ if (eosToken == null)
176
+ return null;
177
+ if (this._eosString == null)
178
+ this._eosString = this._model.getTokenString(eosToken);
179
+ return this._eosString;
180
+ }
181
+ /**
182
+ * @returns The NL (New Line) token as a string.
183
+ */
184
+ get nlString() {
185
+ this._ensureNotDisposed();
186
+ const nlToken = this.nl;
187
+ if (nlToken == null)
188
+ return null;
189
+ if (this._nlString == null)
190
+ this._nlString = this._model.getTokenString(nlToken);
191
+ return this._nlString;
192
+ }
193
+ /** @internal */
194
+ _ensureNotDisposed() {
195
+ if (this._disposedState.disposed)
196
+ throw new DisposedError();
197
+ }
198
+ /** @internal */
199
+ static _create(model, disposedState) {
200
+ return new LlamaModelTokens(model, disposedState);
201
+ }
202
+ }
203
+ export class LlamaModelInfillTokens {
204
+ /** @internal */ _model;
205
+ /** @internal */ _disposedState;
206
+ /** @internal */ _prefixToken;
207
+ /** @internal */ _middleToken;
208
+ /** @internal */ _suffixToken;
209
+ /** @internal */ _eotToken;
210
+ /** @internal */ _prefixString;
211
+ /** @internal */ _middleString;
212
+ /** @internal */ _suffixString;
213
+ /** @internal */ _eotString;
214
+ constructor(model, disposedState) {
215
+ this._model = model;
216
+ this._disposedState = disposedState;
217
+ }
218
+ /**
219
+ * @returns The beginning of infill prefix token.
220
+ */
221
+ get prefix() {
222
+ this._ensureNotDisposed();
223
+ if (this._prefixToken == null)
224
+ this._prefixToken = this._model.prefixToken();
225
+ if (this._prefixToken === -1)
226
+ return null;
227
+ return this._prefixToken;
228
+ }
229
+ /**
230
+ * @returns The beginning of infill middle token.
231
+ */
232
+ get middle() {
233
+ this._ensureNotDisposed();
234
+ if (this._middleToken == null)
235
+ this._middleToken = this._model.middleToken();
236
+ if (this._middleToken === -1)
237
+ return null;
238
+ return this._middleToken;
239
+ }
240
+ /**
241
+ * @returns The beginning of infill suffix token.
242
+ */
243
+ get suffix() {
244
+ this._ensureNotDisposed();
245
+ if (this._suffixToken == null)
246
+ this._suffixToken = this._model.suffixToken();
247
+ if (this._suffixToken === -1)
248
+ return null;
249
+ return this._suffixToken;
250
+ }
251
+ /**
252
+ * @returns End of infill middle token (End Of Text).
253
+ */
254
+ get eot() {
255
+ this._ensureNotDisposed();
256
+ if (this._eotToken == null)
257
+ this._eotToken = this._model.eotToken();
258
+ if (this._eotToken === -1)
259
+ return null;
260
+ return this._eotToken;
261
+ }
262
+ /**
263
+ * @returns The beginning of infill prefix token as a string.
264
+ */
265
+ get prefixString() {
266
+ this._ensureNotDisposed();
267
+ const prefixToken = this.prefix;
268
+ if (prefixToken == null)
269
+ return null;
270
+ if (this._prefixString == null)
271
+ this._prefixString = this._model.getTokenString(prefixToken);
272
+ return this._prefixString;
273
+ }
274
+ /**
275
+ * @returns The beginning of infill middle token as a string.
276
+ */
277
+ get middleString() {
278
+ this._ensureNotDisposed();
279
+ const middleToken = this.middle;
280
+ if (middleToken == null)
281
+ return null;
282
+ if (this._middleString == null)
283
+ this._middleString = this._model.getTokenString(middleToken);
284
+ return this._middleString;
285
+ }
286
+ /**
287
+ * @returns The beginning of infill suffix token as a string.
288
+ */
289
+ get suffixString() {
290
+ this._ensureNotDisposed();
291
+ const suffixToken = this.suffix;
292
+ if (suffixToken == null)
293
+ return null;
294
+ if (this._suffixString == null)
295
+ this._suffixString = this._model.getTokenString(suffixToken);
296
+ return this._suffixString;
297
+ }
298
+ /**
299
+ * @returns End of infill middle token (End Of Text) as a string.
300
+ */
301
+ get eotString() {
302
+ this._ensureNotDisposed();
303
+ const eotToken = this.eot;
304
+ if (eotToken == null)
305
+ return null;
306
+ if (this._eotString == null)
307
+ this._eotString = this._model.getTokenString(eotToken);
308
+ return this._eotString;
309
+ }
310
+ /** @internal */
311
+ _ensureNotDisposed() {
312
+ if (this._disposedState.disposed)
313
+ throw new DisposedError();
314
+ }
315
+ /** @internal */
316
+ static _create(model, disposedState) {
317
+ return new LlamaModelInfillTokens(model, disposedState);
318
+ }
319
+ }
320
+ //# sourceMappingURL=LlamaModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/evaluator/LlamaModel.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,32 @@
1
- import { LlamaModel, type LlamaModelOptions } from "./llamaEvaluator/LlamaModel.js";
2
- import { LlamaGrammar, type LlamaGrammarOptions } from "./llamaEvaluator/LlamaGrammar.js";
3
- import { LlamaJsonSchemaGrammar } from "./llamaEvaluator/LlamaJsonSchemaGrammar.js";
1
+ import { DisposedError } from "lifecycle-utils";
2
+ import { Llama } from "./bindings/Llama.js";
3
+ import { getLlama, LlamaOptions } from "./bindings/getLlama.js";
4
+ import { NoBinaryFoundError } from "./bindings/utils/NoBinaryFoundError.js";
5
+ import { LlamaLogLevel } from "./bindings/types.js";
6
+ import { LlamaModel, LlamaModelInfillTokens, type LlamaModelOptions, LlamaModelTokens } from "./evaluator/LlamaModel.js";
7
+ import { LlamaGrammar, type LlamaGrammarOptions } from "./evaluator/LlamaGrammar.js";
8
+ import { LlamaJsonSchemaGrammar } from "./evaluator/LlamaJsonSchemaGrammar.js";
4
9
  import { LlamaJsonSchemaValidationError } from "./utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js";
5
- import { LlamaGrammarEvaluationState, LlamaGrammarEvaluationStateOptions } from "./llamaEvaluator/LlamaGrammarEvaluationState.js";
6
- import { LlamaContext, type LlamaContextOptions, type LlamaContextRepeatPenalty } from "./llamaEvaluator/LlamaContext.js";
7
- import { LlamaChatSession, type LlamaChatSessionOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty } from "./llamaEvaluator/LlamaChatSession.js";
10
+ import { LlamaGrammarEvaluationState, LlamaGrammarEvaluationStateOptions } from "./evaluator/LlamaGrammarEvaluationState.js";
11
+ import { LlamaContext, LlamaContextSequence } from "./evaluator/LlamaContext/LlamaContext.js";
12
+ import { LlamaEmbeddingContext, type LlamaEmbeddingContextOptions, LlamaEmbedding, type LlamaEmbeddingJSON } from "./evaluator/LlamaEmbeddingContext.js";
13
+ import { type LlamaContextOptions, type BatchingOptions, type LlamaContextSequenceRepeatPenalty, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority } from "./evaluator/LlamaContext/types.js";
14
+ import { LlamaChatSession, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty } from "./evaluator/LlamaChatSession/LlamaChatSession.js";
15
+ import { defineChatSessionFunction } from "./evaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
16
+ import { LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaChatRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall } from "./evaluator/LlamaChat/LlamaChat.js";
8
17
  import { AbortError } from "./AbortError.js";
9
- import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
10
- import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
11
- import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
12
- import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
13
- import { ChatMLChatPromptWrapper } from "./chatWrappers/ChatMLChatPromptWrapper.js";
14
- import { FalconChatPromptWrapper } from "./chatWrappers/FalconChatPromptWrapper.js";
15
- import { getChatWrapperByBos } from "./chatWrappers/createChatWrapperByBos.js";
16
- import { getReleaseInfo } from "./utils/getReleaseInfo.js";
17
- import { type ConversationInteraction, type Token } from "./types.js";
18
+ import { ChatWrapper, type ChatWrapperSettings } from "./ChatWrapper.js";
19
+ import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
20
+ import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
21
+ import { GeneralChatWrapper } from "./chatWrappers/GeneralChatWrapper.js";
22
+ import { ChatMLChatWrapper } from "./chatWrappers/ChatMLChatWrapper.js";
23
+ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
24
+ import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
25
+ import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
26
+ import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
27
+ import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON } from "./utils/LlamaText.js";
28
+ import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
29
+ import { getModuleVersion } from "./utils/getModuleVersion.js";
30
+ import { type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall } from "./types.js";
18
31
  import { type GbnfJsonArraySchema, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonObjectSchema, type GbnfJsonOneOfSchema, type GbnfJsonSchema, type GbnfJsonSchemaImmutableType, type GbnfJsonSchemaToType } from "./utils/gbnfJson/types.js";
19
- export { LlamaModel, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, type LlamaContextOptions, type LlamaContextRepeatPenalty, LlamaChatSession, type LlamaChatSessionOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, type ConversationInteraction, AbortError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLChatPromptWrapper, FalconChatPromptWrapper, getChatWrapperByBos, getReleaseInfo, type Token, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema };
32
+ export { Llama, getLlama, type LlamaOptions, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, LlamaContextSequence, type LlamaContextOptions, type BatchingOptions, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type LlamaContextSequenceRepeatPenalty, LlamaEmbeddingContext, type LlamaEmbeddingContextOptions, LlamaEmbedding, type LlamaEmbeddingJSON, LlamaChatSession, defineChatSessionFunction, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaChatRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall, AbortError, DisposedError, ChatWrapper, type ChatWrapperSettings, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, resolveChatWrapperBasedOnModel, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON, appendUserMessageToChatHistory, getModuleVersion, type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema };
package/dist/index.js CHANGED
@@ -1,18 +1,31 @@
1
- import { LlamaModel } from "./llamaEvaluator/LlamaModel.js";
2
- import { LlamaGrammar } from "./llamaEvaluator/LlamaGrammar.js";
3
- import { LlamaJsonSchemaGrammar } from "./llamaEvaluator/LlamaJsonSchemaGrammar.js";
1
+ import { DisposedError } from "lifecycle-utils";
2
+ import { Llama } from "./bindings/Llama.js";
3
+ import { getLlama } from "./bindings/getLlama.js";
4
+ import { NoBinaryFoundError } from "./bindings/utils/NoBinaryFoundError.js";
5
+ import { LlamaLogLevel } from "./bindings/types.js";
6
+ import { LlamaModel, LlamaModelInfillTokens, LlamaModelTokens } from "./evaluator/LlamaModel.js";
7
+ import { LlamaGrammar } from "./evaluator/LlamaGrammar.js";
8
+ import { LlamaJsonSchemaGrammar } from "./evaluator/LlamaJsonSchemaGrammar.js";
4
9
  import { LlamaJsonSchemaValidationError } from "./utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js";
5
- import { LlamaGrammarEvaluationState } from "./llamaEvaluator/LlamaGrammarEvaluationState.js";
6
- import { LlamaContext } from "./llamaEvaluator/LlamaContext.js";
7
- import { LlamaChatSession } from "./llamaEvaluator/LlamaChatSession.js";
10
+ import { LlamaGrammarEvaluationState } from "./evaluator/LlamaGrammarEvaluationState.js";
11
+ import { LlamaContext, LlamaContextSequence } from "./evaluator/LlamaContext/LlamaContext.js";
12
+ import { LlamaEmbeddingContext, LlamaEmbedding } from "./evaluator/LlamaEmbeddingContext.js";
13
+ import { LlamaChatSession } from "./evaluator/LlamaChatSession/LlamaChatSession.js";
14
+ import { defineChatSessionFunction } from "./evaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
15
+ import { LlamaChat } from "./evaluator/LlamaChat/LlamaChat.js";
8
16
  import { AbortError } from "./AbortError.js";
9
- import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
10
- import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
11
- import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
12
- import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
13
- import { ChatMLChatPromptWrapper } from "./chatWrappers/ChatMLChatPromptWrapper.js";
14
- import { FalconChatPromptWrapper } from "./chatWrappers/FalconChatPromptWrapper.js";
15
- import { getChatWrapperByBos } from "./chatWrappers/createChatWrapperByBos.js";
16
- import { getReleaseInfo } from "./utils/getReleaseInfo.js";
17
- export { LlamaModel, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaChatSession, AbortError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLChatPromptWrapper, FalconChatPromptWrapper, getChatWrapperByBos, getReleaseInfo };
17
+ import { ChatWrapper } from "./ChatWrapper.js";
18
+ import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
19
+ import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
20
+ import { GeneralChatWrapper } from "./chatWrappers/GeneralChatWrapper.js";
21
+ import { ChatMLChatWrapper } from "./chatWrappers/ChatMLChatWrapper.js";
22
+ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
23
+ import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
24
+ import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
25
+ import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
26
+ import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText } from "./utils/LlamaText.js";
27
+ import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
28
+ import { getModuleVersion } from "./utils/getModuleVersion.js";
29
+ import { isChatModelResponseFunctionCall } from "./types.js";
30
+ export { Llama, getLlama, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaContextSequence, LlamaEmbeddingContext, LlamaEmbedding, LlamaChatSession, defineChatSessionFunction, LlamaChat, AbortError, DisposedError, ChatWrapper, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, resolveChatWrapperBasedOnModel, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, appendUserMessageToChatHistory, getModuleVersion, isChatModelResponseFunctionCall };
18
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAyB,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAC,YAAY,EAA2B,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,iDAAiD,CAAC;AAChI,OAAO,EAAC,YAAY,EAA2D,MAAM,kCAAkC,CAAC;AACxH,OAAO,EACH,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAC,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AASzD,OAAO,EACH,UAAU,EAEV,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EAGZ,gBAAgB,EAKhB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EAWjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAe,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAE,sBAAsB,EAA0B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAC,YAAY,EAA2B,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,4CAA4C,CAAC;AAC3H,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EACH,qBAAqB,EAAqC,cAAc,EAC3E,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EACH,gBAAgB,EAEnB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,yBAAyB,EAAC,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EACH,SAAS,EAEZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,8BAA8B,EAAC,MAAM,kDAAkD,CAAC;AAChG,OAAO,EACH,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAE1E,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,8BAA8B,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAGS,+BAA+B,EAC9C,MAAM,YAAY,CAAC;AAOpB,OAAO,EACH,KAAK,EACL,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EACZ,oBAAoB,EAWpB,qBAAqB,EAErB,cAAc,EAEd,gBAAgB,EAChB,yBAAyB,EAKzB,SAAS,EAOT,UAAU,EACV,aAAa,EACb,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,YAAY,EAIZ,8BAA8B,EAC9B,gBAAgB,EAUhB,+BAA+B,EAUlC,CAAC"}
package/dist/state.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export declare function getIsInDocumentationMode(): boolean;
2
2
  export declare function setIsInDocumentationMode(value: boolean): void;
3
+ export declare function getIsRunningFromCLI(): boolean;
4
+ export declare function setIsRunningFromCLI(value: boolean): void;
package/dist/state.js CHANGED
@@ -1,8 +1,15 @@
1
1
  let isInDocumentationMode = false;
2
+ let isInCLI = false;
2
3
  export function getIsInDocumentationMode() {
3
4
  return isInDocumentationMode;
4
5
  }
5
6
  export function setIsInDocumentationMode(value) {
6
7
  isInDocumentationMode = value;
7
8
  }
9
+ export function getIsRunningFromCLI() {
10
+ return isInCLI;
11
+ }
12
+ export function setIsRunningFromCLI(value) {
13
+ isInCLI = value;
14
+ }
8
15
  //# sourceMappingURL=state.js.map
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAElC,MAAM,UAAU,wBAAwB;IACpC,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACnD,qBAAqB,GAAG,KAAK,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAClC,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,MAAM,UAAU,wBAAwB;IACpC,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACnD,qBAAqB,GAAG,KAAK,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAC9C,OAAO,GAAG,KAAK,CAAC;AACpB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,45 @@
1
- export type Token = number;
2
- export type ConversationInteraction = {
3
- prompt: string;
4
- response: string;
1
+ import { GbnfJsonSchema, GbnfJsonSchemaToType } from "./utils/gbnfJson/types.js";
2
+ import { BuiltinSpecialTokenValue } from "./utils/LlamaText.js";
3
+ export type Token = number & {
4
+ __token: never;
5
5
  };
6
+ export type Tokenizer = {
7
+ tokenize(text: string, specialTokens?: boolean): Token[];
8
+ tokenize(text: BuiltinSpecialTokenValue, specialTokens: "builtin"): Token[];
9
+ }["tokenize"];
10
+ export type ChatHistoryItem = ChatSystemMessage | ChatUserMessage | ChatModelResponse;
11
+ export type ChatSystemMessage = {
12
+ type: "system";
13
+ text: string;
14
+ };
15
+ export type ChatUserMessage = {
16
+ type: "user";
17
+ text: string;
18
+ };
19
+ export type ChatModelResponse = {
20
+ type: "model";
21
+ response: (string | ChatModelFunctionCall)[];
22
+ };
23
+ export type ChatModelFunctionCall = {
24
+ type: "functionCall";
25
+ name: string;
26
+ description?: string;
27
+ params: any;
28
+ result: any;
29
+ raw?: string;
30
+ };
31
+ export type ChatModelFunctions = {
32
+ readonly [name: string]: {
33
+ readonly description?: string;
34
+ readonly params?: GbnfJsonSchema | undefined | null;
35
+ };
36
+ };
37
+ export type ChatSessionModelFunctions = {
38
+ readonly [name: string]: ChatSessionModelFunction<any>;
39
+ };
40
+ export type ChatSessionModelFunction<Params extends GbnfJsonSchema | undefined = GbnfJsonSchema | undefined> = {
41
+ readonly description?: string;
42
+ readonly params?: Params;
43
+ readonly handler: (params: GbnfJsonSchemaToType<Params>) => any;
44
+ };
45
+ export declare function isChatModelResponseFunctionCall(item: ChatModelResponse["response"][number]): item is ChatModelFunctionCall;
package/dist/types.js CHANGED
@@ -1,2 +1,6 @@
1
- export {};
1
+ export function isChatModelResponseFunctionCall(item) {
2
+ if (typeof item === "string")
3
+ return false;
4
+ return item.type === "functionCall";
5
+ }
2
6
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqDA,MAAM,UAAU,+BAA+B,CAAC,IAA2C;IACvF,IAAI,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,KAAK,CAAC;IAEjB,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;AACxC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Token, Tokenizer } from "../types.js";
2
+ export type LlamaTextClass = {
3
+ <const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText<V> | readonly (LlamaText<V> | V)[], ...values: readonly (V | LlamaText<V> | V2 | LlamaText<V2> | number | boolean | readonly (LlamaText<V> | V | LlamaText<V2> | V2)[])[]): LlamaText<V | V2>;
4
+ fromJSON(json: LlamaTextJSON): LlamaText;
5
+ };
6
+ export type LlamaText<T extends LlamaTextValue = LlamaTextValue> = {
7
+ <const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText | readonly (LlamaText | V)[], ...values: readonly (V | V2 | LlamaText | number | boolean | readonly (LlamaText | V | V2)[])[]): LlamaText<T | V>;
8
+ readonly type: "LlamaText";
9
+ readonly values: readonly T[];
10
+ mapValues<V extends LlamaTextValue = LlamaTextValue>(mapper: (value: T) => V): LlamaText<V>;
11
+ joinValues<V extends LlamaTextValue = LlamaTextValue>(separator: LlamaText<V> | V): LlamaText<T | V>;
12
+ toString(): string;
13
+ toJSON(): LlamaTextJSON;
14
+ tokenize(tokenizer: Tokenizer): Token[];
15
+ };
16
+ export type LlamaTextValue = string | SpecialToken;
17
+ export type LlamaTextJSON = Array<LlamaTextJSONValue>;
18
+ export type LlamaTextJSONValue = string | LlamaTextSpecialTokenJSON;
19
+ export type LlamaTextSpecialTokenJSON = {
20
+ type: "specialToken";
21
+ value: string;
22
+ builtin?: true;
23
+ };
24
+ export declare const LlamaText: LlamaTextClass;
25
+ export declare class SpecialToken {
26
+ readonly value: string;
27
+ constructor(value: string);
28
+ toString(): string;
29
+ tokenize(tokenizer: Tokenizer): Token[];
30
+ toJSON(): LlamaTextSpecialTokenJSON;
31
+ static fromJSON(json: LlamaTextSpecialTokenJSON): SpecialToken;
32
+ static isSpecialTokenJSON(value: LlamaTextJSONValue): value is LlamaTextSpecialTokenJSON;
33
+ }
34
+ export type BuiltinSpecialTokenValue = "BOS" | "EOS" | "NL";
35
+ export declare class BuiltinSpecialToken extends SpecialToken {
36
+ readonly value: BuiltinSpecialTokenValue;
37
+ constructor(value: BuiltinSpecialTokenValue);
38
+ tokenize(tokenizer: Tokenizer): Token[];
39
+ toJSON(): LlamaTextSpecialTokenJSON;
40
+ }
41
+ export declare function isLlamaText(value: unknown): value is LlamaText;
42
+ export declare function tokenizeText(text: string | LlamaText, tokenizer: Tokenizer): Token[];