node-llama-cpp 3.0.0-beta.12 → 3.0.0-beta.14
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/dist/ChatWrapper.d.ts +1 -0
- package/dist/ChatWrapper.js +2 -1
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/TemplateChatWrapper.d.ts +68 -0
- package/dist/TemplateChatWrapper.js +239 -0
- package/dist/TemplateChatWrapper.js.map +1 -0
- package/dist/bindings/AddonTypes.d.ts +15 -5
- package/dist/bindings/Llama.d.ts +9 -3
- package/dist/bindings/Llama.js +61 -19
- 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 -18
- package/dist/bindings/getLlama.js +210 -78
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +11 -5
- package/dist/bindings/types.js +22 -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.d.ts +4 -1
- package/dist/bindings/utils/compileLLamaCpp.js +136 -74
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +14 -0
- package/dist/bindings/utils/detectAvailableComputeLayers.js +300 -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 -6
- 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 +14 -0
- package/dist/bindings/utils/logDistroInstallInstruction.js +48 -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/testBindingBinary.d.ts +1 -0
- package/dist/bindings/utils/testBindingBinary.js +98 -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/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 -5
- package/dist/cli/commands/BuildCommand.js +78 -60
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.js +31 -14
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.js +30 -13
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.js +3 -9
- package/dist/cli/commands/DebugCommand.js.map +1 -1
- package/dist/cli/commands/DownloadCommand.d.ts +5 -5
- package/dist/cli/commands/DownloadCommand.js +97 -56
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.js +30 -13
- package/dist/cli/commands/InfillCommand.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/commands/OnPostInstallCommand.js +2 -0
- package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
- 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 +4 -4
- package/dist/config.js +11 -12
- 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/evaluator/LlamaContext/LlamaContext.d.ts +5 -8
- package/dist/evaluator/LlamaContext/LlamaContext.js +111 -65
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/types.d.ts +13 -6
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +6 -5
- package/dist/evaluator/LlamaEmbeddingContext.js +32 -22
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaGrammar.js +1 -0
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel.d.ts +16 -16
- package/dist/evaluator/LlamaModel.js +95 -20
- package/dist/evaluator/LlamaModel.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 +11 -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/state.d.ts +2 -0
- package/dist/state.js +7 -0
- package/dist/state.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/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/getBuildDefaults.d.ts +1 -3
- package/dist/utils/getBuildDefaults.js +2 -4
- 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/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/dist/utils/removeNullFields.d.ts +2 -2
- package/dist/utils/removeNullFields.js.map +1 -1
- package/dist/utils/spawnCommand.d.ts +11 -1
- package/dist/utils/spawnCommand.js +55 -7
- package/dist/utils/spawnCommand.js.map +1 -1
- package/llama/CMakeLists.txt +11 -5
- package/llama/addon.cpp +700 -83
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/grammars/json.gbnf +1 -1
- package/llama/grammars/json_arr.gbnf +1 -1
- package/llama/llama.cpp.info.json +1 -1
- package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -0
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -0
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -0
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -0
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -0
- package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -0
- package/llamaBins/mac-arm64-metal/default.metallib +0 -0
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -0
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -0
- 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/_nlcBuildMetadata.json +1 -0
- package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.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 +14 -9
- package/dist/cli/utils/logEnabledComputeLayers.d.ts +0 -8
- package/dist/cli/utils/logEnabledComputeLayers.js +0 -11
- package/dist/cli/utils/logEnabledComputeLayers.js.map +0 -1
- package/llamaBins/linux-arm64/.buildMetadata.json +0 -1
- package/llamaBins/linux-armv7l/.buildMetadata.json +0 -1
- package/llamaBins/linux-x64/.buildMetadata.json +0 -1
- package/llamaBins/linux-x64-cuda/.buildMetadata.json +0 -1
- package/llamaBins/linux-x64-vulkan/.buildMetadata.json +0 -1
- package/llamaBins/mac-arm64-metal/.buildMetadata.json +0 -1
- package/llamaBins/mac-arm64-metal/ggml-metal.metal +0 -7022
- package/llamaBins/mac-x64/.buildMetadata.json +0 -1
- package/llamaBins/win-x64/.buildMetadata.json +0 -1
- package/llamaBins/win-x64-cuda/.buildMetadata.json +0 -1
- package/llamaBins/win-x64-vulkan/.buildMetadata.json +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const prettyBuildGpuNames = {
|
|
2
|
+
metal: "Metal",
|
|
3
|
+
cuda: "CUDA",
|
|
4
|
+
vulkan: "Vulkan"
|
|
5
|
+
};
|
|
6
|
+
export function getPrettyBuildGpuName(gpu) {
|
|
7
|
+
if (gpu == false)
|
|
8
|
+
return "no GPU";
|
|
9
|
+
return prettyBuildGpuNames[gpu] ?? ('"' + gpu + '"');
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/bindings/consts.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAA6C;IAClE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAa;IAC/C,IAAI,GAAG,IAAI,KAAK;QACZ,OAAO,QAAQ,CAAC;IAEpB,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -2,22 +2,18 @@ import { LlamaLogLevel } from "./types.js";
|
|
|
2
2
|
import { Llama } from "./Llama.js";
|
|
3
3
|
export type LlamaOptions = {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Toggle Vulkan support on llama.cpp.
|
|
17
|
-
* Currently, Vulkan support is experimental. Use with caution.
|
|
18
|
-
* Disabled by default.
|
|
5
|
+
* The compute layer implementation type to use for llama.cpp.
|
|
6
|
+
* - **`"auto"`**: Automatically detect and use the best GPU available (Metal on macOS, and CUDA or Vulkan on Windows and Linux)
|
|
7
|
+
* - **`"metal"`**: Use Metal.
|
|
8
|
+
* Only supported on macOS.
|
|
9
|
+
* Enabled by default on Apple Silicon Macs.
|
|
10
|
+
* - **`"cuda"`**: Use CUDA.
|
|
11
|
+
* - **`"vulkan"`**: Use Vulkan.
|
|
12
|
+
* - **`false`**: Disable any GPU support and only use the CPU.
|
|
13
|
+
*
|
|
14
|
+
* `"auto"` by default.
|
|
19
15
|
*/
|
|
20
|
-
|
|
16
|
+
gpu?: "auto" | "metal" | "cuda" | "vulkan" | false;
|
|
21
17
|
/**
|
|
22
18
|
* Set the minimum log level for llama.cpp.
|
|
23
19
|
* Defaults to "debug".
|
|
@@ -101,9 +97,9 @@ export declare const getLlamaFunctionName = "getLlama";
|
|
|
101
97
|
* Defaults to prefer a prebuilt binary, and fallbacks to building from source if a prebuilt binary is not found.
|
|
102
98
|
* Pass `"lastCliBuild"` to default to use the last successful build created using the `download` or `build` CLI commands if one exists.
|
|
103
99
|
*/
|
|
104
|
-
export declare function getLlama(): Promise<Llama>;
|
|
105
|
-
export declare function getLlama(options: LlamaOptions, lastBuildOptions?: never): Promise<Llama>;
|
|
100
|
+
export declare function getLlama(options?: LlamaOptions): Promise<Llama>;
|
|
106
101
|
export declare function getLlama(type: "lastBuild", lastBuildOptions?: LastBuildOptions): Promise<Llama>;
|
|
107
|
-
export declare function getLlamaForOptions({
|
|
102
|
+
export declare function getLlamaForOptions({ gpu, logLevel, logger, build, cmakeOptions, existingPrebuiltBinaryMustMatchBuildOptions, usePrebuiltBinaries, progressLogs, skipDownload }: LlamaOptions, { updateLastBuildInfoOnCompile, skipLlamaInit }?: {
|
|
108
103
|
updateLastBuildInfoOnCompile?: boolean;
|
|
104
|
+
skipLlamaInit?: boolean;
|
|
109
105
|
}): Promise<Llama>;
|
|
@@ -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,95 +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
|
-
vulkan
|
|
89
|
-
},
|
|
90
|
-
llamaCpp: {
|
|
91
|
-
repo: clonedLlamaCppRepoReleaseInfo?.llamaCppGithubRepo ?? builtinLlamaCppGitHubRepo,
|
|
92
|
-
release: clonedLlamaCppRepoReleaseInfo?.tag ?? builtinLlamaCppRelease
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
const canUsePrebuiltBinaries = (build === "forceRebuild" || !usePrebuiltBinaries)
|
|
82
|
+
let canUsePrebuiltBinaries = (build === "forceRebuild" || !usePrebuiltBinaries)
|
|
96
83
|
? false
|
|
97
84
|
: await getCanUsePrebuiltBinaries();
|
|
98
|
-
|
|
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
|
+
}
|
|
99
98
|
if (build === "auto" || build === "never") {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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) {
|
|
105
199
|
const binding = loadBindingModule(localBuildBinPath);
|
|
106
|
-
const buildMetadata = await getLocalBuildBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
107
200
|
return await Llama._create({
|
|
108
201
|
bindings: binding,
|
|
109
202
|
buildType: "localBuild",
|
|
110
203
|
buildMetadata,
|
|
111
204
|
logLevel,
|
|
112
|
-
logger
|
|
205
|
+
logger,
|
|
206
|
+
skipLlamaInit
|
|
113
207
|
});
|
|
114
208
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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);
|
|
119
215
|
}
|
|
120
216
|
}
|
|
121
|
-
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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) {
|
|
127
243
|
const binding = loadBindingModule(prebuiltBinPath);
|
|
128
|
-
const buildMetadata = await getPrebuiltBinaryBuildMetadata(buildFolderName.withCustomCmakeOptions);
|
|
129
244
|
return await Llama._create({
|
|
130
245
|
bindings: binding,
|
|
131
246
|
buildType: "prebuilt",
|
|
132
247
|
buildMetadata,
|
|
133
248
|
logLevel,
|
|
134
|
-
logger
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
catch (err) {
|
|
138
|
-
const binaryDescription = describeBinary({
|
|
139
|
-
...buildOptions,
|
|
140
|
-
customCmakeOptions: existingPrebuiltBinaryMustMatchBuildOptions
|
|
141
|
-
? buildOptions.customCmakeOptions
|
|
142
|
-
: new Map()
|
|
249
|
+
logger,
|
|
250
|
+
skipLlamaInit
|
|
143
251
|
});
|
|
144
|
-
console.error(getConsoleLogPrefix() + `Failed to load a prebuilt ${binaryDescription}` + (build !== "never"
|
|
145
|
-
? ", falling back to building from source"
|
|
146
|
-
: "") + ". Error:", err);
|
|
147
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);
|
|
148
268
|
}
|
|
149
|
-
else if (progressLogs)
|
|
150
|
-
console.warn(getConsoleLogPrefix() + "A prebuilt binary was not found" + (build !== "never"
|
|
151
|
-
? ", falling back to building from source"
|
|
152
|
-
: ""));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
if (build === "never")
|
|
156
|
-
throw new NoBinaryFoundError();
|
|
157
|
-
const llamaCppRepoCloned = await isLlamaCppRepoCloned();
|
|
158
|
-
if (!llamaCppRepoCloned) {
|
|
159
|
-
if (skipDownload)
|
|
160
|
-
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");
|
|
161
|
-
buildOptions.llamaCpp.repo = defaultLlamaCppGitHubRepo;
|
|
162
|
-
buildOptions.llamaCpp.release = defaultLlamaCppRelease;
|
|
163
|
-
if (isGithubReleaseNeedsResolving(buildOptions.llamaCpp.release)) {
|
|
164
|
-
const [owner, name] = defaultLlamaCppGitHubRepo.split("/");
|
|
165
|
-
buildOptions.llamaCpp.release = await resolveGithubRelease(owner, name, buildOptions.llamaCpp.release);
|
|
166
|
-
buildFolderName = await getBuildFolderNameForBuildOptions(buildOptions);
|
|
167
269
|
}
|
|
270
|
+
else if (progressLogs)
|
|
271
|
+
console.warn(getConsoleLogPrefix() + "A prebuilt binary was not found" + (fallbackMessage != null
|
|
272
|
+
? ", " + fallbackMessage
|
|
273
|
+
: ""));
|
|
168
274
|
}
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
async function buildAndLoadLlamaBinary({ buildOptions, skipDownload, logLevel, logger, updateLastBuildInfoOnCompile, skipLlamaInit }) {
|
|
278
|
+
const buildFolderName = await getBuildFolderNameForBuildOptions(buildOptions);
|
|
169
279
|
await compileLlamaCpp(buildOptions, {
|
|
170
280
|
ensureLlamaCppRepoIsCloned: !skipDownload,
|
|
171
281
|
downloadCmakeIfNeeded: true,
|
|
@@ -184,18 +294,30 @@ export async function getLlamaForOptions({ metal = defaultLlamaCppMetalSupport,
|
|
|
184
294
|
buildType: "localBuild",
|
|
185
295
|
buildMetadata,
|
|
186
296
|
logLevel,
|
|
187
|
-
logger
|
|
297
|
+
logger,
|
|
298
|
+
skipLlamaInit
|
|
188
299
|
});
|
|
189
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.\n" +
|
|
312
|
+
getConsoleLogPrefix() +
|
|
313
|
+
`If you're trying to run this inside of a Docker container, consider using "${recommendedBaseDockerImage}" image`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
190
316
|
function describeBinary(binaryOptions) {
|
|
191
317
|
let res = `binary for platform "${binaryOptions.platform}" "${binaryOptions.arch}"`;
|
|
192
318
|
const additions = [];
|
|
193
|
-
if (binaryOptions.
|
|
194
|
-
additions.push(
|
|
195
|
-
if (binaryOptions.computeLayers.cuda)
|
|
196
|
-
additions.push("with CUDA support");
|
|
197
|
-
if (binaryOptions.computeLayers.vulkan)
|
|
198
|
-
additions.push("with Vulkan support");
|
|
319
|
+
if (binaryOptions.gpu != false)
|
|
320
|
+
additions.push(`with ${getPrettyBuildGpuName(binaryOptions.gpu)} support`);
|
|
199
321
|
if (binaryOptions.customCmakeOptions.size > 0)
|
|
200
322
|
additions.push("with custom build options");
|
|
201
323
|
res += additions
|
|
@@ -228,4 +350,14 @@ function loadBindingModule(bindingModulePath) {
|
|
|
228
350
|
catch (err) { }
|
|
229
351
|
}
|
|
230
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
|
+
}
|
|
231
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,15 +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
|
-
vulkan: boolean;
|
|
12
|
-
};
|
|
14
|
+
gpu: BuildGpu;
|
|
13
15
|
llamaCpp: {
|
|
14
16
|
repo: string;
|
|
15
17
|
release: string;
|
|
@@ -18,6 +20,7 @@ export type BuildOptions = {
|
|
|
18
20
|
export type BuildOptionsJSON = Omit<BuildOptions, "customCmakeOptions"> & {
|
|
19
21
|
customCmakeOptions: Record<string, string>;
|
|
20
22
|
};
|
|
23
|
+
export declare function parseNodeLlamaCppGpuOption(option: (typeof nodeLlamaCppGpuOptions)[number] | (typeof nodeLlamaCppGpuOffStringOptions)[number]): BuildGpu | "auto";
|
|
21
24
|
export declare function convertBuildOptionsJSONToBuildOptions(buildOptionsJSON: BuildOptionsJSON): BuildOptions;
|
|
22
25
|
export declare function convertBuildOptionsToBuildOptionsJSON(buildOptions: BuildOptions): BuildOptionsJSON;
|
|
23
26
|
export type BuildMetadataFile = {
|
|
@@ -32,3 +35,6 @@ export declare enum LlamaLogLevel {
|
|
|
32
35
|
debug = "debug"
|
|
33
36
|
}
|
|
34
37
|
export declare const LlamaLogLevelValues: readonly [LlamaLogLevel.disabled, LlamaLogLevel.fatal, LlamaLogLevel.error, LlamaLogLevel.warn, LlamaLogLevel.info, LlamaLogLevel.debug];
|
|
38
|
+
export declare const enum LlamaLocks {
|
|
39
|
+
loadToMemory = "loadToMemory"
|
|
40
|
+
}
|
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,
|
|
@@ -27,4 +45,8 @@ export const LlamaLogLevelValues = [
|
|
|
27
45
|
LlamaLogLevel.info,
|
|
28
46
|
LlamaLogLevel.debug
|
|
29
47
|
];
|
|
48
|
+
export var LlamaLocks;
|
|
49
|
+
(function (LlamaLocks) {
|
|
50
|
+
LlamaLocks["loadToMemory"] = "loadToMemory";
|
|
51
|
+
})(LlamaLocks || (LlamaLocks = {}));
|
|
30
52
|
//# sourceMappingURL=types.js.map
|
|
@@ -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;AAEX,MAAM,CAAN,IAAkB,UAEjB;AAFD,WAAkB,UAAU;IACxB,2CAA6B,CAAA;AACjC,CAAC,EAFiB,UAAU,KAAV,UAAU,QAE3B"}
|
|
@@ -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"}
|