node-llama-cpp 3.0.0-beta.9 → 3.0.1
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 +42 -27
- package/bins/_linux-arm64.moved.txt +1 -0
- package/bins/_linux-armv7l.moved.txt +1 -0
- package/bins/_linux-x64-cuda.moved.txt +1 -0
- package/bins/_linux-x64-vulkan.moved.txt +1 -0
- package/bins/_linux-x64.moved.txt +1 -0
- package/bins/_mac-arm64-metal.moved.txt +1 -0
- package/bins/_mac-x64.moved.txt +1 -0
- package/bins/_win-arm64.moved.txt +1 -0
- package/bins/_win-x64-cuda.moved.txt +1 -0
- package/bins/_win-x64-vulkan.moved.txt +1 -0
- package/bins/_win-x64.moved.txt +1 -0
- package/dist/ChatWrapper.d.ts +19 -39
- package/dist/ChatWrapper.js +129 -72
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/apiDocsIndex.d.ts +1 -0
- package/dist/apiDocsIndex.js +7 -0
- package/dist/apiDocsIndex.js.map +1 -0
- package/dist/bindings/AddonTypes.d.ts +88 -20
- package/dist/bindings/Llama.d.ts +43 -3
- package/dist/bindings/Llama.js +193 -23
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/consts.d.ts +2 -0
- package/dist/bindings/consts.js +13 -0
- package/dist/bindings/consts.js.map +1 -0
- package/dist/bindings/getLlama.d.ts +123 -18
- package/dist/bindings/getLlama.js +264 -75
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +29 -5
- package/dist/bindings/types.js +51 -2
- package/dist/bindings/types.js.map +1 -1
- package/dist/bindings/utils/MemoryOrchestrator.d.ts +21 -0
- package/dist/bindings/utils/MemoryOrchestrator.js +49 -0
- package/dist/bindings/utils/MemoryOrchestrator.js.map +1 -0
- package/dist/bindings/utils/asyncEvery.d.ts +5 -0
- package/dist/bindings/utils/asyncEvery.js +15 -0
- package/dist/bindings/utils/asyncEvery.js.map +1 -0
- package/dist/bindings/utils/asyncSome.d.ts +5 -0
- package/dist/bindings/utils/asyncSome.js +27 -0
- package/dist/bindings/utils/asyncSome.js.map +1 -0
- package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -1
- package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +1 -1
- package/dist/bindings/utils/cloneLlamaCppRepo.js +39 -28
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.d.ts +11 -3
- package/dist/bindings/utils/compileLLamaCpp.js +250 -81
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +14 -0
- package/dist/bindings/utils/detectAvailableComputeLayers.js +305 -0
- package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -0
- package/dist/bindings/utils/detectGlibc.d.ts +4 -0
- package/dist/bindings/utils/detectGlibc.js +46 -0
- package/dist/bindings/utils/detectGlibc.js.map +1 -0
- package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +9 -0
- package/dist/bindings/utils/getBestComputeLayersAvailable.js +29 -0
- package/dist/bindings/utils/getBestComputeLayersAvailable.js.map +1 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +14 -6
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +12 -0
- package/dist/bindings/utils/getGpuTypesToUseForOption.js +39 -0
- package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -0
- package/dist/bindings/utils/getLinuxDistroInfo.d.ts +9 -0
- package/dist/bindings/utils/getLinuxDistroInfo.js +46 -0
- package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -0
- package/dist/bindings/utils/getLlamaWithoutBackend.d.ts +5 -0
- package/dist/bindings/utils/getLlamaWithoutBackend.js +27 -0
- package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -0
- package/dist/bindings/utils/getPlatform.js.map +1 -1
- package/dist/bindings/utils/getPlatformInfo.d.ts +5 -0
- package/dist/bindings/utils/getPlatformInfo.js +28 -0
- package/dist/bindings/utils/getPlatformInfo.js.map +1 -0
- package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.d.ts +3 -0
- package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js +27 -0
- package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js.map +1 -0
- package/dist/bindings/utils/hasFileInPath.d.ts +2 -0
- package/dist/bindings/utils/hasFileInPath.js +34 -0
- package/dist/bindings/utils/hasFileInPath.js.map +1 -0
- package/dist/bindings/utils/lastBuildInfo.js.map +1 -1
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +1 -1
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +3 -9
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -1
- package/dist/bindings/utils/logDistroInstallInstruction.d.ts +14 -0
- package/dist/bindings/utils/logDistroInstallInstruction.js +48 -0
- package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +26 -26
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
- package/dist/bindings/utils/testBindingBinary.d.ts +1 -0
- package/dist/bindings/utils/testBindingBinary.js +100 -0
- package/dist/bindings/utils/testBindingBinary.js.map +1 -0
- package/dist/bindings/utils/testCmakeBinary.d.ts +5 -0
- package/dist/bindings/utils/testCmakeBinary.js +32 -0
- package/dist/bindings/utils/testCmakeBinary.js.map +1 -0
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +2 -1
- package/dist/chatWrappers/AlpacaChatWrapper.js +10 -2
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +2 -14
- package/dist/chatWrappers/ChatMLChatWrapper.js +23 -21
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FalconChatWrapper.d.ts +4 -10
- package/dist/chatWrappers/FalconChatWrapper.js +39 -21
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +8 -32
- package/dist/chatWrappers/FunctionaryChatWrapper.js +514 -118
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.d.ts +7 -0
- package/dist/chatWrappers/GemmaChatWrapper.js +96 -0
- package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +4 -10
- package/dist/chatWrappers/GeneralChatWrapper.js +46 -22
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama2ChatWrapper.d.ts +12 -0
- package/dist/chatWrappers/{LlamaChatWrapper.js → Llama2ChatWrapper.js} +37 -20
- package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/Llama3ChatWrapper.d.ts +16 -0
- package/dist/chatWrappers/Llama3ChatWrapper.js +173 -0
- package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/Llama3_1ChatWrapper.d.ts +35 -0
- package/dist/chatWrappers/Llama3_1ChatWrapper.js +277 -0
- package/dist/chatWrappers/Llama3_1ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/MistralChatWrapper.d.ts +15 -0
- package/dist/chatWrappers/MistralChatWrapper.js +169 -0
- package/dist/chatWrappers/MistralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +100 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +409 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -0
- package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +60 -0
- package/dist/chatWrappers/generic/TemplateChatWrapper.js +204 -0
- package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +23 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +45 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -0
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.d.ts +57 -0
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js +119 -0
- package/dist/chatWrappers/utils/ChatModelFunctionsDocumentationGenerator.js.map +1 -0
- package/dist/chatWrappers/utils/chunkChatItems.d.ts +10 -0
- package/dist/chatWrappers/utils/chunkChatItems.js +44 -0
- package/dist/chatWrappers/utils/chunkChatItems.js.map +1 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +221 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -0
- package/dist/chatWrappers/utils/jsonDumps.d.ts +7 -0
- package/dist/chatWrappers/utils/jsonDumps.js +18 -0
- package/dist/chatWrappers/utils/jsonDumps.js.map +1 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +95 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.js +335 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -0
- package/dist/cli/cli.js +19 -11
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +16 -7
- package/dist/cli/commands/ChatCommand.js +321 -190
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +31 -0
- package/dist/cli/commands/CompleteCommand.js +402 -0
- package/dist/cli/commands/CompleteCommand.js.map +1 -0
- package/dist/cli/commands/DebugCommand.d.ts +7 -0
- package/dist/cli/commands/DebugCommand.js +54 -0
- package/dist/cli/commands/DebugCommand.js.map +1 -0
- package/dist/cli/commands/InfillCommand.d.ts +33 -0
- package/dist/cli/commands/InfillCommand.js +438 -0
- package/dist/cli/commands/InfillCommand.js.map +1 -0
- package/dist/cli/commands/InitCommand.d.ts +11 -0
- package/dist/cli/commands/InitCommand.js +195 -0
- package/dist/cli/commands/InitCommand.js.map +1 -0
- package/dist/cli/commands/OnPostInstallCommand.js +6 -2
- package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
- package/dist/cli/commands/PullCommand.d.ts +13 -0
- package/dist/cli/commands/PullCommand.js +158 -0
- package/dist/cli/commands/PullCommand.js.map +1 -0
- package/dist/cli/commands/inspect/InspectCommand.d.ts +4 -0
- package/dist/cli/commands/inspect/InspectCommand.js +21 -0
- package/dist/cli/commands/inspect/InspectCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +12 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +225 -0
- package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +12 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +149 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.d.ts +4 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +202 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +18 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +629 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -0
- package/dist/cli/commands/source/SourceCommand.d.ts +4 -0
- package/dist/cli/commands/source/SourceCommand.js +19 -0
- package/dist/cli/commands/source/SourceCommand.js.map +1 -0
- package/dist/cli/commands/source/commands/BuildCommand.d.ts +16 -0
- package/dist/cli/commands/source/commands/BuildCommand.js +148 -0
- package/dist/cli/commands/source/commands/BuildCommand.js.map +1 -0
- package/dist/cli/commands/{ClearCommand.d.ts → source/commands/ClearCommand.d.ts} +1 -1
- package/dist/cli/commands/{ClearCommand.js → source/commands/ClearCommand.js} +11 -10
- package/dist/cli/commands/source/commands/ClearCommand.js.map +1 -0
- package/dist/cli/commands/{DownloadCommand.d.ts → source/commands/DownloadCommand.d.ts} +5 -4
- package/dist/cli/commands/source/commands/DownloadCommand.js +217 -0
- package/dist/cli/commands/source/commands/DownloadCommand.js.map +1 -0
- package/dist/cli/projectTemplates.d.ts +7 -0
- package/dist/cli/projectTemplates.js +10 -0
- package/dist/cli/projectTemplates.js.map +1 -0
- package/dist/cli/recommendedModels.d.ts +2 -0
- package/dist/cli/recommendedModels.js +585 -0
- package/dist/cli/recommendedModels.js.map +1 -0
- package/dist/cli/startCreateCli.d.ts +2 -0
- package/dist/cli/startCreateCli.js +26 -0
- package/dist/cli/startCreateCli.js.map +1 -0
- package/dist/cli/utils/ConsoleInteraction.d.ts +22 -0
- package/dist/cli/utils/ConsoleInteraction.js +122 -0
- package/dist/cli/utils/ConsoleInteraction.js.map +1 -0
- package/dist/cli/utils/ConsoleTable.d.ts +23 -0
- package/dist/cli/utils/ConsoleTable.js +86 -0
- package/dist/cli/utils/ConsoleTable.js.map +1 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.d.ts +13 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js +111 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -0
- package/dist/cli/utils/consolePromptQuestion.d.ts +6 -0
- package/dist/cli/utils/consolePromptQuestion.js +82 -0
- package/dist/cli/utils/consolePromptQuestion.js.map +1 -0
- package/dist/cli/utils/getReadablePath.d.ts +1 -0
- package/dist/cli/utils/getReadablePath.js +14 -0
- package/dist/cli/utils/getReadablePath.js.map +1 -0
- package/dist/cli/utils/interactivelyAskForModel.d.ts +8 -0
- package/dist/cli/utils/interactivelyAskForModel.js +450 -0
- package/dist/cli/utils/interactivelyAskForModel.js.map +1 -0
- package/dist/cli/utils/logUsedGpuTypeOption.d.ts +2 -0
- package/dist/cli/utils/logUsedGpuTypeOption.js +9 -0
- package/dist/cli/utils/logUsedGpuTypeOption.js.map +1 -0
- package/dist/cli/utils/printCommonInfoLines.d.ts +9 -0
- package/dist/cli/utils/printCommonInfoLines.js +82 -0
- package/dist/cli/utils/printCommonInfoLines.js.map +1 -0
- package/dist/cli/utils/printInfoLine.d.ts +12 -0
- package/dist/cli/utils/printInfoLine.js +54 -0
- package/dist/cli/utils/printInfoLine.js.map +1 -0
- package/dist/cli/utils/projectTemplates.d.ts +19 -0
- package/dist/cli/utils/projectTemplates.js +47 -0
- package/dist/cli/utils/projectTemplates.js.map +1 -0
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.d.ts +6 -0
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js +14 -0
- package/dist/cli/utils/renderModelCompatibilityPercentageWithColors.js.map +1 -0
- package/dist/cli/utils/resolveCommandGgufPath.d.ts +5 -0
- package/dist/cli/utils/resolveCommandGgufPath.js +72 -0
- package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -0
- package/dist/cli/utils/resolveHeaderFlag.d.ts +1 -0
- package/dist/cli/utils/resolveHeaderFlag.js +21 -0
- package/dist/cli/utils/resolveHeaderFlag.js.map +1 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +19 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.js +7 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.js.map +1 -0
- package/dist/cli/utils/splitAnsiToLines.d.ts +1 -0
- package/dist/cli/utils/splitAnsiToLines.js +32 -0
- package/dist/cli/utils/splitAnsiToLines.js.map +1 -0
- package/dist/cli/utils/withCliCommandDescriptionDocsUrl.d.ts +2 -0
- package/dist/cli/utils/withCliCommandDescriptionDocsUrl.js +23 -0
- package/dist/cli/utils/withCliCommandDescriptionDocsUrl.js.map +1 -0
- package/dist/commands.d.ts +4 -3
- package/dist/commands.js +6 -3
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +35 -4
- package/dist/config.js +58 -17
- package/dist/config.js.map +1 -1
- package/dist/consts.d.ts +4 -0
- package/dist/consts.js +11 -0
- package/dist/consts.js.map +1 -0
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +151 -41
- package/dist/evaluator/LlamaChat/LlamaChat.js +1289 -437
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.d.ts +11 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js +55 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.d.ts +16 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js +45 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.d.ts +8 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js +12 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +27 -17
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +187 -13
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +280 -53
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +40 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +186 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +10 -2
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.d.ts +168 -0
- package/dist/evaluator/LlamaCompletion.js +470 -0
- package/dist/evaluator/LlamaCompletion.js.map +1 -0
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +62 -21
- package/dist/evaluator/LlamaContext/LlamaContext.js +501 -120
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaSampler.d.ts +1 -0
- package/dist/evaluator/LlamaContext/LlamaSampler.js +31 -0
- package/dist/evaluator/LlamaContext/LlamaSampler.js.map +1 -0
- package/dist/evaluator/LlamaContext/types.d.ts +177 -16
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.d.ts +2 -0
- package/dist/evaluator/LlamaContext/utils/{resolveBatchItemsPrioritizingStrategy.js → resolveBatchItemsPrioritizationStrategy.js} +5 -5
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -0
- package/dist/evaluator/LlamaEmbedding.d.ts +21 -0
- package/dist/evaluator/LlamaEmbedding.js +53 -0
- package/dist/evaluator/LlamaEmbedding.js.map +1 -0
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +29 -19
- package/dist/evaluator/LlamaEmbeddingContext.js +36 -43
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaGrammar.d.ts +16 -13
- package/dist/evaluator/LlamaGrammar.js +17 -10
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +7 -3
- package/dist/evaluator/LlamaGrammarEvaluationState.js +8 -4
- package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -1
- package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -0
- package/dist/evaluator/LlamaJsonSchemaGrammar.js +5 -3
- package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel/LlamaModel.d.ts +255 -0
- package/dist/evaluator/LlamaModel/LlamaModel.js +780 -0
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.d.ts +29 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js +65 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js.map +1 -0
- package/dist/evaluator/TokenBias.d.ts +34 -0
- package/dist/evaluator/TokenBias.js +65 -0
- package/dist/evaluator/TokenBias.js.map +1 -0
- package/dist/evaluator/TokenMeter.d.ts +45 -0
- package/dist/evaluator/TokenMeter.js +74 -0
- package/dist/evaluator/TokenMeter.js.map +1 -0
- package/dist/gguf/consts.d.ts +4 -0
- package/dist/gguf/consts.js +12 -0
- package/dist/gguf/consts.js.map +1 -0
- package/dist/gguf/errors/InvalidGgufMagicError.d.ts +3 -0
- package/dist/gguf/errors/InvalidGgufMagicError.js +6 -0
- package/dist/gguf/errors/InvalidGgufMagicError.js.map +1 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.d.ts +4 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.js +9 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.js.map +1 -0
- package/dist/gguf/fileReaders/GgufFileReader.d.ts +36 -0
- package/dist/gguf/fileReaders/GgufFileReader.js +109 -0
- package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +16 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.js +62 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +25 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +92 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -0
- package/dist/gguf/insights/GgufInsights.d.ts +50 -0
- package/dist/gguf/insights/GgufInsights.js +401 -0
- package/dist/gguf/insights/GgufInsights.js.map +1 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +146 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +226 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +19 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +78 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +15 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +183 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -0
- package/dist/gguf/insights/utils/scoreLevels.d.ts +5 -0
- package/dist/gguf/insights/utils/scoreLevels.js +16 -0
- package/dist/gguf/insights/utils/scoreLevels.js.map +1 -0
- package/dist/gguf/parser/GgufV2Parser.d.ts +20 -0
- package/dist/gguf/parser/GgufV2Parser.js +156 -0
- package/dist/gguf/parser/GgufV2Parser.js.map +1 -0
- package/dist/gguf/parser/GgufV3Parser.d.ts +3 -0
- package/dist/gguf/parser/GgufV3Parser.js +4 -0
- package/dist/gguf/parser/GgufV3Parser.js.map +1 -0
- package/dist/gguf/parser/parseGguf.d.ts +8 -0
- package/dist/gguf/parser/parseGguf.js +61 -0
- package/dist/gguf/parser/parseGguf.js.map +1 -0
- package/dist/gguf/readGgufFileInfo.d.ts +45 -0
- package/dist/gguf/readGgufFileInfo.js +71 -0
- package/dist/gguf/readGgufFileInfo.js.map +1 -0
- package/dist/gguf/types/GgufFileInfoTypes.d.ts +84 -0
- package/dist/gguf/types/GgufFileInfoTypes.js +18 -0
- package/dist/gguf/types/GgufFileInfoTypes.js.map +1 -0
- package/dist/gguf/types/GgufMetadataTypes.d.ts +372 -0
- package/dist/gguf/types/GgufMetadataTypes.js +114 -0
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -0
- package/dist/gguf/types/GgufTensorInfoTypes.d.ts +37 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js +33 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -0
- package/dist/gguf/utils/GgufReadOffset.d.ts +6 -0
- package/dist/gguf/utils/GgufReadOffset.js +18 -0
- package/dist/gguf/utils/GgufReadOffset.js.map +1 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +6 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +76 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -0
- package/dist/gguf/utils/getGgufFileTypeName.d.ts +4 -0
- package/dist/gguf/utils/getGgufFileTypeName.js +13 -0
- package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.d.ts +3 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.js +4 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.js.map +1 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.d.ts +1 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.js +16 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -0
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.d.ts +2 -0
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js +39 -0
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -0
- package/dist/gguf/utils/resolveSplitGgufParts.d.ts +7 -0
- package/dist/gguf/utils/resolveSplitGgufParts.js +55 -0
- package/dist/gguf/utils/resolveSplitGgufParts.js.map +1 -0
- package/dist/index.d.ts +39 -14
- package/dist/index.js +29 -8
- 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/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +131 -5
- package/dist/types.js.map +1 -1
- package/dist/utils/DisposeGuard.d.ts +13 -0
- package/dist/utils/DisposeGuard.js +120 -0
- package/dist/utils/DisposeGuard.js.map +1 -0
- package/dist/utils/InsufficientMemoryError.d.ts +3 -0
- package/dist/utils/InsufficientMemoryError.js +6 -0
- package/dist/utils/InsufficientMemoryError.js.map +1 -0
- package/dist/utils/LlamaText.d.ts +73 -26
- package/dist/utils/LlamaText.js +475 -157
- package/dist/utils/LlamaText.js.map +1 -1
- package/dist/utils/LruCache.d.ts +12 -0
- package/dist/utils/LruCache.js +44 -0
- package/dist/utils/LruCache.js.map +1 -0
- package/dist/utils/OverridesObject.d.ts +7 -0
- package/dist/utils/OverridesObject.js +2 -0
- package/dist/utils/OverridesObject.js.map +1 -0
- package/dist/utils/ReplHistory.js +5 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/StopGenerationDetector.d.ts +27 -8
- package/dist/utils/StopGenerationDetector.js +108 -22
- package/dist/utils/StopGenerationDetector.js.map +1 -1
- package/dist/utils/ThreadsSplitter.d.ts +32 -0
- package/dist/utils/ThreadsSplitter.js +177 -0
- package/dist/utils/ThreadsSplitter.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.d.ts +10 -4
- package/dist/utils/TokenStreamRegulator.js +102 -10
- package/dist/utils/TokenStreamRegulator.js.map +1 -1
- package/dist/utils/UnsupportedError.d.ts +2 -0
- package/dist/utils/UnsupportedError.js +7 -0
- package/dist/utils/UnsupportedError.js.map +1 -0
- package/dist/utils/appendUserMessageToChatHistory.d.ts +4 -0
- package/dist/utils/appendUserMessageToChatHistory.js +4 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -1
- package/dist/utils/clearTempFolder.js.map +1 -1
- package/dist/utils/cmake.js +23 -10
- package/dist/utils/cmake.js.map +1 -1
- package/dist/utils/compareTokens.d.ts +1 -1
- package/dist/utils/compareTokens.js.map +1 -1
- package/dist/utils/createModelDownloader.d.ts +199 -0
- package/dist/utils/createModelDownloader.js +405 -0
- package/dist/utils/createModelDownloader.js.map +1 -0
- package/dist/utils/findBestOption.d.ts +4 -0
- package/dist/utils/findBestOption.js +15 -0
- package/dist/utils/findBestOption.js.map +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +23 -12
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.d.ts +5 -0
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js +11 -0
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -0
- package/dist/utils/gbnfJson/terminals/GbnfArray.d.ts +3 -1
- package/dist/utils/gbnfJson/terminals/GbnfArray.js +10 -5
- package/dist/utils/gbnfJson/terminals/GbnfArray.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfBoolean.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfBoolean.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfBooleanValue.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfGrammar.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNull.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNull.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNumber.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNumber.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfObjectMap.d.ts +3 -1
- package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js +9 -4
- package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfRepetition.d.ts +9 -0
- package/dist/utils/gbnfJson/terminals/GbnfRepetition.js +37 -0
- package/dist/utils/gbnfJson/terminals/GbnfRepetition.js.map +1 -0
- package/dist/utils/gbnfJson/terminals/GbnfString.d.ts +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfString.js +23 -5
- package/dist/utils/gbnfJson/terminals/GbnfString.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfStringValue.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfWhitespace.d.ts +7 -4
- package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js +37 -9
- package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/gbnfConsts.d.ts +5 -4
- package/dist/utils/gbnfJson/terminals/gbnfConsts.js +14 -3
- package/dist/utils/gbnfJson/terminals/gbnfConsts.js.map +1 -1
- package/dist/utils/gbnfJson/types.d.ts +3 -0
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/GbnfJsonScopeState.d.ts +10 -0
- package/dist/utils/gbnfJson/utils/GbnfJsonScopeState.js +15 -0
- package/dist/utils/gbnfJson/utils/GbnfJsonScopeState.js.map +1 -0
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.d.ts +2 -1
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +6 -5
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +3 -3
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getBuildDefaults.d.ts +1 -2
- package/dist/utils/getBuildDefaults.js +2 -3
- package/dist/utils/getBuildDefaults.js.map +1 -1
- package/dist/utils/getConsoleLogPrefix.d.ts +1 -1
- package/dist/utils/getConsoleLogPrefix.js +5 -4
- package/dist/utils/getConsoleLogPrefix.js.map +1 -1
- package/dist/utils/getGrammarsFolder.js +1 -1
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/dist/utils/getQueuedTokensBeforeStopTrigger.d.ts +6 -0
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js +22 -0
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -0
- package/dist/utils/getReadableContextSize.d.ts +1 -0
- package/dist/utils/getReadableContextSize.js +7 -0
- package/dist/utils/getReadableContextSize.js.map +1 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +15 -11
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gitReleaseBundles.js +68 -1
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/isToken.d.ts +2 -0
- package/dist/utils/isToken.js +4 -0
- package/dist/utils/isToken.js.map +1 -0
- package/dist/utils/isUrl.d.ts +1 -0
- package/dist/utils/isUrl.js +15 -0
- package/dist/utils/isUrl.js.map +1 -0
- package/dist/utils/mergeUnionTypes.d.ts +10 -0
- package/dist/utils/mergeUnionTypes.js +2 -0
- package/dist/utils/mergeUnionTypes.js.map +1 -0
- package/dist/utils/modelFileAccesTokens.d.ts +4 -0
- package/dist/utils/modelFileAccesTokens.js +40 -0
- package/dist/utils/modelFileAccesTokens.js.map +1 -0
- package/dist/utils/parseModelFileName.d.ts +1 -0
- package/dist/utils/parseModelFileName.js +6 -1
- package/dist/utils/parseModelFileName.js.map +1 -1
- package/dist/utils/parseTextTemplate.d.ts +66 -0
- package/dist/utils/parseTextTemplate.js +116 -0
- package/dist/utils/parseTextTemplate.js.map +1 -0
- package/dist/utils/prettyPrintObject.d.ts +10 -1
- package/dist/utils/prettyPrintObject.js +61 -15
- package/dist/utils/prettyPrintObject.js.map +1 -1
- package/dist/utils/pushAll.d.ts +6 -0
- package/dist/utils/pushAll.js +11 -0
- package/dist/utils/pushAll.js.map +1 -0
- package/dist/utils/removeNullFields.d.ts +2 -2
- package/dist/utils/removeNullFields.js.map +1 -1
- package/dist/utils/resolveGithubRelease.d.ts +2 -2
- package/dist/utils/resolveGithubRelease.js.map +1 -1
- package/dist/utils/resolveLastTokens.d.ts +2 -0
- package/dist/utils/resolveLastTokens.js +12 -0
- package/dist/utils/resolveLastTokens.js.map +1 -0
- package/dist/utils/runtime.d.ts +4 -0
- package/dist/utils/runtime.js +8 -0
- package/dist/utils/runtime.js.map +1 -0
- package/dist/utils/safeEventCallback.d.ts +6 -0
- package/dist/utils/safeEventCallback.js +29 -0
- package/dist/utils/safeEventCallback.js.map +1 -0
- package/dist/utils/spawnCommand.d.ts +11 -2
- package/dist/utils/spawnCommand.js +55 -7
- package/dist/utils/spawnCommand.js.map +1 -1
- package/dist/utils/tokenizeInput.d.ts +1 -1
- package/dist/utils/tokenizeInput.js +6 -3
- package/dist/utils/tokenizeInput.js.map +1 -1
- package/dist/utils/transformPromisable.d.ts +40 -0
- package/dist/utils/transformPromisable.js +64 -0
- package/dist/utils/transformPromisable.js.map +1 -0
- package/dist/utils/truncateTextAndRoundToWords.d.ts +2 -0
- package/dist/utils/truncateTextAndRoundToWords.js +32 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
- package/dist/utils/utilTypes.d.ts +3 -0
- package/dist/utils/utilTypes.js +2 -0
- package/dist/utils/utilTypes.js.map +1 -0
- package/dist/utils/waitForLockfileRelease.js.map +1 -1
- package/dist/utils/withLockfile.js.map +1 -1
- package/dist/utils/withOra.d.ts +2 -0
- package/dist/utils/withOra.js +16 -6
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withProgressLog.d.ts +22 -0
- package/dist/utils/withProgressLog.js +211 -0
- package/dist/utils/withProgressLog.js.map +1 -0
- package/dist/utils/withStatusLogs.js +1 -1
- package/dist/utils/withStatusLogs.js.map +1 -1
- package/dist/utils/wrapAbortSignal.d.ts +1 -0
- package/dist/utils/wrapAbortSignal.js +9 -0
- package/dist/utils/wrapAbortSignal.js.map +1 -0
- package/llama/CMakeLists.txt +134 -5
- package/llama/addon/AddonContext.cpp +629 -0
- package/llama/addon/AddonContext.h +52 -0
- package/llama/addon/AddonGrammar.cpp +39 -0
- package/llama/addon/AddonGrammar.h +19 -0
- package/llama/addon/AddonGrammarEvaluationState.cpp +25 -0
- package/llama/addon/AddonGrammarEvaluationState.h +17 -0
- package/llama/addon/AddonModel.cpp +672 -0
- package/llama/addon/AddonModel.h +61 -0
- package/llama/addon/AddonModelData.cpp +25 -0
- package/llama/addon/AddonModelData.h +15 -0
- package/llama/addon/AddonModelLora.cpp +105 -0
- package/llama/addon/AddonModelLora.h +28 -0
- package/llama/addon/AddonSampler.cpp +513 -0
- package/llama/addon/AddonSampler.h +65 -0
- package/llama/addon/RingBuffer.h +109 -0
- package/llama/addon/addon.cpp +223 -0
- package/llama/addon/addonGlobals.cpp +22 -0
- package/llama/addon/addonGlobals.h +12 -0
- package/llama/addon/globals/addonLog.cpp +136 -0
- package/llama/addon/globals/addonLog.h +21 -0
- package/llama/addon/globals/addonProgress.cpp +15 -0
- package/llama/addon/globals/addonProgress.h +15 -0
- package/llama/addon/globals/getGpuInfo.cpp +108 -0
- package/llama/addon/globals/getGpuInfo.h +6 -0
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/cuda-gpu-info.cu +120 -0
- package/llama/gpuInfo/cuda-gpu-info.h +10 -0
- package/llama/gpuInfo/metal-gpu-info.h +8 -0
- package/llama/gpuInfo/metal-gpu-info.mm +30 -0
- package/llama/gpuInfo/vulkan-gpu-info.cpp +83 -0
- package/llama/gpuInfo/vulkan-gpu-info.h +9 -0
- package/llama/grammars/README.md +297 -6
- package/llama/grammars/json.gbnf +4 -4
- package/llama/grammars/json_arr.gbnf +4 -4
- package/llama/llama.cpp.info.json +1 -1
- package/llama/toolchains/win32.host-x64.target-arm64.cmake +41 -0
- package/package.json +109 -59
- package/templates/packed/electron-typescript-react.json +1 -0
- package/templates/packed/node-typescript.json +1 -0
- package/dist/AbortError.d.ts +0 -2
- package/dist/AbortError.js +0 -7
- package/dist/AbortError.js.map +0 -1
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +0 -13
- package/dist/chatWrappers/LlamaChatWrapper.js.map +0 -1
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +0 -13
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +0 -57
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +0 -1
- package/dist/cli/commands/BuildCommand.d.ts +0 -11
- package/dist/cli/commands/BuildCommand.js +0 -106
- package/dist/cli/commands/BuildCommand.js.map +0 -1
- package/dist/cli/commands/ClearCommand.js.map +0 -1
- package/dist/cli/commands/DownloadCommand.js +0 -169
- package/dist/cli/commands/DownloadCommand.js.map +0 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +0 -22
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +0 -121
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -2
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
- package/dist/evaluator/LlamaModel.d.ts +0 -120
- package/dist/evaluator/LlamaModel.js +0 -320
- package/dist/evaluator/LlamaModel.js.map +0 -1
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.d.ts +0 -2
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +0 -9
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +0 -1
- package/dist/utils/parseModelTypeDescription.d.ts +0 -6
- package/dist/utils/parseModelTypeDescription.js +0 -9
- package/dist/utils/parseModelTypeDescription.js.map +0 -1
- package/dist/utils/resolveChatWrapper.d.ts +0 -4
- package/dist/utils/resolveChatWrapper.js +0 -16
- package/dist/utils/resolveChatWrapper.js.map +0 -1
- package/llama/addon.cpp +0 -950
- package/llamaBins/linux-arm64/.buildMetadata.json +0 -1
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/.buildMetadata.json +0 -1
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/.buildMetadata.json +0 -1
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/.buildMetadata.json +0 -1
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/.buildMetadata.json +0 -1
- package/llamaBins/mac-arm64-metal/ggml-metal.metal +0 -6119
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/.buildMetadata.json +0 -1
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/.buildMetadata.json +0 -1
- package/llamaBins/win-x64/llama-addon.exp +0 -0
- package/llamaBins/win-x64/llama-addon.lib +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64-cuda/.buildMetadata.json +0 -1
- 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/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.d.ts +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.js +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.d.ts +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import stripAnsi from "strip-ansi";
|
|
3
|
+
export function printInfoLine(options) {
|
|
4
|
+
console.info(renderInfoLine(options));
|
|
5
|
+
}
|
|
6
|
+
export function renderInfoLine({ title, padTitle = 0, separateLines = false, info, maxWidth = process.stdout.columns - 1 }) {
|
|
7
|
+
const res = [];
|
|
8
|
+
const items = [];
|
|
9
|
+
if (separateLines) {
|
|
10
|
+
if (title != null && title.length > 0)
|
|
11
|
+
res.push(chalk.yellowBright(`${title.trim()}`));
|
|
12
|
+
for (const { title, value, show } of info) {
|
|
13
|
+
if (show === false)
|
|
14
|
+
continue;
|
|
15
|
+
if (title == null || title === "")
|
|
16
|
+
items.push(value instanceof Function ? value() : value);
|
|
17
|
+
else
|
|
18
|
+
items.push(`${chalk.yellow(title + ":")} ${value instanceof Function ? value() : value}`);
|
|
19
|
+
}
|
|
20
|
+
const itemPrefix = `${chalk.dim("|")} `;
|
|
21
|
+
res.push(itemPrefix + items.join("\n" + itemPrefix));
|
|
22
|
+
return res.join("\n") + "\n";
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
if (title != null && title.length > 0)
|
|
26
|
+
res.push(chalk.yellowBright(`${title.padEnd(padTitle, " ")}`));
|
|
27
|
+
for (const { title, value, show } of info) {
|
|
28
|
+
if (show === false)
|
|
29
|
+
continue;
|
|
30
|
+
if (title == null || title === "")
|
|
31
|
+
items.push(chalk.bgGray(` ${value instanceof Function ? value() : value} `));
|
|
32
|
+
else
|
|
33
|
+
items.push(chalk.bgGray(` ${chalk.yellow(title + ":")} ${value instanceof Function ? value() : value} `));
|
|
34
|
+
}
|
|
35
|
+
const startPad = stripAnsi(res.join(" ")).length + (res.length > 0 ? " ".length : 0);
|
|
36
|
+
res.push(splitItemsIntoLines(items, maxWidth - startPad).join("\n" + " ".repeat(startPad)));
|
|
37
|
+
return res.join(" ");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function splitItemsIntoLines(items, maxLineLength) {
|
|
41
|
+
const lines = [];
|
|
42
|
+
let currentLine = [];
|
|
43
|
+
for (const item of items) {
|
|
44
|
+
if (stripAnsi([...currentLine, item].join(" ")).length > maxLineLength) {
|
|
45
|
+
lines.push(currentLine.join(" "));
|
|
46
|
+
currentLine = [];
|
|
47
|
+
}
|
|
48
|
+
currentLine.push(item);
|
|
49
|
+
}
|
|
50
|
+
if (currentLine.length > 0)
|
|
51
|
+
lines.push(currentLine.join(" "));
|
|
52
|
+
return lines;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=printInfoLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printInfoLine.js","sourceRoot":"","sources":["../../../src/cli/utils/printInfoLine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const enum ProjectTemplateParameter {
|
|
2
|
+
ProjectName = "projectName",
|
|
3
|
+
CurrentModuleVersion = "currentNodeLlamaCppModuleVersion",
|
|
4
|
+
ModelUrl = "modelUrl",
|
|
5
|
+
ModelFilename = "modelFilename"
|
|
6
|
+
}
|
|
7
|
+
export type PackagedFileEntry = {
|
|
8
|
+
path: string[];
|
|
9
|
+
content: string;
|
|
10
|
+
};
|
|
11
|
+
export type ProjectTemplate = {
|
|
12
|
+
files: PackagedFileEntry[];
|
|
13
|
+
};
|
|
14
|
+
export declare function getProjectTemplateParameterText(parameter: ProjectTemplateParameter, escapeText?: boolean | 0 | 1 | 2): string;
|
|
15
|
+
export declare function scaffoldProjectTemplate({ template, parameters, directoryPath }: {
|
|
16
|
+
template: ProjectTemplate;
|
|
17
|
+
parameters: Record<ProjectTemplateParameter, string>;
|
|
18
|
+
directoryPath: string;
|
|
19
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
export var ProjectTemplateParameter;
|
|
4
|
+
(function (ProjectTemplateParameter) {
|
|
5
|
+
ProjectTemplateParameter["ProjectName"] = "projectName";
|
|
6
|
+
ProjectTemplateParameter["CurrentModuleVersion"] = "currentNodeLlamaCppModuleVersion";
|
|
7
|
+
ProjectTemplateParameter["ModelUrl"] = "modelUrl";
|
|
8
|
+
ProjectTemplateParameter["ModelFilename"] = "modelFilename";
|
|
9
|
+
})(ProjectTemplateParameter || (ProjectTemplateParameter = {}));
|
|
10
|
+
export function getProjectTemplateParameterText(parameter, escapeText = true) {
|
|
11
|
+
let escapes = "";
|
|
12
|
+
if (escapeText === true || escapeText === 1)
|
|
13
|
+
escapes = "|escape";
|
|
14
|
+
else if (escapeText === 2)
|
|
15
|
+
escapes = "|escape|escape";
|
|
16
|
+
return "{{" + parameter + escapes + "}}";
|
|
17
|
+
}
|
|
18
|
+
function applyProjectTemplateParameters(template, parameters) {
|
|
19
|
+
for (const [parameter, value] of Object.entries(parameters)) {
|
|
20
|
+
template = template.split(getProjectTemplateParameterText(parameter, 0)).join(String(value));
|
|
21
|
+
template = template.split(getProjectTemplateParameterText(parameter, 1)).join(JSON.stringify(String(value)).slice(1, -1));
|
|
22
|
+
template = template.split(getProjectTemplateParameterText(parameter, 2)).join(JSON.stringify(JSON.stringify(String(value)).slice(1, -1)).slice(1, -1));
|
|
23
|
+
}
|
|
24
|
+
return template;
|
|
25
|
+
}
|
|
26
|
+
export async function scaffoldProjectTemplate({ template, parameters, directoryPath }) {
|
|
27
|
+
for (const file of template.files) {
|
|
28
|
+
const filePath = path.join(directoryPath, ...file.path);
|
|
29
|
+
const fileContent = transformFileContent({
|
|
30
|
+
content: applyProjectTemplateParameters(file.content, parameters),
|
|
31
|
+
originalPath: file.path,
|
|
32
|
+
parameters
|
|
33
|
+
});
|
|
34
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
35
|
+
await fs.writeFile(filePath, fileContent, "utf8");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function transformFileContent({ content, originalPath, parameters }) {
|
|
39
|
+
if (originalPath.length === 1 && originalPath[0] === "package.json") {
|
|
40
|
+
const packageJson = JSON.parse(content);
|
|
41
|
+
if (parameters[ProjectTemplateParameter.ProjectName] != null)
|
|
42
|
+
packageJson.name = parameters[ProjectTemplateParameter.ProjectName];
|
|
43
|
+
return JSON.stringify(packageJson, null, 2);
|
|
44
|
+
}
|
|
45
|
+
return content;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=projectTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectTemplates.js","sourceRoot":"","sources":["../../../src/cli/utils/projectTemplates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
export function renderModelCompatibilityPercentageWithColors(percentage, { greenBright = 100, green = 95, yellow = 85, yellowBright = 75 } = {}) {
|
|
3
|
+
const percentageText = String(Math.floor(percentage)) + "%";
|
|
4
|
+
if (percentage >= greenBright)
|
|
5
|
+
return chalk.greenBright(percentageText);
|
|
6
|
+
else if (percentage >= green)
|
|
7
|
+
return chalk.green(percentageText);
|
|
8
|
+
else if (percentage >= yellow)
|
|
9
|
+
return chalk.yellow(percentageText);
|
|
10
|
+
else if (percentage >= yellowBright)
|
|
11
|
+
return chalk.yellowBright(percentageText);
|
|
12
|
+
return chalk.red(percentageText);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=renderModelCompatibilityPercentageWithColors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderModelCompatibilityPercentageWithColors.js","sourceRoot":"","sources":["../../../src/cli/utils/renderModelCompatibilityPercentageWithColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,4CAA4C,CAAC,UAAkB,EAAE,EAC7E,WAAW,GAAG,GAAG,EACjB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,EACX,YAAY,GAAG,EAAE,KAMjB,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC;IAE5D,IAAI,UAAU,IAAI,WAAW;QACzB,OAAO,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SACxC,IAAI,UAAU,IAAI,KAAK;QACxB,OAAO,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SAClC,IAAI,UAAU,IAAI,MAAM;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SACnC,IAAI,UAAU,IAAI,YAAY;QAC/B,OAAO,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAE9C,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Llama } from "../../bindings/Llama.js";
|
|
2
|
+
export declare function resolveCommandGgufPath(ggufPath: string | undefined, llama: Llama, fetchHeaders?: Record<string, string>, { targetDirectory, flashAttention }?: {
|
|
3
|
+
targetDirectory?: string;
|
|
4
|
+
flashAttention?: boolean;
|
|
5
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import process from "process";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import fs from "fs-extra";
|
|
5
|
+
import { cliModelsDirectory } from "../../config.js";
|
|
6
|
+
import { normalizeGgufDownloadUrl } from "../../gguf/utils/normalizeGgufDownloadUrl.js";
|
|
7
|
+
import { isUrl } from "../../utils/isUrl.js";
|
|
8
|
+
import { createModelDownloader } from "../../utils/createModelDownloader.js";
|
|
9
|
+
import { ConsoleInteraction, ConsoleInteractionKey } from "./ConsoleInteraction.js";
|
|
10
|
+
import { getReadablePath } from "./getReadablePath.js";
|
|
11
|
+
import { interactivelyAskForModel } from "./interactivelyAskForModel.js";
|
|
12
|
+
export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { targetDirectory = cliModelsDirectory, flashAttention = false } = {}) {
|
|
13
|
+
let resolvedGgufPath = ggufPath;
|
|
14
|
+
if (resolvedGgufPath == null)
|
|
15
|
+
resolvedGgufPath = await interactivelyAskForModel({
|
|
16
|
+
llama,
|
|
17
|
+
modelsDirectory: targetDirectory,
|
|
18
|
+
allowLocalModels: true,
|
|
19
|
+
downloadIntent: true,
|
|
20
|
+
flashAttention
|
|
21
|
+
});
|
|
22
|
+
if (!isUrl(resolvedGgufPath)) {
|
|
23
|
+
try {
|
|
24
|
+
const resolvedPath = path.resolve(process.cwd(), resolvedGgufPath);
|
|
25
|
+
if (await fs.pathExists(resolvedPath))
|
|
26
|
+
return resolvedPath;
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
throw new Error(`Invalid path: ${resolvedGgufPath}`);
|
|
30
|
+
}
|
|
31
|
+
throw new Error(`File does not exist: ${path.resolve(process.cwd(), resolvedGgufPath)}`);
|
|
32
|
+
}
|
|
33
|
+
resolvedGgufPath = normalizeGgufDownloadUrl(resolvedGgufPath);
|
|
34
|
+
const downloader = await createModelDownloader({
|
|
35
|
+
modelUrl: resolvedGgufPath,
|
|
36
|
+
dirPath: targetDirectory,
|
|
37
|
+
headers: fetchHeaders,
|
|
38
|
+
showCliProgress: true,
|
|
39
|
+
deleteTempFileOnCancel: false,
|
|
40
|
+
skipExisting: false
|
|
41
|
+
});
|
|
42
|
+
if (downloader.totalFiles === 1 && await fs.pathExists(downloader.entrypointFilePath)) {
|
|
43
|
+
const fileStats = await fs.stat(downloader.entrypointFilePath);
|
|
44
|
+
if (downloader.totalSize === fileStats.size) {
|
|
45
|
+
console.info(`${chalk.yellow("File:")} ${getReadablePath(downloader.entrypointFilePath)}`);
|
|
46
|
+
return downloader.entrypointFilePath;
|
|
47
|
+
}
|
|
48
|
+
const res = await ConsoleInteraction.yesNoQuestion(`There's already an local ${chalk.blue(downloader.entrypointFilePath)} file that's different from the remote one.\n` +
|
|
49
|
+
"Download it and override the existing file?");
|
|
50
|
+
if (!res) {
|
|
51
|
+
console.info("Loading the existing file");
|
|
52
|
+
console.info(`${chalk.yellow("File:")} ${getReadablePath(downloader.entrypointFilePath)}`);
|
|
53
|
+
return downloader.entrypointFilePath;
|
|
54
|
+
}
|
|
55
|
+
await fs.remove(downloader.entrypointFilePath);
|
|
56
|
+
}
|
|
57
|
+
const consoleInteraction = new ConsoleInteraction();
|
|
58
|
+
consoleInteraction.onKey(ConsoleInteractionKey.ctrlC, async () => {
|
|
59
|
+
await downloader.cancel();
|
|
60
|
+
consoleInteraction.stop();
|
|
61
|
+
process.exit(0);
|
|
62
|
+
});
|
|
63
|
+
console.info(`Downloading to ${chalk.yellow(getReadablePath(targetDirectory))}${downloader.splitBinaryParts != null
|
|
64
|
+
? chalk.gray(` (combining ${downloader.splitBinaryParts} parts into a single file)`)
|
|
65
|
+
: ""}`);
|
|
66
|
+
consoleInteraction.start();
|
|
67
|
+
await downloader.download();
|
|
68
|
+
consoleInteraction.stop();
|
|
69
|
+
console.info(`${chalk.yellow("File:")} ${getReadablePath(downloader.entrypointFilePath)}`);
|
|
70
|
+
return downloader.entrypointFilePath;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=resolveCommandGgufPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveCommandGgufPath.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveCommandGgufPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function resolveHeaderFlag(header?: string[] | string): Record<string, string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function resolveHeaderFlag(header) {
|
|
2
|
+
if (typeof header === "string")
|
|
3
|
+
header = [header];
|
|
4
|
+
if (header == null || header.length === 0)
|
|
5
|
+
return {};
|
|
6
|
+
const res = {};
|
|
7
|
+
for (const headerItem of header) {
|
|
8
|
+
const colonIndex = headerItem.indexOf(":");
|
|
9
|
+
if (colonIndex < 0)
|
|
10
|
+
throw new Error(`Invalid header item: ${headerItem}`);
|
|
11
|
+
const key = headerItem.slice(0, colonIndex).trim();
|
|
12
|
+
if (Object.hasOwn(res, key))
|
|
13
|
+
throw new Error(`Duplicate header key: ${key}`);
|
|
14
|
+
let value = headerItem.slice(colonIndex + 1);
|
|
15
|
+
if (value.startsWith(" "))
|
|
16
|
+
value = value.slice(1);
|
|
17
|
+
res[key] = value;
|
|
18
|
+
}
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resolveHeaderFlag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveHeaderFlag.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveHeaderFlag.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtB,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrC,OAAO,EAAE,CAAC;IAEd,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,UAAU,GAAG,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;QAE1D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAEpD,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ModelRecommendation = {
|
|
2
|
+
name: string;
|
|
3
|
+
abilities: ("code" | "chat" | "complete" | "infill" | "functionCalling")[];
|
|
4
|
+
description?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Files ordered by quality.
|
|
7
|
+
* The first file that has 100% compatibility with the current system
|
|
8
|
+
* will be used (and the rest of the files won't even be tested),
|
|
9
|
+
* otherwise, the file with the highest compatibility will be used.
|
|
10
|
+
*/
|
|
11
|
+
fileOptions: Array<{
|
|
12
|
+
huggingFace: {
|
|
13
|
+
model: `${string}/${string}`;
|
|
14
|
+
branch: string;
|
|
15
|
+
file: `${string}.gguf` | `${string}.gguf.part${number}of${number}`;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
export declare function resolveModelRecommendationFileOptions(modelRecommendation: ModelRecommendation): string[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { normalizeGgufDownloadUrl } from "../../gguf/utils/normalizeGgufDownloadUrl.js";
|
|
2
|
+
export function resolveModelRecommendationFileOptions(modelRecommendation) {
|
|
3
|
+
return modelRecommendation.fileOptions.map((fileOption) => {
|
|
4
|
+
return normalizeGgufDownloadUrl(`https://huggingface.co/${fileOption.huggingFace.model}/resolve/${fileOption.huggingFace.branch}/${fileOption.huggingFace.file}`);
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=resolveModelRecommendationFileOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveModelRecommendationFileOptions.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveModelRecommendationFileOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,8CAA8C,CAAC;AAsBtF,MAAM,UAAU,qCAAqC,CAAC,mBAAwC;IAC1F,OAAO,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACtD,OAAO,wBAAwB,CAC3B,0BAA0B,UAAU,CAAC,WAAW,CAAC,KAAK,YAAY,UAAU,CAAC,WAAW,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CACnI,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function splitAnsiToLines(text: string | undefined, width: number, maxRoundToWords?: number): string[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import stripAnsi from "strip-ansi";
|
|
2
|
+
import sliceAnsi from "slice-ansi";
|
|
3
|
+
export function splitAnsiToLines(text, width, maxRoundToWords = Math.min(16, width)) {
|
|
4
|
+
if (text == null || text === "")
|
|
5
|
+
return [];
|
|
6
|
+
const lines = [];
|
|
7
|
+
const linesWithoutAnsi = stripAnsi(text).split("\n");
|
|
8
|
+
let textIndex = 0;
|
|
9
|
+
for (const line of linesWithoutAnsi) {
|
|
10
|
+
for (let lineIndex = 0; lineIndex < line.length;) {
|
|
11
|
+
let currentWidth = width;
|
|
12
|
+
if (maxRoundToWords > 0) {
|
|
13
|
+
const currentMaxWidth = Math.min(currentWidth, line.length - lineIndex);
|
|
14
|
+
const currentChunkLastChar = line[lineIndex + currentMaxWidth - 1];
|
|
15
|
+
const nextChunkFirstChar = line[lineIndex + currentMaxWidth] ?? "";
|
|
16
|
+
if (currentChunkLastChar !== " " && nextChunkFirstChar !== "" && nextChunkFirstChar !== " ") {
|
|
17
|
+
const lastSpaceIndex = line.lastIndexOf(" ", lineIndex + currentMaxWidth - 1);
|
|
18
|
+
if (lastSpaceIndex >= 0) {
|
|
19
|
+
const diff = currentMaxWidth - (lastSpaceIndex + " ".length);
|
|
20
|
+
if (diff > 0 && diff < maxRoundToWords && diff < currentWidth)
|
|
21
|
+
currentWidth -= diff;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
lines.push(sliceAnsi(text, textIndex + lineIndex, Math.min(textIndex + lineIndex + currentWidth, textIndex + line.length)));
|
|
26
|
+
lineIndex += currentWidth;
|
|
27
|
+
}
|
|
28
|
+
textIndex += line.length + "\n".length;
|
|
29
|
+
}
|
|
30
|
+
return lines;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=splitAnsiToLines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitAnsiToLines.js","sourceRoot":"","sources":["../../../src/cli/utils/splitAnsiToLines.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,gBAAgB,CAAC,IAAwB,EAAE,KAAa,EAAE,kBAA0B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;IACnH,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;QAC3B,OAAO,EAAE,CAAC;IAEd,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAClC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAC/C,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;gBACxE,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;gBAEnE,IAAI,oBAAoB,KAAK,GAAG,IAAI,kBAAkB,KAAK,EAAE,IAAI,kBAAkB,KAAK,GAAG,EAAE,CAAC;oBAC1F,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC;oBAC9E,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,GAAG,eAAe,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC7D,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,eAAe,IAAI,IAAI,GAAG,YAAY;4BACzD,YAAY,IAAI,IAAI,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5H,SAAS,IAAI,YAAY,CAAC;QAC9B,CAAC;QAED,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getIsInDocumentationMode } from "../../state.js";
|
|
2
|
+
import { documentationPageUrls } from "../../config.js";
|
|
3
|
+
export function withCliCommandDescriptionDocsUrl(description, docsUrl) {
|
|
4
|
+
const isInDocumentationMode = getIsInDocumentationMode();
|
|
5
|
+
if (isInDocumentationMode)
|
|
6
|
+
return description;
|
|
7
|
+
return [
|
|
8
|
+
description,
|
|
9
|
+
docsUrl
|
|
10
|
+
].join("\n").trim();
|
|
11
|
+
}
|
|
12
|
+
export function withoutCliCommandDescriptionDocsUrl(description) {
|
|
13
|
+
if (typeof description !== "string")
|
|
14
|
+
return description;
|
|
15
|
+
const lines = description.split("\n");
|
|
16
|
+
if (lines.length > 0 && lines[lines.length - 1].startsWith(documentationPageUrls.CLI.index))
|
|
17
|
+
return lines
|
|
18
|
+
.slice(0, -1)
|
|
19
|
+
.join("\n")
|
|
20
|
+
.trim();
|
|
21
|
+
return description;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=withCliCommandDescriptionDocsUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withCliCommandDescriptionDocsUrl.js","sourceRoot":"","sources":["../../../src/cli/utils/withCliCommandDescriptionDocsUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAEtD,MAAM,UAAU,gCAAgC,CAAC,WAAmB,EAAE,OAAe;IACjF,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;IAEzD,IAAI,qBAAqB;QACrB,OAAO,WAAW,CAAC;IAEvB,OAAO;QACH,WAAW;QACX,OAAO;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,WAA6B;IAC7E,IAAI,OAAO,WAAW,KAAK,QAAQ;QAC/B,OAAO,WAAW,CAAC;IAEvB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;QACxF,OAAO,KAAK;aACP,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;IAEhB,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BuildLlamaCppCommand } from "./cli/commands/BuildCommand.js";
|
|
2
|
-
import { DownloadLlamaCppCommand } from "./cli/commands/DownloadCommand.js";
|
|
3
|
-
import { ClearLlamaCppBuildCommand } from "./cli/commands/ClearCommand.js";
|
|
1
|
+
import { BuildLlamaCppCommand } from "./cli/commands/source/commands/BuildCommand.js";
|
|
2
|
+
import { DownloadLlamaCppCommand } from "./cli/commands/source/commands/DownloadCommand.js";
|
|
3
|
+
import { ClearLlamaCppBuildCommand } from "./cli/commands/source/commands/ClearCommand.js";
|
|
4
|
+
import { _startCreateCli } from "./cli/startCreateCli.js";
|
|
4
5
|
import { getBuildDefaults } from "./utils/getBuildDefaults.js";
|
|
5
6
|
export { BuildLlamaCppCommand, DownloadLlamaCppCommand, ClearLlamaCppBuildCommand, getBuildDefaults };
|
package/dist/commands.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { BuildLlamaCppCommand } from "./cli/commands/BuildCommand.js";
|
|
2
|
-
import { DownloadLlamaCppCommand } from "./cli/commands/DownloadCommand.js";
|
|
3
|
-
import { ClearLlamaCppBuildCommand } from "./cli/commands/ClearCommand.js";
|
|
1
|
+
import { BuildLlamaCppCommand } from "./cli/commands/source/commands/BuildCommand.js";
|
|
2
|
+
import { DownloadLlamaCppCommand } from "./cli/commands/source/commands/DownloadCommand.js";
|
|
3
|
+
import { ClearLlamaCppBuildCommand } from "./cli/commands/source/commands/ClearCommand.js";
|
|
4
|
+
import { _startCreateCli } from "./cli/startCreateCli.js";
|
|
4
5
|
import { getBuildDefaults } from "./utils/getBuildDefaults.js";
|
|
5
6
|
export { BuildLlamaCppCommand, DownloadLlamaCppCommand, ClearLlamaCppBuildCommand, getBuildDefaults };
|
|
7
|
+
/** @internal */
|
|
8
|
+
export { _startCreateCli };
|
|
6
9
|
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAC,yBAAyB,EAAC,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,gBAAgB,EAAC,CAAC;AAEpG,gBAAgB;AAChB,OAAO,EAAC,eAAe,EAAC,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -4,10 +4,14 @@ export declare const llamaToolchainsDirectory: string;
|
|
|
4
4
|
export declare const llamaPrebuiltBinsDirectory: string;
|
|
5
5
|
export declare const llamaLocalBuildBinsDirectory: string;
|
|
6
6
|
export declare const llamaBinsGrammarsDirectory: string;
|
|
7
|
+
export declare const projectTemplatesDirectory: string;
|
|
8
|
+
export declare const packedProjectTemplatesDirectory: string;
|
|
7
9
|
export declare const llamaCppDirectory: string;
|
|
8
10
|
export declare const llamaCppGrammarsDirectory: string;
|
|
9
11
|
export declare const tempDownloadDirectory: string;
|
|
12
|
+
export declare const cliHomedirDirectory: string;
|
|
10
13
|
export declare const chatCommandHistoryFilePath: string;
|
|
14
|
+
export declare const cliModelsDirectory: string;
|
|
11
15
|
export declare const lastBuildInfoJsonPath: string;
|
|
12
16
|
export declare const binariesGithubReleasePath: string;
|
|
13
17
|
export declare const llamaCppDirectoryInfoFilePath: string;
|
|
@@ -15,16 +19,18 @@ export declare const currentReleaseGitBundlePath: string;
|
|
|
15
19
|
export declare const xpackDirectory: string;
|
|
16
20
|
export declare const localXpacksStoreDirectory: string;
|
|
17
21
|
export declare const localXpacksCacheDirectory: string;
|
|
18
|
-
export declare const buildMetadataFileName = ".
|
|
22
|
+
export declare const buildMetadataFileName = "_nlcBuildMetadata.json";
|
|
19
23
|
export declare const xpmVersion = "^0.16.3";
|
|
20
24
|
export declare const builtinLlamaCppGitHubRepo = "ggerganov/llama.cpp";
|
|
21
25
|
export declare const builtinLlamaCppRelease: string;
|
|
22
26
|
export declare const isCI: boolean;
|
|
27
|
+
export declare const isRunningInsideGoogleColab: boolean;
|
|
28
|
+
export declare const useCiLogs: boolean;
|
|
23
29
|
export declare const defaultLlamaCppGitHubRepo: string;
|
|
24
30
|
export declare const defaultLlamaCppRelease: string;
|
|
25
|
-
export declare const
|
|
26
|
-
export declare const
|
|
27
|
-
export declare const
|
|
31
|
+
export declare const defaultLlamaCppGpuSupport: false | "cuda" | "vulkan" | "metal" | "auto";
|
|
32
|
+
export declare const defaultLlamaCppLogLevel: LlamaLogLevel;
|
|
33
|
+
export declare const defaultLlamaCppDebugMode: boolean;
|
|
28
34
|
export declare const defaultSkipDownload: boolean;
|
|
29
35
|
export declare const defaultXpacksStoreDirectory: string;
|
|
30
36
|
export declare const defaultXpacksCacheDirectory: string;
|
|
@@ -32,6 +38,31 @@ export declare const customCmakeOptionsEnvVarPrefix = "NODE_LLAMA_CPP_CMAKE_OPTI
|
|
|
32
38
|
export declare const defaultChatSystemPrompt: string;
|
|
33
39
|
export declare const cliBinName = "node-llama-cpp";
|
|
34
40
|
export declare const npxRunPrefix = "npx --no ";
|
|
41
|
+
export declare const enableRecursiveClone = false;
|
|
35
42
|
export declare const documentationPageUrls: {
|
|
36
43
|
readonly CUDA: string;
|
|
44
|
+
readonly Vulkan: string;
|
|
45
|
+
readonly CLI: {
|
|
46
|
+
readonly index: string;
|
|
47
|
+
readonly Pull: string;
|
|
48
|
+
readonly Chat: string;
|
|
49
|
+
readonly Init: string;
|
|
50
|
+
readonly Complete: string;
|
|
51
|
+
readonly Infill: string;
|
|
52
|
+
readonly Inspect: {
|
|
53
|
+
readonly index: string;
|
|
54
|
+
readonly GPU: string;
|
|
55
|
+
readonly GGUF: string;
|
|
56
|
+
readonly Measure: string;
|
|
57
|
+
readonly Estimate: string;
|
|
58
|
+
};
|
|
59
|
+
readonly Source: {
|
|
60
|
+
readonly index: string;
|
|
61
|
+
readonly Download: string;
|
|
62
|
+
readonly Build: string;
|
|
63
|
+
readonly Clear: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
37
66
|
};
|
|
67
|
+
export declare const recommendedBaseDockerImage = "node:20";
|
|
68
|
+
export declare const minAllowedContextSizeInCalculations = 24;
|
package/dist/config.js
CHANGED
|
@@ -3,20 +3,24 @@ import * as path from "path";
|
|
|
3
3
|
import * as os from "os";
|
|
4
4
|
import process from "process";
|
|
5
5
|
import envVar from "env-var";
|
|
6
|
-
import
|
|
6
|
+
import { nanoid } from "nanoid";
|
|
7
7
|
import { getBinariesGithubRelease } from "./bindings/utils/binariesGithubRelease.js";
|
|
8
|
-
import { LlamaLogLevel, LlamaLogLevelValues } from "./bindings/types.js";
|
|
8
|
+
import { nodeLlamaCppGpuOptions, LlamaLogLevel, LlamaLogLevelValues, parseNodeLlamaCppGpuOption, nodeLlamaCppGpuOffStringOptions } from "./bindings/types.js";
|
|
9
9
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
10
|
const env = envVar.from(process.env);
|
|
11
11
|
export const llamaDirectory = path.join(__dirname, "..", "llama");
|
|
12
12
|
export const llamaToolchainsDirectory = path.join(llamaDirectory, "toolchains");
|
|
13
|
-
export const llamaPrebuiltBinsDirectory = path.join(__dirname, "..", "
|
|
13
|
+
export const llamaPrebuiltBinsDirectory = path.join(__dirname, "..", "bins");
|
|
14
14
|
export const llamaLocalBuildBinsDirectory = path.join(llamaDirectory, "localBuilds");
|
|
15
15
|
export const llamaBinsGrammarsDirectory = path.join(__dirname, "..", "llama", "grammars");
|
|
16
|
+
export const projectTemplatesDirectory = path.join(__dirname, "..", "templates");
|
|
17
|
+
export const packedProjectTemplatesDirectory = path.join(projectTemplatesDirectory, "packed");
|
|
16
18
|
export const llamaCppDirectory = path.join(llamaDirectory, "llama.cpp");
|
|
17
19
|
export const llamaCppGrammarsDirectory = path.join(llamaDirectory, "llama.cpp", "grammars");
|
|
18
|
-
export const tempDownloadDirectory = path.join(os.tmpdir(), "node-llama-cpp",
|
|
19
|
-
export const
|
|
20
|
+
export const tempDownloadDirectory = path.join(os.tmpdir(), "node-llama-cpp", nanoid());
|
|
21
|
+
export const cliHomedirDirectory = path.join(os.homedir(), ".node-llama-cpp");
|
|
22
|
+
export const chatCommandHistoryFilePath = path.join(cliHomedirDirectory, ".chat_repl_history");
|
|
23
|
+
export const cliModelsDirectory = path.join(cliHomedirDirectory, "models");
|
|
20
24
|
export const lastBuildInfoJsonPath = path.join(llamaDirectory, "lastBuild.json");
|
|
21
25
|
export const binariesGithubReleasePath = path.join(llamaDirectory, "binariesGithubRelease.json");
|
|
22
26
|
export const llamaCppDirectoryInfoFilePath = path.join(llamaDirectory, "llama.cpp.info.json");
|
|
@@ -24,28 +28,35 @@ export const currentReleaseGitBundlePath = path.join(llamaDirectory, "gitRelease
|
|
|
24
28
|
export const xpackDirectory = path.join(llamaDirectory, "xpack");
|
|
25
29
|
export const localXpacksStoreDirectory = path.join(xpackDirectory, "store");
|
|
26
30
|
export const localXpacksCacheDirectory = path.join(xpackDirectory, "cache");
|
|
27
|
-
export const buildMetadataFileName = ".
|
|
31
|
+
export const buildMetadataFileName = "_nlcBuildMetadata.json";
|
|
28
32
|
export const xpmVersion = "^0.16.3";
|
|
29
33
|
export const builtinLlamaCppGitHubRepo = "ggerganov/llama.cpp";
|
|
30
34
|
export const builtinLlamaCppRelease = await getBinariesGithubRelease();
|
|
31
35
|
export const isCI = env.get("CI")
|
|
32
36
|
.default("false")
|
|
33
37
|
.asBool();
|
|
38
|
+
export const isRunningInsideGoogleColab = env.get("COLAB_RELEASE_TAG")
|
|
39
|
+
.default("")
|
|
40
|
+
.asString() !== "";
|
|
41
|
+
export const useCiLogs = isCI || isRunningInsideGoogleColab;
|
|
34
42
|
export const defaultLlamaCppGitHubRepo = env.get("NODE_LLAMA_CPP_REPO")
|
|
35
43
|
.default(builtinLlamaCppGitHubRepo)
|
|
36
44
|
.asString();
|
|
37
45
|
export const defaultLlamaCppRelease = env.get("NODE_LLAMA_CPP_REPO_RELEASE")
|
|
38
46
|
.default(builtinLlamaCppRelease)
|
|
39
47
|
.asString();
|
|
40
|
-
export const
|
|
41
|
-
.default(
|
|
42
|
-
.
|
|
43
|
-
|
|
48
|
+
export const defaultLlamaCppGpuSupport = parseNodeLlamaCppGpuOption(env.get("NODE_LLAMA_CPP_GPU")
|
|
49
|
+
.default("auto")
|
|
50
|
+
.asEnum(nodeLlamaCppGpuOptions
|
|
51
|
+
.flatMap((option) => (option === false
|
|
52
|
+
? nodeLlamaCppGpuOffStringOptions
|
|
53
|
+
: [option]))));
|
|
54
|
+
export const defaultLlamaCppLogLevel = env.get("NODE_LLAMA_CPP_LOG_LEVEL")
|
|
55
|
+
.default(LlamaLogLevel.warn)
|
|
56
|
+
.asEnum(LlamaLogLevelValues);
|
|
57
|
+
export const defaultLlamaCppDebugMode = env.get("NODE_LLAMA_CPP_DEBUG")
|
|
44
58
|
.default("false")
|
|
45
59
|
.asBool();
|
|
46
|
-
export const defaultLlamaCppDebugLogs = env.get("NODE_LLAMA_CPP_LOG_LEVEL")
|
|
47
|
-
.default(LlamaLogLevel.debug)
|
|
48
|
-
.asEnum(LlamaLogLevelValues);
|
|
49
60
|
export const defaultSkipDownload = env.get("NODE_LLAMA_CPP_SKIP_DOWNLOAD")
|
|
50
61
|
.default("false")
|
|
51
62
|
.asBool();
|
|
@@ -57,12 +68,42 @@ export const defaultXpacksCacheDirectory = env.get("NODE_LLAMA_CPP_XPACKS_CACHE_
|
|
|
57
68
|
.asString();
|
|
58
69
|
export const customCmakeOptionsEnvVarPrefix = "NODE_LLAMA_CPP_CMAKE_OPTION_";
|
|
59
70
|
export const defaultChatSystemPrompt = "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible.\n" +
|
|
60
|
-
"If a question does not make any sense, or is not factually coherent, explain why instead of answering something
|
|
61
|
-
"If you don't know the answer to a question,
|
|
71
|
+
"If a question does not make any sense, or is not factually coherent, explain why instead of answering something incorrectly. " +
|
|
72
|
+
"If you don't know the answer to a question, don't share false information.";
|
|
62
73
|
export const cliBinName = "node-llama-cpp";
|
|
63
74
|
export const npxRunPrefix = "npx --no ";
|
|
64
|
-
|
|
75
|
+
// No need for that at the moment.
|
|
76
|
+
// Disabled due to a recursive clone of the llama.cpp repo taking up a lot of space (in the embedded bundle)
|
|
77
|
+
// and due to making the clone significantly slower.
|
|
78
|
+
// The submodules of the repo are not being used for the compilation for the supported backends, so there's no need to clone them.
|
|
79
|
+
export const enableRecursiveClone = false;
|
|
80
|
+
const documentationUrl = "https://node-llama-cpp.withcat.ai";
|
|
81
|
+
const documentationCliUrl = documentationUrl + "/cli";
|
|
65
82
|
export const documentationPageUrls = {
|
|
66
|
-
CUDA: documentationUrl + "/guide/CUDA"
|
|
83
|
+
CUDA: documentationUrl + "/guide/CUDA",
|
|
84
|
+
Vulkan: documentationUrl + "/guide/vulkan",
|
|
85
|
+
CLI: {
|
|
86
|
+
index: documentationCliUrl,
|
|
87
|
+
Pull: documentationCliUrl + "/pull",
|
|
88
|
+
Chat: documentationCliUrl + "/chat",
|
|
89
|
+
Init: documentationCliUrl + "/init",
|
|
90
|
+
Complete: documentationCliUrl + "/complete",
|
|
91
|
+
Infill: documentationCliUrl + "/infill",
|
|
92
|
+
Inspect: {
|
|
93
|
+
index: documentationCliUrl + "/inspect",
|
|
94
|
+
GPU: documentationCliUrl + "/inspect/gpu",
|
|
95
|
+
GGUF: documentationCliUrl + "/inspect/gguf",
|
|
96
|
+
Measure: documentationCliUrl + "/inspect/measure",
|
|
97
|
+
Estimate: documentationCliUrl + "/inspect/estimate"
|
|
98
|
+
},
|
|
99
|
+
Source: {
|
|
100
|
+
index: documentationCliUrl + "/source",
|
|
101
|
+
Download: documentationCliUrl + "/source/download",
|
|
102
|
+
Build: documentationCliUrl + "/source/build",
|
|
103
|
+
Clear: documentationCliUrl + "/source/clear"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
67
106
|
};
|
|
107
|
+
export const recommendedBaseDockerImage = "node:20";
|
|
108
|
+
export const minAllowedContextSizeInCalculations = 24;
|
|
68
109
|
//# sourceMappingURL=config.js.map
|