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.
- package/README.md +2 -2
- package/dist/ChatWrapper.d.ts +49 -0
- package/dist/ChatWrapper.js +120 -0
- package/dist/ChatWrapper.js.map +1 -0
- package/dist/bindings/AddonTypes.d.ts +92 -0
- package/dist/bindings/AddonTypes.js +2 -0
- package/dist/bindings/AddonTypes.js.map +1 -0
- package/dist/bindings/Llama.d.ts +23 -0
- package/dist/bindings/Llama.js +225 -0
- package/dist/bindings/Llama.js.map +1 -0
- package/dist/bindings/getLlama.d.ts +86 -0
- package/dist/bindings/getLlama.js +225 -0
- package/dist/bindings/getLlama.js.map +1 -0
- package/dist/bindings/types.d.ts +33 -0
- package/dist/bindings/types.js +30 -0
- package/dist/bindings/types.js.map +1 -0
- package/dist/bindings/utils/NoBinaryFoundError.d.ts +2 -0
- package/dist/bindings/utils/NoBinaryFoundError.js +7 -0
- package/dist/bindings/utils/NoBinaryFoundError.js.map +1 -0
- package/dist/{utils → bindings/utils}/binariesGithubRelease.js +1 -1
- package/dist/bindings/utils/binariesGithubRelease.js.map +1 -0
- package/dist/bindings/utils/clearAllLocalBuilds.d.ts +1 -0
- package/dist/bindings/utils/clearAllLocalBuilds.js +47 -0
- package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +11 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.js +155 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -0
- package/dist/bindings/utils/compileLLamaCpp.d.ts +12 -0
- package/dist/bindings/utils/compileLLamaCpp.js +157 -0
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.d.ts +5 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +85 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.d.ts +1 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.js +8 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.js.map +1 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.d.ts +2 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js +21 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -0
- package/dist/bindings/utils/getPlatform.d.ts +2 -0
- package/dist/bindings/utils/getPlatform.js +15 -0
- package/dist/bindings/utils/getPlatform.js.map +1 -0
- package/dist/bindings/utils/lastBuildInfo.d.ts +6 -0
- package/dist/bindings/utils/lastBuildInfo.js +17 -0
- package/dist/bindings/utils/lastBuildInfo.js.map +1 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +2 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +28 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.d.ts +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +43 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -0
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +18 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
- package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
- package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/FalconChatWrapper.js +104 -0
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
- package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +13 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +60 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -0
- package/dist/cli/cli.js +5 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/BuildCommand.d.ts +2 -1
- package/dist/cli/commands/BuildCommand.js +50 -10
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +10 -4
- package/dist/cli/commands/ChatCommand.js +169 -57
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/ClearCommand.js +4 -6
- package/dist/cli/commands/ClearCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.d.ts +7 -0
- package/dist/cli/commands/DebugCommand.js +59 -0
- package/dist/cli/commands/DebugCommand.js.map +1 -0
- package/dist/cli/commands/DownloadCommand.d.ts +2 -1
- package/dist/cli/commands/DownloadCommand.js +47 -40
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/OnPostInstallCommand.js +7 -10
- package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
- package/dist/config.d.ts +10 -3
- package/dist/config.js +18 -7
- package/dist/config.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +185 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js +705 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +22 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +121 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +135 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +157 -0
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +219 -0
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +109 -0
- package/dist/evaluator/LlamaContext/LlamaContext.js +606 -0
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -0
- package/dist/evaluator/LlamaContext/types.d.ts +82 -0
- package/dist/evaluator/LlamaContext/types.js +2 -0
- package/dist/evaluator/LlamaContext/types.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +5 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +16 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +5 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +42 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +2 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +13 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +37 -0
- package/dist/evaluator/LlamaEmbeddingContext.js +78 -0
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -0
- package/dist/evaluator/LlamaGrammar.d.ts +30 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaGrammar.js +15 -19
- package/dist/evaluator/LlamaGrammar.js.map +1 -0
- package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +15 -0
- package/dist/evaluator/LlamaGrammarEvaluationState.js +17 -0
- package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.d.ts +2 -1
- package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.js +4 -2
- package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -0
- package/dist/evaluator/LlamaModel.d.ts +120 -0
- package/dist/evaluator/LlamaModel.js +320 -0
- package/dist/evaluator/LlamaModel.js.map +1 -0
- package/dist/index.d.ts +29 -16
- package/dist/index.js +28 -15
- package/dist/index.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.js +7 -0
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +44 -4
- package/dist/types.js +5 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +42 -0
- package/dist/utils/LlamaText.js +207 -0
- package/dist/utils/LlamaText.js.map +1 -0
- package/dist/utils/ReplHistory.js +1 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/StopGenerationDetector.d.ts +28 -0
- package/dist/utils/StopGenerationDetector.js +205 -0
- package/dist/utils/StopGenerationDetector.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.d.ts +30 -0
- package/dist/utils/TokenStreamRegulator.js +96 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -0
- package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
- package/dist/utils/appendUserMessageToChatHistory.js +18 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
- package/dist/utils/cmake.js +16 -11
- package/dist/utils/cmake.js.map +1 -1
- package/dist/utils/compareTokens.d.ts +2 -0
- package/dist/utils/compareTokens.js +4 -0
- package/dist/utils/compareTokens.js.map +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
- package/dist/utils/gbnfJson/types.d.ts +1 -1
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getConsoleLogPrefix.d.ts +1 -0
- package/dist/utils/getConsoleLogPrefix.js +9 -0
- package/dist/utils/getConsoleLogPrefix.js.map +1 -0
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/getGrammarsFolder.d.ts +2 -1
- package/dist/utils/getGrammarsFolder.js +8 -7
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/dist/utils/getModuleVersion.d.ts +1 -0
- package/dist/utils/getModuleVersion.js +13 -0
- package/dist/utils/getModuleVersion.js.map +1 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
- package/dist/utils/gitReleaseBundles.js +6 -5
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/hashString.d.ts +1 -0
- package/dist/utils/hashString.js +8 -0
- package/dist/utils/hashString.js.map +1 -0
- package/dist/utils/isLockfileActive.d.ts +4 -0
- package/dist/utils/isLockfileActive.js +12 -0
- package/dist/utils/isLockfileActive.js.map +1 -0
- package/dist/utils/parseModelFileName.d.ts +9 -0
- package/dist/utils/parseModelFileName.js +68 -0
- package/dist/utils/parseModelFileName.js.map +1 -0
- package/dist/utils/parseModelTypeDescription.d.ts +6 -0
- package/dist/utils/parseModelTypeDescription.js +9 -0
- package/dist/utils/parseModelTypeDescription.js.map +1 -0
- package/dist/utils/prettyPrintObject.d.ts +1 -0
- package/dist/utils/prettyPrintObject.js +40 -0
- package/dist/utils/prettyPrintObject.js.map +1 -0
- package/dist/utils/removeNullFields.d.ts +1 -0
- package/dist/utils/removeNullFields.js +8 -0
- package/dist/utils/removeNullFields.js.map +1 -1
- package/dist/utils/resolveChatWrapper.d.ts +4 -0
- package/dist/utils/resolveChatWrapper.js +16 -0
- package/dist/utils/resolveChatWrapper.js.map +1 -0
- package/dist/utils/resolveGithubRelease.d.ts +2 -0
- package/dist/utils/resolveGithubRelease.js +36 -0
- package/dist/utils/resolveGithubRelease.js.map +1 -0
- package/dist/utils/spawnCommand.d.ts +1 -1
- package/dist/utils/spawnCommand.js +4 -2
- package/dist/utils/spawnCommand.js.map +1 -1
- package/dist/utils/tokenizeInput.d.ts +3 -0
- package/dist/utils/tokenizeInput.js +9 -0
- package/dist/utils/tokenizeInput.js.map +1 -0
- package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
- package/dist/utils/truncateTextAndRoundToWords.js +27 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
- package/dist/utils/waitForLockfileRelease.d.ts +5 -0
- package/dist/utils/waitForLockfileRelease.js +20 -0
- package/dist/utils/waitForLockfileRelease.js.map +1 -0
- package/dist/utils/withLockfile.d.ts +7 -0
- package/dist/utils/withLockfile.js +44 -0
- package/dist/utils/withLockfile.js.map +1 -0
- package/dist/utils/withOra.js +11 -1
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withStatusLogs.d.ts +2 -1
- package/dist/utils/withStatusLogs.js +11 -8
- package/dist/utils/withStatusLogs.js.map +1 -1
- package/llama/.clang-format +11 -11
- package/llama/CMakeLists.txt +87 -2
- package/llama/addon.cpp +915 -352
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/cuda-gpu-info.cu +99 -0
- package/llama/gpuInfo/cuda-gpu-info.h +7 -0
- package/llama/gpuInfo/metal-gpu-info.h +5 -0
- package/llama/gpuInfo/metal-gpu-info.mm +17 -0
- package/llama/llama.cpp.info.json +4 -0
- package/llamaBins/linux-arm64/.buildMetadata.json +1 -0
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/.buildMetadata.json +1 -0
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/.buildMetadata.json +1 -0
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -0
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -0
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/.buildMetadata.json +1 -0
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/.buildMetadata.json +1 -0
- package/llamaBins/win-x64/llama-addon.exp +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -0
- package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
- package/package.json +39 -19
- package/dist/ChatPromptWrapper.d.ts +0 -11
- package/dist/ChatPromptWrapper.js +0 -20
- package/dist/ChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
- package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
- package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
- package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
- package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
- package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/createChatWrapperByBos.d.ts +0 -2
- package/dist/chatWrappers/createChatWrapperByBos.js +0 -14
- package/dist/chatWrappers/createChatWrapperByBos.js.map +0 -1
- package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -23
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -47
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
- package/dist/llamaEvaluator/LlamaBins.d.ts +0 -4
- package/dist/llamaEvaluator/LlamaBins.js +0 -5
- package/dist/llamaEvaluator/LlamaBins.js.map +0 -1
- package/dist/llamaEvaluator/LlamaChatSession.d.ts +0 -122
- package/dist/llamaEvaluator/LlamaChatSession.js +0 -236
- package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext.d.ts +0 -99
- package/dist/llamaEvaluator/LlamaContext.js +0 -143
- package/dist/llamaEvaluator/LlamaContext.js.map +0 -1
- package/dist/llamaEvaluator/LlamaGrammar.d.ts +0 -32
- package/dist/llamaEvaluator/LlamaGrammar.js.map +0 -1
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.d.ts +0 -14
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js +0 -16
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +0 -1
- package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +0 -1
- package/dist/llamaEvaluator/LlamaModel.d.ts +0 -123
- package/dist/llamaEvaluator/LlamaModel.js +0 -74
- package/dist/llamaEvaluator/LlamaModel.js.map +0 -1
- package/dist/utils/binariesGithubRelease.js.map +0 -1
- package/dist/utils/clearLlamaBuild.d.ts +0 -1
- package/dist/utils/clearLlamaBuild.js +0 -12
- package/dist/utils/clearLlamaBuild.js.map +0 -1
- package/dist/utils/cloneLlamaCppRepo.d.ts +0 -2
- package/dist/utils/cloneLlamaCppRepo.js +0 -102
- package/dist/utils/cloneLlamaCppRepo.js.map +0 -1
- package/dist/utils/compileLLamaCpp.d.ts +0 -8
- package/dist/utils/compileLLamaCpp.js +0 -132
- package/dist/utils/compileLLamaCpp.js.map +0 -1
- package/dist/utils/getBin.d.ts +0 -53
- package/dist/utils/getBin.js +0 -78
- package/dist/utils/getBin.js.map +0 -1
- package/dist/utils/getReleaseInfo.d.ts +0 -7
- package/dist/utils/getReleaseInfo.js +0 -30
- package/dist/utils/getReleaseInfo.js.map +0 -1
- package/dist/utils/getTextCompletion.d.ts +0 -3
- package/dist/utils/getTextCompletion.js +0 -12
- package/dist/utils/getTextCompletion.js.map +0 -1
- package/dist/utils/usedBinFlag.d.ts +0 -6
- package/dist/utils/usedBinFlag.js +0 -15
- package/dist/utils/usedBinFlag.js.map +0 -1
- package/dist/utils/withLock.d.ts +0 -1
- package/dist/utils/withLock.js +0 -19
- package/dist/utils/withLock.js.map +0 -1
- package/llama/usedBin.json +0 -3
- package/llamaBins/mac-arm64/llama-addon.node +0 -0
- package/llamaBins/mac-x64/ggml-metal.metal +0 -6119
- /package/dist/{utils → bindings/utils}/binariesGithubRelease.d.ts +0 -0
- /package/llamaBins/{mac-arm64 → mac-arm64-metal}/ggml-metal.metal +0 -0
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { removeNullFields } from "../utils/removeNullFields.js";
|
|
2
|
-
import { LLAMAContext } from "./LlamaBins.js";
|
|
3
|
-
export class LlamaContext {
|
|
4
|
-
_model;
|
|
5
|
-
_ctx;
|
|
6
|
-
_prependBos;
|
|
7
|
-
_prependTokens;
|
|
8
|
-
/** @internal */
|
|
9
|
-
_chatGrammar;
|
|
10
|
-
/**
|
|
11
|
-
* @param {LlamaContextOptions} options
|
|
12
|
-
*/
|
|
13
|
-
constructor({ model, prependBos = true, grammar, seed = model._contextOptions.seed, contextSize = model._contextOptions.contextSize, batchSize = model._contextOptions.batchSize, logitsAll = model._contextOptions.logitsAll, embedding = model._contextOptions.embedding, threads = model._contextOptions.threads }) {
|
|
14
|
-
this._model = model;
|
|
15
|
-
this._ctx = new LLAMAContext(model._model, removeNullFields({
|
|
16
|
-
seed: seed != null ? Math.max(-1, seed) : undefined,
|
|
17
|
-
contextSize,
|
|
18
|
-
batchSize,
|
|
19
|
-
logitsAll,
|
|
20
|
-
embedding,
|
|
21
|
-
threads
|
|
22
|
-
}));
|
|
23
|
-
this._prependBos = prependBos;
|
|
24
|
-
this._prependTokens = [];
|
|
25
|
-
this._chatGrammar = grammar;
|
|
26
|
-
if (prependBos) {
|
|
27
|
-
this._prependTokens.unshift(this._ctx.tokenBos());
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
encode(text) {
|
|
31
|
-
if (text === "")
|
|
32
|
-
return new Uint32Array();
|
|
33
|
-
return this._ctx.encode(text);
|
|
34
|
-
}
|
|
35
|
-
decode(tokens) {
|
|
36
|
-
if (tokens.length === 0)
|
|
37
|
-
return "";
|
|
38
|
-
if (tokens instanceof Uint32Array)
|
|
39
|
-
return this._ctx.decode(tokens);
|
|
40
|
-
return this._ctx.decode(Uint32Array.from(tokens));
|
|
41
|
-
}
|
|
42
|
-
get prependBos() {
|
|
43
|
-
return this._prependBos;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* @returns {Token | null} The BOS (Beginning Of Sequence) token.
|
|
47
|
-
*/
|
|
48
|
-
getBosToken() {
|
|
49
|
-
const bosToken = this._ctx.tokenBos();
|
|
50
|
-
if (bosToken === -1)
|
|
51
|
-
return null;
|
|
52
|
-
return bosToken;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @returns {Token | null} The EOS (End Of Sequence) token.
|
|
56
|
-
*/
|
|
57
|
-
getEosToken() {
|
|
58
|
-
const eosToken = this._ctx.tokenEos();
|
|
59
|
-
if (eosToken === -1)
|
|
60
|
-
return null;
|
|
61
|
-
return eosToken;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* @returns {Token | null} The NL (New Line) token.
|
|
65
|
-
*/
|
|
66
|
-
getNlToken() {
|
|
67
|
-
const nlToken = this._ctx.tokenNl();
|
|
68
|
-
if (nlToken === -1)
|
|
69
|
-
return null;
|
|
70
|
-
return nlToken;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @returns {string | null} The BOS (Beginning Of Sequence) token as a string.
|
|
74
|
-
*/
|
|
75
|
-
getBosString() {
|
|
76
|
-
const bosToken = this.getBosToken();
|
|
77
|
-
if (bosToken == null)
|
|
78
|
-
return null;
|
|
79
|
-
return this._ctx.getTokenString(bosToken);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* @returns {string | null} The EOS (End Of Sequence) token as a string.
|
|
83
|
-
*/
|
|
84
|
-
getEosString() {
|
|
85
|
-
const eosToken = this.getEosToken();
|
|
86
|
-
if (eosToken == null)
|
|
87
|
-
return null;
|
|
88
|
-
return this._ctx.getTokenString(eosToken);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* @returns {string | null} The NL (New Line) token as a string.
|
|
92
|
-
*/
|
|
93
|
-
getNlString() {
|
|
94
|
-
const nlToken = this.getNlToken();
|
|
95
|
-
if (nlToken == null)
|
|
96
|
-
return null;
|
|
97
|
-
return this._ctx.getTokenString(nlToken);
|
|
98
|
-
}
|
|
99
|
-
getContextSize() {
|
|
100
|
-
return this._ctx.getContextSize();
|
|
101
|
-
}
|
|
102
|
-
printTimings() {
|
|
103
|
-
this._ctx.printTimings();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @param {Uint32Array} tokens
|
|
107
|
-
* @param {object} options
|
|
108
|
-
* @returns {AsyncGenerator<Token, void>}
|
|
109
|
-
*/
|
|
110
|
-
async *evaluate(tokens, { temperature = this._model._evaluationOptions.temperature, topK = this._model._evaluationOptions.topK, topP = this._model._evaluationOptions.topP, grammarEvaluationState, repeatPenalty } = {}) {
|
|
111
|
-
let evalTokens = tokens;
|
|
112
|
-
if (this._prependTokens.length > 0) {
|
|
113
|
-
const tokenArray = this._prependTokens.concat(Array.from(tokens));
|
|
114
|
-
evalTokens = Uint32Array.from(tokenArray);
|
|
115
|
-
this._prependTokens = [];
|
|
116
|
-
}
|
|
117
|
-
if (evalTokens.length === 0)
|
|
118
|
-
return;
|
|
119
|
-
// eslint-disable-next-line no-constant-condition
|
|
120
|
-
while (true) {
|
|
121
|
-
// Evaluate to get the next token.
|
|
122
|
-
const nextToken = await this._ctx.eval(evalTokens, removeNullFields({
|
|
123
|
-
temperature,
|
|
124
|
-
topK,
|
|
125
|
-
topP,
|
|
126
|
-
repeatPenalty: repeatPenalty?.penalty,
|
|
127
|
-
repeatPenaltyTokens: repeatPenalty?.punishTokens instanceof Function
|
|
128
|
-
? repeatPenalty.punishTokens()
|
|
129
|
-
: repeatPenalty?.punishTokens,
|
|
130
|
-
repeatPenaltyPresencePenalty: repeatPenalty?.presencePenalty,
|
|
131
|
-
repeatPenaltyFrequencyPenalty: repeatPenalty?.frequencyPenalty,
|
|
132
|
-
grammarEvaluationState: grammarEvaluationState?._state
|
|
133
|
-
}));
|
|
134
|
-
// the assistant finished answering
|
|
135
|
-
if (nextToken === this._ctx.tokenEos())
|
|
136
|
-
break;
|
|
137
|
-
yield nextToken;
|
|
138
|
-
// Create tokens for the next eval.
|
|
139
|
-
evalTokens = Uint32Array.from([nextToken]);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=LlamaContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AA8D5C,MAAM,OAAO,YAAY;IACJ,MAAM,CAAa;IACnB,IAAI,CAAe;IACnB,WAAW,CAAU;IAC9B,cAAc,CAAU;IAEhC,gBAAgB;IACA,YAAY,CAAgB;IAG5C;;OAEG;IACH,YAAmB,EACf,KAAK,EACL,UAAU,GAAG,IAAI,EACjB,OAAO,EACP,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,EACjC,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,WAAW,EAC/C,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,EAC3C,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,EAC3C,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,EAC3C,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,EACrB;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC;YACxD,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW;YACX,SAAS;YACT,SAAS;YACT,SAAS;YACT,OAAO;SACV,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE5B,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrD;IACL,CAAC;IAEM,MAAM,CAAC,IAAY;QACtB,IAAI,IAAI,KAAK,EAAE;YACX,OAAO,IAAI,WAAW,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,MAA6B;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC;QAEd,IAAI,MAAM,YAAY,WAAW;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,WAAW;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,QAAQ,KAAK,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QAEhB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,WAAW;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,QAAQ,KAAK,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QAEhB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,UAAU;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QAEhB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,YAAY;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,QAAQ,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,YAAY;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,QAAQ,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,WAAW;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,OAAO,IAAI,IAAI;YACf,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAmB,EAAE,EACxC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,EACxD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAC1C,sBAAsB,EACtB,aAAa,KAIb,EAAE;QACF,IAAI,UAAU,GAAG,MAAM,CAAC;QAExB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,UAAU,GAAY,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAE3E,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC5B;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,OAAO;QAEX,iDAAiD;QACjD,OAAO,IAAI,EAAE;YACT,kCAAkC;YAClC,MAAM,SAAS,GAAU,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBACvE,WAAW;gBACX,IAAI;gBACJ,IAAI;gBACJ,aAAa,EAAE,aAAa,EAAE,OAAO;gBACrC,mBAAmB,EAAE,aAAa,EAAE,YAAY,YAAY,QAAQ;oBAChE,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE;oBAC9B,CAAC,CAAC,aAAa,EAAE,YAAY;gBACjC,4BAA4B,EAAE,aAAa,EAAE,eAAe;gBAC5D,6BAA6B,EAAE,aAAa,EAAE,gBAAgB;gBAC9D,sBAAsB,EAAE,sBAAsB,EAAE,MAAM;aACzD,CAAC,CAAC,CAAC;YAEJ,mCAAmC;YACnC,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClC,MAAM;YAEV,MAAM,SAAS,CAAC;YAEhB,mCAAmC;YACnC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SAC9C;IACL,CAAC;CACJ"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export type LlamaGrammarOptions = {
|
|
2
|
-
/** GBNF grammar */
|
|
3
|
-
grammar: string;
|
|
4
|
-
/** print the grammar to stdout */
|
|
5
|
-
printGrammar?: boolean;
|
|
6
|
-
/** Consider any of these texts as EOS for the generated out. Only supported by `LlamaChatSession` */
|
|
7
|
-
stopStrings?: string[];
|
|
8
|
-
/** Trim whitespace from the end of the generated text. Only supported by `LlamaChatSession` */
|
|
9
|
-
trimWhitespaceSuffix?: boolean;
|
|
10
|
-
};
|
|
11
|
-
export declare class LlamaGrammar {
|
|
12
|
-
private readonly _stopStrings;
|
|
13
|
-
private readonly _trimWhitespaceSuffix;
|
|
14
|
-
private readonly _grammarText;
|
|
15
|
-
/**
|
|
16
|
-
* > GBNF files are supported.
|
|
17
|
-
* > More info here: [github:ggerganov/llama.cpp:grammars/README.md](
|
|
18
|
-
* > https://github.com/ggerganov/llama.cpp/blob/f5fe98d11bdf9e7797bcfb05c0c3601ffc4b9d26/grammars/README.md)
|
|
19
|
-
* @param {object} options
|
|
20
|
-
* @param {string} options.grammar - GBNF grammar
|
|
21
|
-
* @param {string[]} [options.stopStrings] - Consider any of these texts as EOS for the generated out.
|
|
22
|
-
* Only supported by `LlamaChatSession`
|
|
23
|
-
* @param {boolean} [options.trimWhitespaceSuffix] - Trim whitespace from the end of the generated text.
|
|
24
|
-
* Only supported by `LlamaChatSession`
|
|
25
|
-
* @param {boolean} [options.printGrammar] - print the grammar to stdout
|
|
26
|
-
*/
|
|
27
|
-
constructor({ grammar, stopStrings, trimWhitespaceSuffix, printGrammar }: LlamaGrammarOptions);
|
|
28
|
-
get grammar(): string;
|
|
29
|
-
get stopStrings(): readonly string[];
|
|
30
|
-
get trimWhitespaceSuffix(): boolean;
|
|
31
|
-
static getFor(type: "json" | "list" | "arithmetic" | "japanese" | "chess"): Promise<LlamaGrammar>;
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/llamaEvaluator/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,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAiB5C,MAAM,OAAO,YAAY;IACrB,gBAAgB;IACA,QAAQ,CAAe;IACtB,YAAY,CAAoB;IAChC,qBAAqB,CAAU;IAC/B,YAAY,CAAS;IAEtC;;;;;;;;;;;OAWG;IACH,YAAmB,EACf,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,oBAAoB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAC3D;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE;YACtC,YAAY;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,EAAE,CAAC;QACtC,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,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAA2D;QAClF,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEjD,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,OAAO;gBACP,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9B,oBAAoB,EAAE,IAAI;aAC7B,CAAC,CAAC;SACN;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,cAAc,GAAG,CAAC,CAAC;IAC5F,CAAC;CACJ"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LlamaGrammar } from "./LlamaGrammar.js";
|
|
2
|
-
export type LlamaGrammarEvaluationStateOptions = {
|
|
3
|
-
grammar: LlamaGrammar;
|
|
4
|
-
};
|
|
5
|
-
export declare class LlamaGrammarEvaluationState {
|
|
6
|
-
/**
|
|
7
|
-
* Grammar evaluation state is used to track the model response to determine the next allowed characters for the model to generate.
|
|
8
|
-
* Create a new grammar evaluation state for every response you generate with the model.
|
|
9
|
-
* This is only needed when using the `LlamaContext` class directly, as `LlamaChatSession` already handles this for you.
|
|
10
|
-
* @param {object} options
|
|
11
|
-
* @param {LlamaGrammar} options.grammar
|
|
12
|
-
*/
|
|
13
|
-
constructor({ grammar }: LlamaGrammarEvaluationStateOptions);
|
|
14
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { LLAMAGrammarEvaluationState } from "./LlamaBins.js";
|
|
2
|
-
export class LlamaGrammarEvaluationState {
|
|
3
|
-
/** @internal */
|
|
4
|
-
_state;
|
|
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
|
-
* @param {object} options
|
|
10
|
-
* @param {LlamaGrammar} options.grammar
|
|
11
|
-
*/
|
|
12
|
-
constructor({ grammar }) {
|
|
13
|
-
this._state = new LLAMAGrammarEvaluationState(grammar._grammar);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=LlamaGrammarEvaluationState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaGrammarEvaluationState.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaGrammarEvaluationState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAQ3D,MAAM,OAAO,2BAA2B;IACpC,gBAAgB;IACA,MAAM,CAA8B;IAEpD;;;;;;OAMG;IACH,YAAmB,EAAC,OAAO,EAAqC;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaJsonSchemaGrammar.js","sourceRoot":"","sources":["../../src/llamaEvaluator/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,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,sBAAiE,SAAQ,YAAY;IAC7E,OAAO,CAAI;IAE5B,YAAmB,MAAS;QACxB,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,CAAC;YACF,OAAO;YACP,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,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"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
export type LlamaModelOptions = {
|
|
2
|
-
/** path to the model on the filesystem */
|
|
3
|
-
modelPath: string;
|
|
4
|
-
/**
|
|
5
|
-
* If null, a random seed will be used
|
|
6
|
-
* @deprecated use the `seed` option on `LlamaContext` instead
|
|
7
|
-
* @hidden
|
|
8
|
-
* */
|
|
9
|
-
seed?: number | null;
|
|
10
|
-
/**
|
|
11
|
-
* text context size
|
|
12
|
-
* @deprecated use the `contextSize` option on `LlamaContext` instead
|
|
13
|
-
* @hidden
|
|
14
|
-
* */
|
|
15
|
-
contextSize?: number;
|
|
16
|
-
/**
|
|
17
|
-
* prompt processing batch size
|
|
18
|
-
* @deprecated use the `batchSize` option on `LlamaContext` instead
|
|
19
|
-
* @hidden
|
|
20
|
-
* */
|
|
21
|
-
batchSize?: number;
|
|
22
|
-
/** number of layers to store in VRAM */
|
|
23
|
-
gpuLayers?: number;
|
|
24
|
-
/**
|
|
25
|
-
* number of threads to use to evaluate tokens
|
|
26
|
-
* @deprecated use the `threads` option on `LlamaContext` instead
|
|
27
|
-
* @hidden
|
|
28
|
-
* */
|
|
29
|
-
threads?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Temperature is a hyperparameter that controls the randomness of the generated text.
|
|
32
|
-
* It affects the probability distribution of the model's output tokens.
|
|
33
|
-
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
34
|
-
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
35
|
-
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
36
|
-
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
37
|
-
*
|
|
38
|
-
* Set to `0` to disable.
|
|
39
|
-
* @deprecated use the `temperature` option on `LlamaChatSession`'s `prompt` function or `LlamaContext`'s `evaluate` function instead
|
|
40
|
-
* @hidden
|
|
41
|
-
*/
|
|
42
|
-
temperature?: number;
|
|
43
|
-
/**
|
|
44
|
-
* Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation.
|
|
45
|
-
* An integer number between `1` and the size of the vocabulary.
|
|
46
|
-
* Set to `0` to disable (which uses the full vocabulary).
|
|
47
|
-
*
|
|
48
|
-
* Only relevant when `temperature` is set to a value greater than 0.
|
|
49
|
-
* @deprecated use the `topK` option on `LlamaChatSession`'s `prompt` function or `LlamaContext`'s `evaluate` function instead
|
|
50
|
-
* @hidden
|
|
51
|
-
* */
|
|
52
|
-
topK?: number;
|
|
53
|
-
/**
|
|
54
|
-
* Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
55
|
-
* and samples the next token only from this set.
|
|
56
|
-
* A float number between `0` and `1`.
|
|
57
|
-
* Set to `1` to disable.
|
|
58
|
-
*
|
|
59
|
-
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
60
|
-
* @deprecated use the `topP` option on `LlamaChatSession`'s `prompt` function or `LlamaContext`'s `evaluate` function instead
|
|
61
|
-
* @hidden
|
|
62
|
-
*/
|
|
63
|
-
topP?: number;
|
|
64
|
-
/**
|
|
65
|
-
* the llama_eval() call computes all logits, not just the last one
|
|
66
|
-
* @deprecated use the `logitsAll` option on `LlamaContext` instead
|
|
67
|
-
* @hidden
|
|
68
|
-
*/
|
|
69
|
-
logitsAll?: boolean;
|
|
70
|
-
/** only load the vocabulary, no weights */
|
|
71
|
-
vocabOnly?: boolean;
|
|
72
|
-
/** use mmap if possible */
|
|
73
|
-
useMmap?: boolean;
|
|
74
|
-
/** force system to keep model in RAM */
|
|
75
|
-
useMlock?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* embedding mode only
|
|
78
|
-
* @deprecated use the `embedding` option on `LlamaContext` instead
|
|
79
|
-
* @hidden
|
|
80
|
-
*/
|
|
81
|
-
embedding?: boolean;
|
|
82
|
-
};
|
|
83
|
-
export declare class LlamaModel {
|
|
84
|
-
/**
|
|
85
|
-
* > options source:
|
|
86
|
-
* > [github:ggerganov/llama.cpp/llama.h](
|
|
87
|
-
* > https://github.com/ggerganov/llama.cpp/blob/b5ffb2849d23afe73647f68eec7b68187af09be6/llama.h#L102) (`struct llama_context_params`)
|
|
88
|
-
* @param {object} options
|
|
89
|
-
* @param {string} options.modelPath - path to the model on the filesystem
|
|
90
|
-
* @param {number | null} [options.seed] - If null, a random seed will be used
|
|
91
|
-
* @param {number} [options.contextSize] - text context size
|
|
92
|
-
* @param {number} [options.batchSize] - prompt processing batch size
|
|
93
|
-
* @param {number} [options.gpuLayers] - number of layers to store in VRAM
|
|
94
|
-
* @param {number} [options.threads] - number of threads to use to evaluate tokens
|
|
95
|
-
* @param {number} [options.temperature] - Temperature is a hyperparameter that controls the randomness of the generated text.
|
|
96
|
-
* It affects the probability distribution of the model's output tokens.
|
|
97
|
-
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
98
|
-
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
99
|
-
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
100
|
-
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
101
|
-
*
|
|
102
|
-
* Set to `0` to disable.
|
|
103
|
-
* @param {number} [options.topK] - Limits the model to consider only the K most likely next tokens for sampling at each step of
|
|
104
|
-
* sequence generation.
|
|
105
|
-
* An integer number between `1` and the size of the vocabulary.
|
|
106
|
-
* Set to `0` to disable (which uses the full vocabulary).
|
|
107
|
-
*
|
|
108
|
-
* Only relevant when `temperature` is set to a value greater than 0.
|
|
109
|
-
* @param {number} [options.topP] - Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
110
|
-
* and samples the next token only from this set.
|
|
111
|
-
* A float number between `0` and `1`.
|
|
112
|
-
* Set to `1` to disable.
|
|
113
|
-
*
|
|
114
|
-
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
115
|
-
* @param {boolean} [options.logitsAll] - the llama_eval() call computes all logits, not just the last one
|
|
116
|
-
* @param {boolean} [options.vocabOnly] - only load the vocabulary, no weights
|
|
117
|
-
* @param {boolean} [options.useMmap] - use mmap if possible
|
|
118
|
-
* @param {boolean} [options.useMlock] - force system to keep model in RAM
|
|
119
|
-
* @param {boolean} [options.embedding] - embedding mode only
|
|
120
|
-
*/
|
|
121
|
-
constructor({ modelPath, seed, contextSize, batchSize, gpuLayers, threads, temperature, topK, topP, logitsAll, vocabOnly, useMmap, useMlock, embedding }: LlamaModelOptions);
|
|
122
|
-
static get systemInfo(): string;
|
|
123
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import process from "process";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { removeNullFields } from "../utils/removeNullFields.js";
|
|
4
|
-
import { llamaCppNode, LLAMAModel } from "./LlamaBins.js";
|
|
5
|
-
export class LlamaModel {
|
|
6
|
-
/** @internal */
|
|
7
|
-
_model;
|
|
8
|
-
/** @internal */
|
|
9
|
-
_contextOptions;
|
|
10
|
-
/** @internal */
|
|
11
|
-
_evaluationOptions;
|
|
12
|
-
/**
|
|
13
|
-
* > options source:
|
|
14
|
-
* > [github:ggerganov/llama.cpp/llama.h](
|
|
15
|
-
* > https://github.com/ggerganov/llama.cpp/blob/b5ffb2849d23afe73647f68eec7b68187af09be6/llama.h#L102) (`struct llama_context_params`)
|
|
16
|
-
* @param {object} options
|
|
17
|
-
* @param {string} options.modelPath - path to the model on the filesystem
|
|
18
|
-
* @param {number | null} [options.seed] - If null, a random seed will be used
|
|
19
|
-
* @param {number} [options.contextSize] - text context size
|
|
20
|
-
* @param {number} [options.batchSize] - prompt processing batch size
|
|
21
|
-
* @param {number} [options.gpuLayers] - number of layers to store in VRAM
|
|
22
|
-
* @param {number} [options.threads] - number of threads to use to evaluate tokens
|
|
23
|
-
* @param {number} [options.temperature] - Temperature is a hyperparameter that controls the randomness of the generated text.
|
|
24
|
-
* It affects the probability distribution of the model's output tokens.
|
|
25
|
-
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
26
|
-
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
27
|
-
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
28
|
-
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
29
|
-
*
|
|
30
|
-
* Set to `0` to disable.
|
|
31
|
-
* @param {number} [options.topK] - Limits the model to consider only the K most likely next tokens for sampling at each step of
|
|
32
|
-
* sequence generation.
|
|
33
|
-
* An integer number between `1` and the size of the vocabulary.
|
|
34
|
-
* Set to `0` to disable (which uses the full vocabulary).
|
|
35
|
-
*
|
|
36
|
-
* Only relevant when `temperature` is set to a value greater than 0.
|
|
37
|
-
* @param {number} [options.topP] - Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
38
|
-
* and samples the next token only from this set.
|
|
39
|
-
* A float number between `0` and `1`.
|
|
40
|
-
* Set to `1` to disable.
|
|
41
|
-
*
|
|
42
|
-
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
43
|
-
* @param {boolean} [options.logitsAll] - the llama_eval() call computes all logits, not just the last one
|
|
44
|
-
* @param {boolean} [options.vocabOnly] - only load the vocabulary, no weights
|
|
45
|
-
* @param {boolean} [options.useMmap] - use mmap if possible
|
|
46
|
-
* @param {boolean} [options.useMlock] - force system to keep model in RAM
|
|
47
|
-
* @param {boolean} [options.embedding] - embedding mode only
|
|
48
|
-
*/
|
|
49
|
-
constructor({ modelPath, seed = null, contextSize = 1024 * 4, batchSize, gpuLayers, threads = 6, temperature = 0, topK = 40, topP = 0.95, logitsAll, vocabOnly, useMmap, useMlock, embedding }) {
|
|
50
|
-
this._model = new LLAMAModel(path.resolve(process.cwd(), modelPath), removeNullFields({
|
|
51
|
-
gpuLayers,
|
|
52
|
-
vocabOnly,
|
|
53
|
-
useMmap,
|
|
54
|
-
useMlock
|
|
55
|
-
}));
|
|
56
|
-
this._contextOptions = {
|
|
57
|
-
seed,
|
|
58
|
-
contextSize,
|
|
59
|
-
batchSize,
|
|
60
|
-
logitsAll,
|
|
61
|
-
embedding,
|
|
62
|
-
threads
|
|
63
|
-
};
|
|
64
|
-
this._evaluationOptions = {
|
|
65
|
-
temperature,
|
|
66
|
-
topK,
|
|
67
|
-
topP
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
static get systemInfo() {
|
|
71
|
-
return llamaCppNode.systemInfo();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=LlamaModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAmGxD,MAAM,OAAO,UAAU;IACnB,gBAAgB;IACA,MAAM,CAAa;IAEnC,gBAAgB;IACA,eAAe,CAO7B;IAEF,gBAAgB;IACA,kBAAkB,CAIhC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,YAAmB,EACf,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EACpE,OAAO,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EACxF;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC;YAClF,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;SACX,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,eAAe,GAAG;YACnB,IAAI;YACJ,WAAW;YACX,SAAS;YACT,SAAS;YACT,SAAS;YACT,OAAO;SACV,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG;YACtB,WAAW;YACX,IAAI;YACJ,IAAI;SACP,CAAC;IACN,CAAC;IAEM,MAAM,KAAK,UAAU;QACxB,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binariesGithubRelease.js","sourceRoot":"","sources":["../../src/utils/binariesGithubRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAMvD,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC1C,MAAM,qBAAqB,GAA8B,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAEtG,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAA6C;IACxF,MAAM,yBAAyB,GAA8B;QACzD,OAAO,EAAE,OAAO;KACnB,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,yBAAyB,EAAE,yBAAyB,EAAE;QACrE,MAAM,EAAE,CAAC;KACZ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function clearLlamaBuild(): Promise<void>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import fs from "fs-extra";
|
|
3
|
-
import { llamaDirectory } from "../config.js";
|
|
4
|
-
import { clearTempFolder } from "./clearTempFolder.js";
|
|
5
|
-
export async function clearLlamaBuild() {
|
|
6
|
-
await fs.remove(path.join(llamaDirectory, "Debug"));
|
|
7
|
-
await fs.remove(path.join(llamaDirectory, "Release"));
|
|
8
|
-
await fs.remove(path.join(llamaDirectory, "compile_commands.json"));
|
|
9
|
-
await fs.remove(path.join(llamaDirectory, "build"));
|
|
10
|
-
await clearTempFolder();
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=clearLlamaBuild.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clearLlamaBuild.js","sourceRoot":"","sources":["../../src/utils/clearLlamaBuild.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpD,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import simpleGit from "simple-git";
|
|
2
|
-
import cliProgress from "cli-progress";
|
|
3
|
-
import chalk from "chalk";
|
|
4
|
-
import fs from "fs-extra";
|
|
5
|
-
import { llamaCppDirectory, llamaCppDirectoryTagFilePath } from "../config.js";
|
|
6
|
-
import { getGitBundlePathForRelease } from "./gitReleaseBundles.js";
|
|
7
|
-
export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles = true) {
|
|
8
|
-
const gitBundleForTag = !useBundles ? null : await getGitBundlePathForRelease(githubOwner, githubRepo, tag);
|
|
9
|
-
const remoteGitUrl = `https://github.com/${githubOwner}/${githubRepo}.git`;
|
|
10
|
-
async function withGitCloneProgress(cloneName, callback) {
|
|
11
|
-
const progressBar = new cliProgress.Bar({
|
|
12
|
-
clearOnComplete: false,
|
|
13
|
-
hideCursor: true,
|
|
14
|
-
autopadding: true,
|
|
15
|
-
format: `${chalk.bold("Clone {repo}")} ${chalk.yellow("{percentage}%")} ${chalk.cyan("{bar}")} ${chalk.grey("{eta_formatted}")}`
|
|
16
|
-
}, cliProgress.Presets.shades_classic);
|
|
17
|
-
progressBar.start(100, 0, {
|
|
18
|
-
speed: "",
|
|
19
|
-
repo: `${githubOwner}/${githubRepo} (${cloneName})`
|
|
20
|
-
});
|
|
21
|
-
const gitWithCloneProgress = simpleGit({
|
|
22
|
-
progress({ progress, total, processed }) {
|
|
23
|
-
const totalProgress = (processed / 100) + (progress / total);
|
|
24
|
-
progressBar.update(Math.floor(totalProgress * 10000) / 100);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
try {
|
|
28
|
-
const res = await callback(gitWithCloneProgress);
|
|
29
|
-
progressBar.update(100);
|
|
30
|
-
return res;
|
|
31
|
-
}
|
|
32
|
-
finally {
|
|
33
|
-
progressBar.stop();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (gitBundleForTag != null) {
|
|
37
|
-
try {
|
|
38
|
-
await withGitCloneProgress("local bundle", async (gitWithCloneProgress) => {
|
|
39
|
-
await gitWithCloneProgress.clone(gitBundleForTag, llamaCppDirectory, {
|
|
40
|
-
"--quiet": null
|
|
41
|
-
});
|
|
42
|
-
await simpleGit(llamaCppDirectory).removeRemote("origin");
|
|
43
|
-
});
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
await fs.remove(llamaCppDirectory);
|
|
48
|
-
await fs.remove(llamaCppDirectoryTagFilePath);
|
|
49
|
-
console.error("Failed to clone git bundle, cloning from GitHub instead", err);
|
|
50
|
-
printCloneErrorHelp(String(err));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
await withGitCloneProgress("GitHub", async (gitWithCloneProgress) => {
|
|
55
|
-
await gitWithCloneProgress.clone(remoteGitUrl, llamaCppDirectory, {
|
|
56
|
-
"--depth": 1,
|
|
57
|
-
"--branch": tag,
|
|
58
|
-
"--quiet": null
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
printCloneErrorHelp(String(err));
|
|
64
|
-
throw err;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
const clonedLlamaCppRepoTagJson = {
|
|
68
|
-
tag
|
|
69
|
-
};
|
|
70
|
-
await fs.writeJson(llamaCppDirectoryTagFilePath, clonedLlamaCppRepoTagJson, {
|
|
71
|
-
spaces: 4
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
console.error("Failed to write llama.cpp tag file", err);
|
|
76
|
-
throw err;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function printCloneErrorHelp(error) {
|
|
80
|
-
// This error happens with some docker images where the current user is different
|
|
81
|
-
// from the owner of the files due to mounting a volume.
|
|
82
|
-
// In such cases, print a helpful message to help the user resolve the issue.
|
|
83
|
-
if (error.toLowerCase().includes("detected dubious ownership in repository"))
|
|
84
|
-
console.info("\n" +
|
|
85
|
-
chalk.grey("[node-llama-cpp]") + chalk.yellow(" To fix this issue, try running this command to fix it for the current module directory:") + "\n" +
|
|
86
|
-
'git config --global --add safe.directory "' + llamaCppDirectory + '"\n\n' +
|
|
87
|
-
chalk.yellow("Or run this command to fix it everywhere:") + "\n" +
|
|
88
|
-
'git config --global --add safe.directory "*"');
|
|
89
|
-
}
|
|
90
|
-
export async function getClonedLlamaCppRepoReleaseTag() {
|
|
91
|
-
if (!(await fs.pathExists(llamaCppDirectoryTagFilePath)))
|
|
92
|
-
return null;
|
|
93
|
-
try {
|
|
94
|
-
const clonedLlamaCppRepoTagJson = await fs.readJson(llamaCppDirectoryTagFilePath);
|
|
95
|
-
return clonedLlamaCppRepoTagJson.tag;
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
console.error("Failed to read llama.cpp tag file", err);
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=cloneLlamaCppRepo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloneLlamaCppRepo.js","sourceRoot":"","sources":["../../src/utils/cloneLlamaCppRepo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function compileLlamaCpp({ arch, nodeTarget, setUsedBinFlag: setUsedBinFlagArg, metal, cuda }: {
|
|
2
|
-
arch?: string;
|
|
3
|
-
nodeTarget?: string;
|
|
4
|
-
setUsedBinFlag?: boolean;
|
|
5
|
-
metal?: boolean;
|
|
6
|
-
cuda?: boolean;
|
|
7
|
-
}): Promise<void>;
|
|
8
|
-
export declare function getCompiledLlamaCppBinaryPath(): Promise<string | null>;
|