node-llama-cpp 3.0.0-beta.11 → 3.0.0-beta.13
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 +4 -4
- package/dist/ChatWrapper.d.ts +1 -0
- package/dist/ChatWrapper.js +2 -1
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/TemplateChatWrapper.d.ts +67 -0
- package/dist/TemplateChatWrapper.js +239 -0
- package/dist/TemplateChatWrapper.js.map +1 -0
- package/dist/bindings/AddonTypes.d.ts +2 -0
- package/dist/bindings/Llama.d.ts +1 -2
- package/dist/bindings/Llama.js +10 -14
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/consts.d.ts +2 -0
- package/dist/bindings/consts.js +11 -0
- package/dist/bindings/consts.js.map +1 -0
- package/dist/bindings/getLlama.d.ts +14 -12
- package/dist/bindings/getLlama.js +210 -75
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +8 -4
- package/dist/bindings/types.js +18 -0
- package/dist/bindings/types.js.map +1 -1
- 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/cloneLlamaCppRepo.js +13 -3
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.js +31 -3
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +11 -0
- package/dist/bindings/utils/detectAvailableComputeLayers.js +158 -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 +36 -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 +12 -4
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +11 -0
- package/dist/bindings/utils/getGpuTypesToUseForOption.js +30 -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/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/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/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 +13 -0
- package/dist/bindings/utils/logDistroInstallInstruction.js +38 -0
- package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -0
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +9 -2
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +10 -4
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +1 -1
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
- package/dist/bindings/utils/testBindingBinary.d.ts +1 -0
- package/dist/bindings/utils/testBindingBinary.js +98 -0
- package/dist/bindings/utils/testBindingBinary.js.map +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js +1 -1
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.d.ts +18 -0
- package/dist/chatWrappers/GemmaChatWrapper.js +86 -0
- package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +3 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
- package/dist/cli/cli.js +2 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/BuildCommand.d.ts +5 -4
- package/dist/cli/commands/BuildCommand.js +78 -58
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.js +12 -15
- package/dist/cli/commands/DebugCommand.js.map +1 -1
- package/dist/cli/commands/DownloadCommand.d.ts +5 -4
- package/dist/cli/commands/DownloadCommand.js +97 -54
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/InspectCommand.d.ts +7 -0
- package/dist/cli/commands/InspectCommand.js +113 -0
- package/dist/cli/commands/InspectCommand.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/config.d.ts +3 -2
- package/dist/config.js +12 -10
- package/dist/config.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +3 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +3 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
- package/dist/gguf/GGUFInsights.d.ts +28 -0
- package/dist/gguf/GGUFInsights.js +58 -0
- package/dist/gguf/GGUFInsights.js.map +1 -0
- package/dist/gguf/GGUFMetadata.d.ts +19 -0
- package/dist/gguf/GGUFMetadata.js +38 -0
- package/dist/gguf/GGUFMetadata.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/MetadataNotParsedYetError.d.ts +3 -0
- package/dist/gguf/errors/MetadataNotParsedYetError.js +6 -0
- package/dist/gguf/errors/MetadataNotParsedYetError.js.map +1 -0
- package/dist/gguf/errors/MissingNodeLlamaError.d.ts +3 -0
- package/dist/gguf/errors/MissingNodeLlamaError.js +6 -0
- package/dist/gguf/errors/MissingNodeLlamaError.js.map +1 -0
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +5 -0
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +12 -0
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +1 -0
- package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +4 -0
- package/dist/gguf/errors/UnsupportedMetadataTypeError.js +8 -0
- package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +1 -0
- package/dist/gguf/ggufParser/GGUFParser.d.ts +18 -0
- package/dist/gguf/ggufParser/GGUFParser.js +123 -0
- package/dist/gguf/ggufParser/GGUFParser.js.map +1 -0
- package/dist/gguf/ggufParser/GGUFTypes.d.ts +257 -0
- package/dist/gguf/ggufParser/GGUFTypes.js +2 -0
- package/dist/gguf/ggufParser/GGUFTypes.js.map +1 -0
- package/dist/gguf/ggufParser/checkArchitecture.d.ts +14 -0
- package/dist/gguf/ggufParser/checkArchitecture.js +74 -0
- package/dist/gguf/ggufParser/checkArchitecture.js.map +1 -0
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +38 -0
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +83 -0
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +1 -0
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +14 -0
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +35 -0
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +1 -0
- package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +15 -0
- package/dist/gguf/ggufParser/stream/GGUFReadStream.js +40 -0
- package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/LlamaText.js +2 -2
- package/dist/utils/LlamaText.js.map +1 -1
- package/dist/utils/cmake.js +23 -10
- package/dist/utils/cmake.js.map +1 -1
- 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.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfString.d.ts +1 -1
- 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 +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfWhitespace.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 +2 -2
- package/dist/utils/getConsoleLogPrefix.js.map +1 -1
- package/dist/utils/mergeUnionTypes.d.ts +6 -0
- package/dist/utils/mergeUnionTypes.js +2 -0
- package/dist/utils/mergeUnionTypes.js.map +1 -0
- package/dist/utils/parseTextTemplate.d.ts +66 -0
- package/dist/utils/parseTextTemplate.js +116 -0
- package/dist/utils/parseTextTemplate.js.map +1 -0
- package/llama/CMakeLists.txt +30 -4
- package/llama/addon.cpp +62 -7
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/cuda-gpu-info.cu +5 -5
- package/llama/gpuInfo/cuda-gpu-info.h +2 -2
- package/llama/gpuInfo/vulkan-gpu-info.cpp +65 -0
- package/llama/gpuInfo/vulkan-gpu-info.h +7 -0
- package/llama/llama.cpp.info.json +1 -1
- package/llamaBins/linux-arm64/.buildMetadata.json +1 -1
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/.buildMetadata.json +1 -1
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/.buildMetadata.json +1 -1
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -1
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/linux-x64-vulkan/.buildMetadata.json +1 -0
- package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -1
- package/llamaBins/mac-arm64-metal/ggml-metal.metal +1382 -142
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/.buildMetadata.json +1 -1
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/.buildMetadata.json +1 -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 +1 -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/llamaBins/win-x64-vulkan/.buildMetadata.json +1 -0
- package/llamaBins/win-x64-vulkan/llama-addon.exp +0 -0
- package/llamaBins/win-x64-vulkan/llama-addon.lib +0 -0
- package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
- package/package.json +7 -4
|
@@ -2,7 +2,7 @@ import process from "process";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import console from "console";
|
|
4
4
|
import { createRequire } from "module";
|
|
5
|
-
import { builtinLlamaCppGitHubRepo, builtinLlamaCppRelease,
|
|
5
|
+
import { builtinLlamaCppGitHubRepo, builtinLlamaCppRelease, defaultLlamaCppDebugLogs, defaultLlamaCppGitHubRepo, defaultLlamaCppGpuSupport, defaultLlamaCppRelease, defaultSkipDownload, llamaLocalBuildBinsDirectory, recommendedBaseDockerImage } from "../config.js";
|
|
6
6
|
import { getConsoleLogPrefix } from "../utils/getConsoleLogPrefix.js";
|
|
7
7
|
import { waitForLockfileRelease } from "../utils/waitForLockfileRelease.js";
|
|
8
8
|
import { isGithubReleaseNeedsResolving, resolveGithubRelease } from "../utils/resolveGithubRelease.js";
|
|
@@ -15,6 +15,12 @@ import { resolveCustomCmakeOptions } from "./utils/resolveCustomCmakeOptions.js"
|
|
|
15
15
|
import { getCanUsePrebuiltBinaries } from "./utils/getCanUsePrebuiltBinaries.js";
|
|
16
16
|
import { NoBinaryFoundError } from "./utils/NoBinaryFoundError.js";
|
|
17
17
|
import { Llama } from "./Llama.js";
|
|
18
|
+
import { getGpuTypesToUseForOption } from "./utils/getGpuTypesToUseForOption.js";
|
|
19
|
+
import { getPrettyBuildGpuName } from "./consts.js";
|
|
20
|
+
import { detectGlibc } from "./utils/detectGlibc.js";
|
|
21
|
+
import { getLinuxDistroInfo, isDistroAlpineLinux } from "./utils/getLinuxDistroInfo.js";
|
|
22
|
+
import { testBindingBinary } from "./utils/testBindingBinary.js";
|
|
23
|
+
import { getPlatformInfo } from "./utils/getPlatformInfo.js";
|
|
18
24
|
const require = createRequire(import.meta.url);
|
|
19
25
|
export const getLlamaFunctionName = "getLlama";
|
|
20
26
|
export async function getLlama(options, lastBuildOptions) {
|
|
@@ -53,13 +59,9 @@ export async function getLlama(options, lastBuildOptions) {
|
|
|
53
59
|
}
|
|
54
60
|
return getLlamaForOptions(options ?? {});
|
|
55
61
|
}
|
|
56
|
-
export async function getLlamaForOptions({
|
|
62
|
+
export async function getLlamaForOptions({ gpu = defaultLlamaCppGpuSupport, logLevel = defaultLlamaCppDebugLogs, logger = Llama.defaultConsoleLogger, build = "auto", cmakeOptions = {}, existingPrebuiltBinaryMustMatchBuildOptions = false, usePrebuiltBinaries = true, progressLogs = true, skipDownload = defaultSkipDownload }, { updateLastBuildInfoOnCompile = false, skipLlamaInit = false } = {}) {
|
|
57
63
|
const platform = getPlatform();
|
|
58
64
|
const arch = process.arch;
|
|
59
|
-
if (platform !== "mac")
|
|
60
|
-
metal = false;
|
|
61
|
-
else if (platform === "mac" && arch === "arm64")
|
|
62
|
-
cuda = false;
|
|
63
65
|
if (logLevel == null)
|
|
64
66
|
logLevel = defaultLlamaCppDebugLogs;
|
|
65
67
|
if (logger == null)
|
|
@@ -77,94 +79,203 @@ export async function getLlamaForOptions({ metal = defaultLlamaCppMetalSupport,
|
|
|
77
79
|
if (skipDownload == null)
|
|
78
80
|
skipDownload = defaultSkipDownload;
|
|
79
81
|
const clonedLlamaCppRepoReleaseInfo = await getClonedLlamaCppRepoReleaseInfo();
|
|
80
|
-
|
|
81
|
-
customCmakeOptions: resolveCustomCmakeOptions(cmakeOptions),
|
|
82
|
-
progressLogs,
|
|
83
|
-
platform,
|
|
84
|
-
arch,
|
|
85
|
-
computeLayers: {
|
|
86
|
-
metal,
|
|
87
|
-
cuda
|
|
88
|
-
},
|
|
89
|
-
llamaCpp: {
|
|
90
|
-
repo: clonedLlamaCppRepoReleaseInfo?.llamaCppGithubRepo ?? builtinLlamaCppGitHubRepo,
|
|
91
|
-
release: clonedLlamaCppRepoReleaseInfo?.tag ?? builtinLlamaCppRelease
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
const canUsePrebuiltBinaries = (build === "forceRebuild" || !usePrebuiltBinaries)
|
|
82
|
+
let canUsePrebuiltBinaries = (build === "forceRebuild" || !usePrebuiltBinaries)
|
|
95
83
|
? false
|
|
96
84
|
: await getCanUsePrebuiltBinaries();
|
|
97
|
-
|
|
85
|
+
const buildGpusToTry = await getGpuTypesToUseForOption(gpu, { platform, arch });
|
|
86
|
+
const platformInfo = await getPlatformInfo();
|
|
87
|
+
const llamaCppInfo = {
|
|
88
|
+
repo: clonedLlamaCppRepoReleaseInfo?.llamaCppGithubRepo ?? builtinLlamaCppGitHubRepo,
|
|
89
|
+
release: clonedLlamaCppRepoReleaseInfo?.tag ?? builtinLlamaCppRelease
|
|
90
|
+
};
|
|
91
|
+
let shouldLogNoGlibcWarningIfNoBuildIsAvailable = false;
|
|
92
|
+
if (canUsePrebuiltBinaries && platform === "linux") {
|
|
93
|
+
if (!(await detectGlibc({ platform }))) {
|
|
94
|
+
canUsePrebuiltBinaries = false;
|
|
95
|
+
shouldLogNoGlibcWarningIfNoBuildIsAvailable = true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
98
|
if (build === "auto" || build === "never") {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
for (let i = 0; i < buildGpusToTry.length; i++) {
|
|
100
|
+
const gpu = buildGpusToTry[i];
|
|
101
|
+
const isLastItem = i === buildGpusToTry.length - 1;
|
|
102
|
+
const buildOptions = {
|
|
103
|
+
customCmakeOptions: resolveCustomCmakeOptions(cmakeOptions),
|
|
104
|
+
progressLogs,
|
|
105
|
+
platform,
|
|
106
|
+
platformInfo,
|
|
107
|
+
arch,
|
|
108
|
+
gpu,
|
|
109
|
+
llamaCpp: llamaCppInfo
|
|
110
|
+
};
|
|
111
|
+
const llama = await loadExistingLlamaBinary({
|
|
112
|
+
buildOptions,
|
|
113
|
+
canUsePrebuiltBinaries,
|
|
114
|
+
logLevel,
|
|
115
|
+
logger,
|
|
116
|
+
existingPrebuiltBinaryMustMatchBuildOptions,
|
|
117
|
+
progressLogs,
|
|
118
|
+
platform,
|
|
119
|
+
platformInfo,
|
|
120
|
+
skipLlamaInit,
|
|
121
|
+
fallbackMessage: !isLastItem
|
|
122
|
+
? `falling back to using ${getPrettyBuildGpuName(buildGpusToTry[i + 1])}`
|
|
123
|
+
: (build !== "never"
|
|
124
|
+
? "falling back to building from source"
|
|
125
|
+
: null)
|
|
126
|
+
});
|
|
127
|
+
if (llama != null)
|
|
128
|
+
return llama;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (shouldLogNoGlibcWarningIfNoBuildIsAvailable && progressLogs)
|
|
132
|
+
await logNoGlibcWarning();
|
|
133
|
+
if (build === "never")
|
|
134
|
+
throw new NoBinaryFoundError();
|
|
135
|
+
const llamaCppRepoCloned = await isLlamaCppRepoCloned();
|
|
136
|
+
if (!llamaCppRepoCloned) {
|
|
137
|
+
if (skipDownload)
|
|
138
|
+
throw new NoBinaryFoundError("No prebuilt binaries found, no llama.cpp source found and `skipDownload` or NODE_LLAMA_CPP_SKIP_DOWNLOAD env var is set to true, so llama.cpp cannot be built from source");
|
|
139
|
+
llamaCppInfo.repo = defaultLlamaCppGitHubRepo;
|
|
140
|
+
llamaCppInfo.release = defaultLlamaCppRelease;
|
|
141
|
+
if (isGithubReleaseNeedsResolving(llamaCppInfo.release)) {
|
|
142
|
+
const [owner, name] = defaultLlamaCppGitHubRepo.split("/");
|
|
143
|
+
llamaCppInfo.release = await resolveGithubRelease(owner, name, llamaCppInfo.release);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
for (let i = 0; i < buildGpusToTry.length; i++) {
|
|
147
|
+
const gpu = buildGpusToTry[i];
|
|
148
|
+
const isLastItem = i === buildGpusToTry.length - 1;
|
|
149
|
+
const buildOptions = {
|
|
150
|
+
customCmakeOptions: resolveCustomCmakeOptions(cmakeOptions),
|
|
151
|
+
progressLogs,
|
|
152
|
+
platform,
|
|
153
|
+
platformInfo,
|
|
154
|
+
arch,
|
|
155
|
+
gpu,
|
|
156
|
+
llamaCpp: llamaCppInfo
|
|
157
|
+
};
|
|
158
|
+
try {
|
|
159
|
+
return await buildAndLoadLlamaBinary({
|
|
160
|
+
buildOptions,
|
|
161
|
+
skipDownload,
|
|
162
|
+
logLevel,
|
|
163
|
+
logger,
|
|
164
|
+
updateLastBuildInfoOnCompile,
|
|
165
|
+
skipLlamaInit
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
console.error(getConsoleLogPrefix() +
|
|
170
|
+
`Failed to build llama.cpp with ${getPrettyBuildGpuName(gpu)} support. ` +
|
|
171
|
+
(!isLastItem
|
|
172
|
+
? `falling back to building llama.cpp with ${getPrettyBuildGpuName(buildGpusToTry[i + 1])} support. `
|
|
173
|
+
: "") +
|
|
174
|
+
"Error:", err);
|
|
175
|
+
if (isLastItem)
|
|
176
|
+
throw err;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
throw new Error("Failed to build llama.cpp");
|
|
180
|
+
}
|
|
181
|
+
async function loadExistingLlamaBinary({ buildOptions, canUsePrebuiltBinaries, logLevel, logger, existingPrebuiltBinaryMustMatchBuildOptions, progressLogs, platform, platformInfo, skipLlamaInit, fallbackMessage }) {
|
|
182
|
+
const buildFolderName = await getBuildFolderNameForBuildOptions(buildOptions);
|
|
183
|
+
const localBuildFolder = path.join(llamaLocalBuildBinsDirectory, buildFolderName.withCustomCmakeOptions);
|
|
184
|
+
const localBuildBinPath = await getLocalBuildBinaryPath(buildFolderName.withCustomCmakeOptions);
|
|
185
|
+
await waitForLockfileRelease({ resourcePath: localBuildFolder });
|
|
186
|
+
if (localBuildBinPath != null) {
|
|
187
|
+
try {
|
|
188
|
+
const buildMetadata = await getLocalBuildBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
189
|
+
const shouldTestBinaryBeforeLoading = getShouldTestBinaryBeforeLoading({
|
|
190
|
+
isPrebuiltBinary: false,
|
|
191
|
+
platform,
|
|
192
|
+
platformInfo,
|
|
193
|
+
buildMetadata
|
|
194
|
+
});
|
|
195
|
+
const binaryCompatible = shouldTestBinaryBeforeLoading
|
|
196
|
+
? await testBindingBinary(localBuildBinPath)
|
|
197
|
+
: true;
|
|
198
|
+
if (binaryCompatible) {
|
|
104
199
|
const binding = loadBindingModule(localBuildBinPath);
|
|
105
|
-
const buildMetadata = await getLocalBuildBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
106
200
|
return await Llama._create({
|
|
107
201
|
bindings: binding,
|
|
108
202
|
buildType: "localBuild",
|
|
109
203
|
buildMetadata,
|
|
110
204
|
logLevel,
|
|
111
|
-
logger
|
|
205
|
+
logger,
|
|
206
|
+
skipLlamaInit
|
|
112
207
|
});
|
|
113
208
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
209
|
+
else if (progressLogs) {
|
|
210
|
+
console.warn(getConsoleLogPrefix() + "The local build binary was not built in the current system and is incompatible with it");
|
|
211
|
+
if (canUsePrebuiltBinaries)
|
|
212
|
+
console.info(getConsoleLogPrefix() + "Falling back to prebuilt binaries");
|
|
213
|
+
else if (fallbackMessage != null)
|
|
214
|
+
console.info(getConsoleLogPrefix() + fallbackMessage);
|
|
118
215
|
}
|
|
119
216
|
}
|
|
120
|
-
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
217
|
+
catch (err) {
|
|
218
|
+
const binaryDescription = describeBinary(buildOptions);
|
|
219
|
+
console.error(getConsoleLogPrefix() + `Failed to load a local build ${binaryDescription}. Error:`, err);
|
|
220
|
+
if (canUsePrebuiltBinaries)
|
|
221
|
+
console.info(getConsoleLogPrefix() + "Falling back to prebuilt binaries");
|
|
222
|
+
else if (fallbackMessage != null)
|
|
223
|
+
console.info(getConsoleLogPrefix() + fallbackMessage);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (canUsePrebuiltBinaries) {
|
|
227
|
+
const prebuiltBinPath = await getPrebuiltBinaryPath(existingPrebuiltBinaryMustMatchBuildOptions
|
|
228
|
+
? buildFolderName.withCustomCmakeOptions
|
|
229
|
+
: buildFolderName.withoutCustomCmakeOptions);
|
|
230
|
+
if (prebuiltBinPath != null) {
|
|
231
|
+
try {
|
|
232
|
+
const buildMetadata = await getPrebuiltBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
233
|
+
const shouldTestBinaryBeforeLoading = getShouldTestBinaryBeforeLoading({
|
|
234
|
+
isPrebuiltBinary: true,
|
|
235
|
+
platform,
|
|
236
|
+
platformInfo,
|
|
237
|
+
buildMetadata
|
|
238
|
+
});
|
|
239
|
+
const binaryCompatible = shouldTestBinaryBeforeLoading
|
|
240
|
+
? await testBindingBinary(prebuiltBinPath)
|
|
241
|
+
: true;
|
|
242
|
+
if (binaryCompatible) {
|
|
126
243
|
const binding = loadBindingModule(prebuiltBinPath);
|
|
127
|
-
const buildMetadata = await getPrebuiltBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
128
244
|
return await Llama._create({
|
|
129
245
|
bindings: binding,
|
|
130
246
|
buildType: "prebuilt",
|
|
131
247
|
buildMetadata,
|
|
132
248
|
logLevel,
|
|
133
|
-
logger
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
const binaryDescription = describeBinary({
|
|
138
|
-
...buildOptions,
|
|
139
|
-
customCmakeOptions: existingPrebuiltBinaryMustMatchBuildOptions
|
|
140
|
-
? buildOptions.customCmakeOptions
|
|
141
|
-
: new Map()
|
|
249
|
+
logger,
|
|
250
|
+
skipLlamaInit
|
|
142
251
|
});
|
|
143
|
-
console.error(getConsoleLogPrefix() + `Failed to load a prebuilt ${binaryDescription}` + (build !== "never"
|
|
144
|
-
? ", falling back to building from source"
|
|
145
|
-
: "") + ". Error:", err);
|
|
146
252
|
}
|
|
253
|
+
else if (progressLogs)
|
|
254
|
+
console.warn(getConsoleLogPrefix() + "The prebuilt binary is not compatible with the current system" + (fallbackMessage != null
|
|
255
|
+
? ", " + fallbackMessage
|
|
256
|
+
: ""));
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
const binaryDescription = describeBinary({
|
|
260
|
+
...buildOptions,
|
|
261
|
+
customCmakeOptions: existingPrebuiltBinaryMustMatchBuildOptions
|
|
262
|
+
? buildOptions.customCmakeOptions
|
|
263
|
+
: new Map()
|
|
264
|
+
});
|
|
265
|
+
console.error(getConsoleLogPrefix() + `Failed to load a prebuilt ${binaryDescription}` + (fallbackMessage != null
|
|
266
|
+
? ", " + fallbackMessage
|
|
267
|
+
: "") + ". Error:", err);
|
|
147
268
|
}
|
|
148
|
-
else if (progressLogs)
|
|
149
|
-
console.warn(getConsoleLogPrefix() + "A prebuilt binary was not found" + (build !== "never"
|
|
150
|
-
? ", falling back to building from source"
|
|
151
|
-
: ""));
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
if (build === "never")
|
|
155
|
-
throw new NoBinaryFoundError();
|
|
156
|
-
const llamaCppRepoCloned = await isLlamaCppRepoCloned();
|
|
157
|
-
if (!llamaCppRepoCloned) {
|
|
158
|
-
if (skipDownload)
|
|
159
|
-
throw new NoBinaryFoundError("No prebuilt binaries found, no llama.cpp source found and `skipDownload` or NODE_LLAMA_CPP_SKIP_DOWNLOAD env var is set to true, so llama.cpp cannot be built from source");
|
|
160
|
-
buildOptions.llamaCpp.repo = defaultLlamaCppGitHubRepo;
|
|
161
|
-
buildOptions.llamaCpp.release = defaultLlamaCppRelease;
|
|
162
|
-
if (isGithubReleaseNeedsResolving(buildOptions.llamaCpp.release)) {
|
|
163
|
-
const [owner, name] = defaultLlamaCppGitHubRepo.split("/");
|
|
164
|
-
buildOptions.llamaCpp.release = await resolveGithubRelease(owner, name, buildOptions.llamaCpp.release);
|
|
165
|
-
buildFolderName = await getBuildFolderNameForBuildOptions(buildOptions);
|
|
166
269
|
}
|
|
270
|
+
else if (progressLogs)
|
|
271
|
+
console.warn(getConsoleLogPrefix() + "A prebuilt binary was not found" + (fallbackMessage != null
|
|
272
|
+
? ", " + fallbackMessage
|
|
273
|
+
: ""));
|
|
167
274
|
}
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
async function buildAndLoadLlamaBinary({ buildOptions, skipDownload, logLevel, logger, updateLastBuildInfoOnCompile, skipLlamaInit }) {
|
|
278
|
+
const buildFolderName = await getBuildFolderNameForBuildOptions(buildOptions);
|
|
168
279
|
await compileLlamaCpp(buildOptions, {
|
|
169
280
|
ensureLlamaCppRepoIsCloned: !skipDownload,
|
|
170
281
|
downloadCmakeIfNeeded: true,
|
|
@@ -183,16 +294,30 @@ export async function getLlamaForOptions({ metal = defaultLlamaCppMetalSupport,
|
|
|
183
294
|
buildType: "localBuild",
|
|
184
295
|
buildMetadata,
|
|
185
296
|
logLevel,
|
|
186
|
-
logger
|
|
297
|
+
logger,
|
|
298
|
+
skipLlamaInit
|
|
187
299
|
});
|
|
188
300
|
}
|
|
301
|
+
async function logNoGlibcWarning() {
|
|
302
|
+
console.warn(getConsoleLogPrefix() +
|
|
303
|
+
"The prebuilt binaries cannot be used in this Linux distro, as `glibc` is not detected");
|
|
304
|
+
const linuxDistroInfo = await getLinuxDistroInfo();
|
|
305
|
+
const isAlpineLinux = await isDistroAlpineLinux(linuxDistroInfo);
|
|
306
|
+
if (isAlpineLinux) {
|
|
307
|
+
console.warn(getConsoleLogPrefix() +
|
|
308
|
+
"Using Alpine Linux is not recommended for running LLMs, " +
|
|
309
|
+
"as using GPU drivers is complicated and suboptimal in this distro at the moment.\n" +
|
|
310
|
+
getConsoleLogPrefix() +
|
|
311
|
+
"Consider using a different Linux distro, such as Debian or Ubuntu." +
|
|
312
|
+
getConsoleLogPrefix() +
|
|
313
|
+
`If you're trying to run this inside of a Docker container, consider using "${recommendedBaseDockerImage}" image`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
189
316
|
function describeBinary(binaryOptions) {
|
|
190
317
|
let res = `binary for platform "${binaryOptions.platform}" "${binaryOptions.arch}"`;
|
|
191
318
|
const additions = [];
|
|
192
|
-
if (binaryOptions.
|
|
193
|
-
additions.push(
|
|
194
|
-
if (binaryOptions.computeLayers.cuda)
|
|
195
|
-
additions.push("with CUDA support");
|
|
319
|
+
if (binaryOptions.gpu != false)
|
|
320
|
+
additions.push(`with ${getPrettyBuildGpuName(binaryOptions.gpu)} support`);
|
|
196
321
|
if (binaryOptions.customCmakeOptions.size > 0)
|
|
197
322
|
additions.push("with custom build options");
|
|
198
323
|
res += additions
|
|
@@ -225,4 +350,14 @@ function loadBindingModule(bindingModulePath) {
|
|
|
225
350
|
catch (err) { }
|
|
226
351
|
}
|
|
227
352
|
}
|
|
353
|
+
function getShouldTestBinaryBeforeLoading({ isPrebuiltBinary, platform, platformInfo, buildMetadata }) {
|
|
354
|
+
if (platform === "linux") {
|
|
355
|
+
if (isPrebuiltBinary)
|
|
356
|
+
return true;
|
|
357
|
+
if (platformInfo.name !== buildMetadata.buildOptions.platformInfo.name ||
|
|
358
|
+
platformInfo.version !== buildMetadata.buildOptions.platformInfo.version)
|
|
359
|
+
return true;
|
|
360
|
+
}
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
228
363
|
//# sourceMappingURL=getLlama.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLlama.js","sourceRoot":"","sources":["../../src/bindings/getLlama.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLlama.js","sourceRoot":"","sources":["../../src/bindings/getLlama.ts"],"names":[],"mappings":"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"}
|
package/dist/bindings/types.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import process from "process";
|
|
2
2
|
import { BinaryPlatform } from "./utils/getPlatform.js";
|
|
3
|
+
import { BinaryPlatformInfo } from "./utils/getPlatformInfo.js";
|
|
4
|
+
export declare const buildGpuOptions: readonly ["metal", "cuda", "vulkan", false];
|
|
5
|
+
export declare const nodeLlamaCppGpuOptions: readonly ["auto", "metal", "cuda", "vulkan", false];
|
|
6
|
+
export declare const nodeLlamaCppGpuOffStringOptions: readonly ["false", "off", "none", "disable", "disabled"];
|
|
7
|
+
export type BuildGpu = (typeof buildGpuOptions)[number];
|
|
3
8
|
export type BuildOptions = {
|
|
4
9
|
customCmakeOptions: Map<string, string>;
|
|
5
10
|
progressLogs: boolean;
|
|
6
11
|
platform: BinaryPlatform;
|
|
12
|
+
platformInfo: BinaryPlatformInfo;
|
|
7
13
|
arch: typeof process.arch;
|
|
8
|
-
|
|
9
|
-
metal: boolean;
|
|
10
|
-
cuda: boolean;
|
|
11
|
-
};
|
|
14
|
+
gpu: BuildGpu;
|
|
12
15
|
llamaCpp: {
|
|
13
16
|
repo: string;
|
|
14
17
|
release: string;
|
|
@@ -17,6 +20,7 @@ export type BuildOptions = {
|
|
|
17
20
|
export type BuildOptionsJSON = Omit<BuildOptions, "customCmakeOptions"> & {
|
|
18
21
|
customCmakeOptions: Record<string, string>;
|
|
19
22
|
};
|
|
23
|
+
export declare function parseNodeLlamaCppGpuOption(option: (typeof nodeLlamaCppGpuOptions)[number] | (typeof nodeLlamaCppGpuOffStringOptions)[number]): BuildGpu | "auto";
|
|
20
24
|
export declare function convertBuildOptionsJSONToBuildOptions(buildOptionsJSON: BuildOptionsJSON): BuildOptions;
|
|
21
25
|
export declare function convertBuildOptionsToBuildOptionsJSON(buildOptions: BuildOptions): BuildOptionsJSON;
|
|
22
26
|
export type BuildMetadataFile = {
|
package/dist/bindings/types.js
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
export const buildGpuOptions = ["metal", "cuda", "vulkan", false];
|
|
2
|
+
export const nodeLlamaCppGpuOptions = [
|
|
3
|
+
"auto",
|
|
4
|
+
...buildGpuOptions
|
|
5
|
+
];
|
|
6
|
+
export const nodeLlamaCppGpuOffStringOptions = ["false", "off", "none", "disable", "disabled"];
|
|
7
|
+
export function parseNodeLlamaCppGpuOption(option) {
|
|
8
|
+
function optionIsGpuOff(opt) {
|
|
9
|
+
return nodeLlamaCppGpuOffStringOptions.includes(opt);
|
|
10
|
+
}
|
|
11
|
+
if (optionIsGpuOff(option))
|
|
12
|
+
return false;
|
|
13
|
+
else if (option === "auto")
|
|
14
|
+
return "auto";
|
|
15
|
+
if (buildGpuOptions.includes(option))
|
|
16
|
+
return option;
|
|
17
|
+
return "auto";
|
|
18
|
+
}
|
|
1
19
|
export function convertBuildOptionsJSONToBuildOptions(buildOptionsJSON) {
|
|
2
20
|
return {
|
|
3
21
|
...buildOptionsJSON,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bindings/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bindings/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,MAAM;IACN,GAAG,eAAe;CACZ,CAAC;AACX,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAmBxG,MAAM,UAAU,0BAA0B,CAAC,MAAkG;IACzI,SAAS,cAAc,CAAC,GAAkB;QACtC,OAAO,+BAA+B,CAAC,QAAQ,CAAC,GAAuD,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC;QACtB,OAAO,KAAK,CAAC;SACZ,IAAI,MAAM,KAAK,MAAM;QACtB,OAAO,MAAM,CAAC;IAElB,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChC,OAAO,MAAM,CAAC;IAElB,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,MAAM,UAAU,qCAAqC,CAAC,gBAAkC;IACpF,OAAO;QACH,GAAG,gBAAgB;QACnB,kBAAkB,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;KACnF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,YAA0B;IAC5E,OAAO;QACH,GAAG,YAAY;QACf,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC;KAC1E,CAAC;AACN,CAAC;AAMD,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,sCAAqB,CAAA;IACrB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,gCAAe,CAAA;AACnB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AACD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,IAAI;IAClB,aAAa,CAAC,IAAI;IAClB,aAAa,CAAC,KAAK;CACb,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a promise that resolves to true if every promise in the array resolves to true, otherwise false.
|
|
3
|
+
* Note that this function will not throw on error and instead will log the error to the console.
|
|
4
|
+
*/
|
|
5
|
+
export declare function asyncEvery(promises: Promise<boolean>[]): Promise<boolean>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a promise that resolves to true if every promise in the array resolves to true, otherwise false.
|
|
4
|
+
* Note that this function will not throw on error and instead will log the error to the console.
|
|
5
|
+
*/
|
|
6
|
+
export async function asyncEvery(promises) {
|
|
7
|
+
try {
|
|
8
|
+
return (await Promise.all(promises)).every(Boolean);
|
|
9
|
+
}
|
|
10
|
+
catch (err) {
|
|
11
|
+
console.error(getConsoleLogPrefix(false, false), err);
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=asyncEvery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncEvery.js","sourceRoot":"","sources":["../../../src/bindings/utils/asyncEvery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAA4B;IACzD,IAAI;QACA,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACvD;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAEtD,OAAO,KAAK,CAAC;KAChB;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a promise that fulfills as soon as any of the promises return `true`.
|
|
3
|
+
* Note that this function will not throw on error and instead will log the error to the console.
|
|
4
|
+
*/
|
|
5
|
+
export declare function asyncSome(promises: Promise<boolean>[]): Promise<boolean>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a promise that fulfills as soon as any of the promises return `true`.
|
|
4
|
+
* Note that this function will not throw on error and instead will log the error to the console.
|
|
5
|
+
*/
|
|
6
|
+
export async function asyncSome(promises) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
let fulfilled = 0;
|
|
9
|
+
for (const promise of promises) {
|
|
10
|
+
promise
|
|
11
|
+
.then((result) => {
|
|
12
|
+
if (result)
|
|
13
|
+
return void resolve(true);
|
|
14
|
+
fulfilled++;
|
|
15
|
+
if (fulfilled === promises.length)
|
|
16
|
+
resolve(false);
|
|
17
|
+
})
|
|
18
|
+
.catch((err) => {
|
|
19
|
+
console.error(getConsoleLogPrefix(false, false), err);
|
|
20
|
+
fulfilled++;
|
|
21
|
+
if (fulfilled === promises.length)
|
|
22
|
+
resolve(false);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=asyncSome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncSome.js","sourceRoot":"","sources":["../../../src/bindings/utils/asyncSome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAA4B;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,OAAO;iBACF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACb,IAAI,MAAM;oBACN,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9B,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,KAAK,QAAQ,CAAC,MAAM;oBAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEtD,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,KAAK,QAAQ,CAAC,MAAM;oBAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACV;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -3,6 +3,7 @@ import simpleGit from "simple-git";
|
|
|
3
3
|
import cliProgress from "cli-progress";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
import fs from "fs-extra";
|
|
6
|
+
import which from "which";
|
|
6
7
|
import { defaultLlamaCppGitHubRepo, defaultLlamaCppRelease, llamaCppDirectory, llamaCppDirectoryInfoFilePath } from "../../config.js";
|
|
7
8
|
import { getGitBundlePathForRelease } from "../../utils/gitReleaseBundles.js";
|
|
8
9
|
import { withLockfile } from "../../utils/withLockfile.js";
|
|
@@ -11,6 +12,7 @@ import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
|
|
|
11
12
|
import { isLockfileActive } from "../../utils/isLockfileActive.js";
|
|
12
13
|
import { isGithubReleaseNeedsResolving, resolveGithubRelease } from "../../utils/resolveGithubRelease.js";
|
|
13
14
|
import withStatusLogs from "../../utils/withStatusLogs.js";
|
|
15
|
+
import { logDistroInstallInstruction } from "./logDistroInstallInstruction.js";
|
|
14
16
|
export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles = true, progressLogs = true) {
|
|
15
17
|
const gitBundleForTag = !useBundles ? null : await getGitBundlePathForRelease(githubOwner, githubRepo, tag);
|
|
16
18
|
const remoteGitUrl = `https://github.com/${githubOwner}/${githubRepo}.git`;
|
|
@@ -63,7 +65,7 @@ export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles
|
|
|
63
65
|
await fs.remove(llamaCppDirectoryInfoFilePath);
|
|
64
66
|
if (progressLogs)
|
|
65
67
|
console.error(getConsoleLogPrefix() + "Failed to clone git bundle, cloning from GitHub instead", err);
|
|
66
|
-
printCloneErrorHelp(String(err));
|
|
68
|
+
await printCloneErrorHelp(String(err));
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
try {
|
|
@@ -77,12 +79,12 @@ export async function cloneLlamaCppRepo(githubOwner, githubRepo, tag, useBundles
|
|
|
77
79
|
await updateClonedLlamaCppRepoTagFile(githubOwner, githubRepo, tag);
|
|
78
80
|
}
|
|
79
81
|
catch (err) {
|
|
80
|
-
printCloneErrorHelp(String(err));
|
|
82
|
+
await printCloneErrorHelp(String(err));
|
|
81
83
|
throw err;
|
|
82
84
|
}
|
|
83
85
|
});
|
|
84
86
|
}
|
|
85
|
-
function printCloneErrorHelp(error) {
|
|
87
|
+
async function printCloneErrorHelp(error) {
|
|
86
88
|
// This error happens with some docker images where the current user is different
|
|
87
89
|
// from the owner of the files due to mounting a volume.
|
|
88
90
|
// In such cases, print a helpful message to help the user resolve the issue.
|
|
@@ -92,6 +94,14 @@ function printCloneErrorHelp(error) {
|
|
|
92
94
|
'git config --global --add safe.directory "' + llamaCppDirectory + '"\n\n' +
|
|
93
95
|
chalk.yellow("Or run this command to fix it everywhere:") + "\n" +
|
|
94
96
|
'git config --global --add safe.directory "*"');
|
|
97
|
+
else if (await which("git", { nothrow: true }) == null) {
|
|
98
|
+
console.info("\n" +
|
|
99
|
+
getConsoleLogPrefix(true) + chalk.yellow("Git is not installed, please install it first to build llama.cpp"));
|
|
100
|
+
await logDistroInstallInstruction("To install git, ", {
|
|
101
|
+
linuxPackages: { apt: ["git"] },
|
|
102
|
+
macOsPackages: { brew: ["git", "git-lfs"] }
|
|
103
|
+
});
|
|
104
|
+
}
|
|
95
105
|
}
|
|
96
106
|
export async function getClonedLlamaCppRepoReleaseInfo() {
|
|
97
107
|
if (!(await isLlamaCppRepoCloned(false)))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneLlamaCppRepo.js","sourceRoot":"","sources":["../../../src/bindings/utils/cloneLlamaCppRepo.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,yBAAyB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,6BAA6B,EAAC,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,6BAA6B,EAAE,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AACxG,OAAO,cAAc,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"cloneLlamaCppRepo.js","sourceRoot":"","sources":["../../../src/bindings/utils/cloneLlamaCppRepo.ts"],"names":[],"mappings":"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"}
|