node-llama-cpp 2.1.1 → 2.2.0
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/cli/commands/BuildCommand.js +7 -2
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/DownloadCommand.js +1 -1
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/llamaEvaluator/LlamaChatSession.d.ts +7 -6
- package/dist/llamaEvaluator/LlamaChatSession.js.map +1 -1
- package/dist/llamaEvaluator/LlamaContext.d.ts +6 -5
- package/dist/llamaEvaluator/LlamaContext.js.map +1 -1
- package/dist/llamaEvaluator/LlamaGrammar.d.ts +7 -4
- package/dist/llamaEvaluator/LlamaGrammar.js +1 -1
- package/dist/llamaEvaluator/LlamaGrammar.js.map +1 -1
- package/dist/llamaEvaluator/LlamaModel.d.ts +55 -54
- package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
- package/dist/utils/compileLLamaCpp.d.ts +2 -2
- package/dist/utils/compileLLamaCpp.js +7 -7
- package/dist/utils/compileLLamaCpp.js.map +1 -1
- package/dist/utils/getBin.js +3 -3
- package/dist/utils/getBin.js.map +1 -1
- package/dist/utils/getGrammarsFolder.js +6 -6
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/grammars/c.gbnf +42 -0
- package/llamaBins/linux-arm64-16.node +0 -0
- package/llamaBins/linux-arm64-17.node +0 -0
- package/llamaBins/linux-arm64-18.node +0 -0
- package/llamaBins/linux-arm64-19.node +0 -0
- package/llamaBins/linux-arm64-20.node +0 -0
- package/llamaBins/linux-armv7l-16.node +0 -0
- package/llamaBins/linux-armv7l-17.node +0 -0
- package/llamaBins/linux-armv7l-18.node +0 -0
- package/llamaBins/linux-armv7l-19.node +0 -0
- package/llamaBins/linux-armv7l-20.node +0 -0
- package/llamaBins/linux-ppc64le-16.node +0 -0
- package/llamaBins/linux-ppc64le-17.node +0 -0
- package/llamaBins/linux-ppc64le-18.node +0 -0
- package/llamaBins/linux-ppc64le-19.node +0 -0
- package/llamaBins/linux-ppc64le-20.node +0 -0
- package/llamaBins/linux-x64-16.node +0 -0
- package/llamaBins/linux-x64-17.node +0 -0
- package/llamaBins/linux-x64-18.node +0 -0
- package/llamaBins/linux-x64-19.node +0 -0
- package/llamaBins/linux-x64-20.node +0 -0
- package/llamaBins/mac-arm64-16.node +0 -0
- package/llamaBins/mac-arm64-17.node +0 -0
- package/llamaBins/mac-arm64-18.node +0 -0
- package/llamaBins/mac-arm64-19.node +0 -0
- package/llamaBins/mac-arm64-20.node +0 -0
- package/llamaBins/mac-x64-16.node +0 -0
- package/llamaBins/mac-x64-17.node +0 -0
- package/llamaBins/mac-x64-18.node +0 -0
- package/llamaBins/mac-x64-19.node +0 -0
- package/llamaBins/mac-x64-20.node +0 -0
- package/llamaBins/win-x64-16.node +0 -0
- package/llamaBins/win-x64-17.node +0 -0
- package/llamaBins/win-x64-18.node +0 -0
- package/llamaBins/win-x64-19.node +0 -0
- package/llamaBins/win-x64-20.node +0 -0
- package/package.json +3 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import process from "process";
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
+
import fs from "fs-extra";
|
|
3
4
|
import { compileLlamaCpp } from "../../utils/compileLLamaCpp.js";
|
|
4
5
|
import withOra from "../../utils/withOra.js";
|
|
5
6
|
import { clearTempFolder } from "../../utils/clearTempFolder.js";
|
|
6
|
-
import { defaultLlamaCppCudaSupport, defaultLlamaCppMetalSupport } from "../../config.js";
|
|
7
|
+
import { defaultLlamaCppCudaSupport, defaultLlamaCppMetalSupport, llamaCppDirectory } from "../../config.js";
|
|
7
8
|
export const BuildCommand = {
|
|
8
9
|
command: "build",
|
|
9
10
|
describe: "Compile the currently downloaded llama.cpp",
|
|
@@ -33,6 +34,10 @@ export const BuildCommand = {
|
|
|
33
34
|
handler: BuildLlamaCppCommand
|
|
34
35
|
};
|
|
35
36
|
export async function BuildLlamaCppCommand({ arch, nodeTarget, metal, cuda }) {
|
|
37
|
+
if (!(await fs.pathExists(llamaCppDirectory))) {
|
|
38
|
+
console.log(chalk.red('llama.cpp is not downloaded. Please run "node-llama-cpp download" first'));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
36
41
|
if (metal && process.platform === "darwin") {
|
|
37
42
|
console.log(`${chalk.yellow("Metal:")} enabled`);
|
|
38
43
|
}
|
|
@@ -47,7 +52,7 @@ export async function BuildLlamaCppCommand({ arch, nodeTarget, metal, cuda }) {
|
|
|
47
52
|
await compileLlamaCpp({
|
|
48
53
|
arch: arch ? arch : undefined,
|
|
49
54
|
nodeTarget: nodeTarget ? nodeTarget : undefined,
|
|
50
|
-
|
|
55
|
+
setUsedBinFlag: true,
|
|
51
56
|
metal,
|
|
52
57
|
cuda
|
|
53
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/BuildCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,0BAA0B,EAAE,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BuildCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/BuildCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,0BAA0B,EAAE,2BAA2B,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAS3G,MAAM,CAAC,MAAM,YAAY,GAAwC;IAC7D,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,4CAA4C;IACtD,OAAO,CAAC,KAAK;QACT,OAAO,KAAK;aACP,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SAC3D,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gEAAgE;SAChF,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,2BAA2B;YACpC,WAAW,EAAE,yGAAyG;SACzH,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,uGAAuG;SACvH,CAAC,CAAC;IACX,CAAC;IACD,OAAO,EAAE,oBAAoB;CAChC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAe;IACpF,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACpD;IAED,IAAI,IAAI,EAAE;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACnD;IAED,MAAM,OAAO,CAAC;QACV,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC1C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC;KAClD,EAAE,KAAK,IAAI,EAAE;QACV,MAAM,eAAe,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC7B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/C,cAAc,EAAE,IAAI;YACpB,KAAK;YACL,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC;QACV,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC/C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAC9C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC;KACvD,EAAE,KAAK,IAAI,EAAE;QACV,MAAM,eAAe,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -134,7 +134,7 @@ export async function DownloadLlamaCppCommand({ repo, release, arch, nodeTarget,
|
|
|
134
134
|
await compileLlamaCpp({
|
|
135
135
|
arch: arch ? arch : undefined,
|
|
136
136
|
nodeTarget: nodeTarget ? nodeTarget : undefined,
|
|
137
|
-
|
|
137
|
+
setUsedBinFlag: true,
|
|
138
138
|
metal,
|
|
139
139
|
cuda
|
|
140
140
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/DownloadCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DownloadCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/DownloadCommand.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { LlamaModel, type LlamaModelOptions } from "./llamaEvaluator/LlamaModel.js";
|
|
2
|
+
import { LlamaGrammar, type LlamaGrammarOptions } from "./llamaEvaluator/LlamaGrammar.js";
|
|
3
|
+
import { LlamaContext, type LlamaContextOptions } from "./llamaEvaluator/LlamaContext.js";
|
|
4
|
+
import { LlamaChatSession, type LlamaChatSessionOptions } from "./llamaEvaluator/LlamaChatSession.js";
|
|
4
5
|
import { AbortError } from "./AbortError.js";
|
|
5
6
|
import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
|
|
6
7
|
import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
|
|
7
8
|
import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
|
|
8
9
|
import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
|
|
9
|
-
import { LlamaContext } from "./llamaEvaluator/LlamaContext.js";
|
|
10
10
|
import { ChatMLPromptWrapper } from "./chatWrappers/ChatMLPromptWrapper.js";
|
|
11
11
|
import { getChatWrapperByBos } from "./chatWrappers/createChatWrapperByBos.js";
|
|
12
12
|
import { type Token } from "./types.js";
|
|
13
|
-
export { LlamaModel, LlamaGrammar, LlamaContext, LlamaChatSession, AbortError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLPromptWrapper, getChatWrapperByBos, type Token };
|
|
13
|
+
export { LlamaModel, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaContext, type LlamaContextOptions, LlamaChatSession, type LlamaChatSessionOptions, AbortError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLPromptWrapper, getChatWrapperByBos, type Token };
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { LlamaGrammar } from "llamaEvaluator/LlamaGrammar.js";
|
|
2
|
-
import { LlamaChatSession } from "./llamaEvaluator/LlamaChatSession.js";
|
|
3
1
|
import { LlamaModel } from "./llamaEvaluator/LlamaModel.js";
|
|
2
|
+
import { LlamaGrammar } from "./llamaEvaluator/LlamaGrammar.js";
|
|
3
|
+
import { LlamaContext } from "./llamaEvaluator/LlamaContext.js";
|
|
4
|
+
import { LlamaChatSession } from "./llamaEvaluator/LlamaChatSession.js";
|
|
4
5
|
import { AbortError } from "./AbortError.js";
|
|
5
6
|
import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
|
|
6
7
|
import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
|
|
7
8
|
import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
|
|
8
9
|
import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
|
|
9
|
-
import { LlamaContext } from "./llamaEvaluator/LlamaContext.js";
|
|
10
10
|
import { ChatMLPromptWrapper } from "./chatWrappers/ChatMLPromptWrapper.js";
|
|
11
11
|
import { getChatWrapperByBos } from "./chatWrappers/createChatWrapperByBos.js";
|
|
12
12
|
export { LlamaModel, LlamaGrammar, LlamaContext, LlamaChatSession, AbortError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLPromptWrapper, getChatWrapperByBos };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAyB,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAC,YAAY,EAA2B,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAC,YAAY,EAA2B,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAC,gBAAgB,EAA+B,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAC,MAAM,0CAA0C,CAAC;AAK7E,OAAO,EACH,UAAU,EAEV,YAAY,EAEZ,YAAY,EAEZ,gBAAgB,EAEhB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EAEtB,CAAC"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
3
3
|
import { Token } from "../types.js";
|
|
4
4
|
import { LlamaContext } from "./LlamaContext.js";
|
|
5
|
+
export type LlamaChatSessionOptions = {
|
|
6
|
+
context: LlamaContext;
|
|
7
|
+
printLLamaSystemInfo?: boolean;
|
|
8
|
+
promptWrapper?: ChatPromptWrapper | "auto";
|
|
9
|
+
systemPrompt?: string;
|
|
10
|
+
};
|
|
5
11
|
export declare class LlamaChatSession {
|
|
6
12
|
private readonly _systemPrompt;
|
|
7
13
|
private readonly _printLLamaSystemInfo;
|
|
@@ -11,12 +17,7 @@ export declare class LlamaChatSession {
|
|
|
11
17
|
private _lastStopString;
|
|
12
18
|
private _lastStopStringSuffix;
|
|
13
19
|
private readonly _ctx;
|
|
14
|
-
constructor({ context, printLLamaSystemInfo, promptWrapper, systemPrompt }:
|
|
15
|
-
context: LlamaContext;
|
|
16
|
-
printLLamaSystemInfo?: boolean;
|
|
17
|
-
promptWrapper?: ChatPromptWrapper | "auto";
|
|
18
|
-
systemPrompt?: string;
|
|
19
|
-
});
|
|
20
|
+
constructor({ context, printLLamaSystemInfo, promptWrapper, systemPrompt }: LlamaChatSessionOptions);
|
|
20
21
|
get initialized(): boolean;
|
|
21
22
|
get context(): LlamaContext;
|
|
22
23
|
init(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaChatSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAC,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,MAAM,oBAAoB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaChatSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Token } from "../types.js";
|
|
2
2
|
import { LlamaModel } from "./LlamaModel.js";
|
|
3
3
|
import { LlamaGrammar } from "./LlamaGrammar.js";
|
|
4
|
+
export type LlamaContextOptions = {
|
|
5
|
+
model: LlamaModel;
|
|
6
|
+
grammar?: LlamaGrammar;
|
|
7
|
+
prependBos?: boolean;
|
|
8
|
+
};
|
|
4
9
|
export declare class LlamaContext {
|
|
5
10
|
private readonly _ctx;
|
|
6
11
|
private _prependBos;
|
|
7
|
-
constructor({ model, grammar, prependBos }:
|
|
8
|
-
model: LlamaModel;
|
|
9
|
-
grammar?: LlamaGrammar;
|
|
10
|
-
prependBos?: boolean;
|
|
11
|
-
});
|
|
12
|
+
constructor({ model, grammar, prependBos }: LlamaContextOptions);
|
|
12
13
|
encode(text: string): Uint32Array;
|
|
13
14
|
decode(tokens: Uint32Array): string;
|
|
14
15
|
get prependBos(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export type LlamaGrammarOptions = {
|
|
2
|
+
/** GBNF grammar */
|
|
3
|
+
grammar: string;
|
|
4
|
+
/** print the grammar to stdout */
|
|
5
|
+
printGrammar?: boolean;
|
|
6
|
+
};
|
|
1
7
|
export declare class LlamaGrammar {
|
|
2
8
|
/**
|
|
3
9
|
* GBNF files are supported.
|
|
@@ -6,9 +12,6 @@ export declare class LlamaGrammar {
|
|
|
6
12
|
* @param {string} options.grammar - GBNF grammar
|
|
7
13
|
* @param {boolean} [options.printGrammar] - print the grammar to stdout
|
|
8
14
|
*/
|
|
9
|
-
constructor({ grammar, printGrammar }:
|
|
10
|
-
grammar: string;
|
|
11
|
-
printGrammar?: boolean;
|
|
12
|
-
});
|
|
15
|
+
constructor({ grammar, printGrammar }: LlamaGrammarOptions);
|
|
13
16
|
static getFor(type: "json" | "list" | "arithmetic" | "japanese" | "chess"): Promise<LlamaGrammar>;
|
|
14
17
|
}
|
|
@@ -20,7 +20,7 @@ export class LlamaGrammar {
|
|
|
20
20
|
static async getFor(type) {
|
|
21
21
|
const grammarsFolder = await getGrammarsFolder();
|
|
22
22
|
const grammarFile = path.join(grammarsFolder, type + ".gbnf");
|
|
23
|
-
if (await fs.
|
|
23
|
+
if (await fs.pathExists(grammarFile)) {
|
|
24
24
|
const grammar = await fs.readFile(grammarFile, "utf8");
|
|
25
25
|
return new LlamaGrammar({ grammar });
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAW5C,MAAM,OAAO,YAAY;IACrB,gBAAgB;IACA,QAAQ,CAAe;IAEvC;;;;;;OAMG;IACH,YAAmB,EAAC,OAAO,EAAE,YAAY,GAAG,KAAK,EAAsB;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE;YACtC,YAAY;SACf,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAA2D;QAClF,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;QAE9D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,YAAY,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;SACtC;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,cAAc,GAAG,CAAC,CAAC;IAC5F,CAAC;CACJ"}
|
|
@@ -1,3 +1,57 @@
|
|
|
1
|
+
export type LlamaModelOptions = {
|
|
2
|
+
/** path to the model on the filesystem */
|
|
3
|
+
modelPath: string;
|
|
4
|
+
/** If null, a random seed will be used */
|
|
5
|
+
seed?: number | null;
|
|
6
|
+
/** text context size */
|
|
7
|
+
contextSize?: number;
|
|
8
|
+
/** prompt processing batch size */
|
|
9
|
+
batchSize?: number;
|
|
10
|
+
/** number of layers to store in VRAM */
|
|
11
|
+
gpuLayers?: number;
|
|
12
|
+
/** if true, reduce VRAM usage at the cost of performance */
|
|
13
|
+
lowVram?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Temperature is a hyperparameter that controls the randomness of the generated text.
|
|
16
|
+
* It affects the probability distribution of the model's output tokens.
|
|
17
|
+
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
18
|
+
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
19
|
+
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
20
|
+
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
21
|
+
*
|
|
22
|
+
* Set to `0` to disable.
|
|
23
|
+
*/
|
|
24
|
+
temperature?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation.
|
|
27
|
+
* An integer number between `1` and the size of the vocabulary.
|
|
28
|
+
* Set to `0` to disable (which uses the full vocabulary).
|
|
29
|
+
*
|
|
30
|
+
* Only relevant when `temperature` is set to a value greater than 0.
|
|
31
|
+
* */
|
|
32
|
+
topK?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
35
|
+
* and samples the next token only from this set.
|
|
36
|
+
* A float number between `0` and `1`.
|
|
37
|
+
* Set to `1` to disable.
|
|
38
|
+
*
|
|
39
|
+
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
40
|
+
* */
|
|
41
|
+
topP?: number;
|
|
42
|
+
/** use fp16 for KV cache */
|
|
43
|
+
f16Kv?: boolean;
|
|
44
|
+
/** the llama_eval() call computes all logits, not just the last one */
|
|
45
|
+
logitsAll?: boolean;
|
|
46
|
+
/** only load the vocabulary, no weights */
|
|
47
|
+
vocabOnly?: boolean;
|
|
48
|
+
/** use mmap if possible */
|
|
49
|
+
useMmap?: boolean;
|
|
50
|
+
/** force system to keep model in RAM */
|
|
51
|
+
useMlock?: boolean;
|
|
52
|
+
/** embedding mode only */
|
|
53
|
+
embedding?: boolean;
|
|
54
|
+
};
|
|
1
55
|
export declare class LlamaModel {
|
|
2
56
|
/**
|
|
3
57
|
* options source:
|
|
@@ -36,59 +90,6 @@ export declare class LlamaModel {
|
|
|
36
90
|
* @param {boolean} [options.useMlock] - force system to keep model in RAM
|
|
37
91
|
* @param {boolean} [options.embedding] - embedding mode only
|
|
38
92
|
*/
|
|
39
|
-
constructor({ modelPath, seed, contextSize, batchSize, gpuLayers, lowVram, temperature, topK, topP, f16Kv, logitsAll, vocabOnly, useMmap, useMlock, embedding }:
|
|
40
|
-
/** path to the model on the filesystem */
|
|
41
|
-
modelPath: string;
|
|
42
|
-
/** If null, a random seed will be used */
|
|
43
|
-
seed?: number | null;
|
|
44
|
-
/** text context size */
|
|
45
|
-
contextSize?: number;
|
|
46
|
-
/** prompt processing batch size */
|
|
47
|
-
batchSize?: number;
|
|
48
|
-
/** number of layers to store in VRAM */
|
|
49
|
-
gpuLayers?: number;
|
|
50
|
-
/** if true, reduce VRAM usage at the cost of performance */
|
|
51
|
-
lowVram?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Temperature is a hyperparameter that controls the randomness of the generated text.
|
|
54
|
-
* It affects the probability distribution of the model's output tokens.
|
|
55
|
-
* A higher temperature (e.g., 1.5) makes the output more random and creative,
|
|
56
|
-
* while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
|
|
57
|
-
* The suggested temperature is 0.8, which provides a balance between randomness and determinism.
|
|
58
|
-
* At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
|
|
59
|
-
*
|
|
60
|
-
* Set to `0` to disable.
|
|
61
|
-
*/
|
|
62
|
-
temperature?: number;
|
|
63
|
-
/**
|
|
64
|
-
* Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation.
|
|
65
|
-
* An integer number between `1` and the size of the vocabulary.
|
|
66
|
-
* Set to `0` to disable (which uses the full vocabulary).
|
|
67
|
-
*
|
|
68
|
-
* Only relevant when `temperature` is set to a value greater than 0.
|
|
69
|
-
* */
|
|
70
|
-
topK?: number;
|
|
71
|
-
/**
|
|
72
|
-
* Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
|
|
73
|
-
* and samples the next token only from this set.
|
|
74
|
-
* A float number between `0` and `1`.
|
|
75
|
-
* Set to `1` to disable.
|
|
76
|
-
*
|
|
77
|
-
* Only relevant when `temperature` is set to a value greater than `0`.
|
|
78
|
-
* */
|
|
79
|
-
topP?: number;
|
|
80
|
-
/** use fp16 for KV cache */
|
|
81
|
-
f16Kv?: boolean;
|
|
82
|
-
/** the llama_eval() call computes all logits, not just the last one */
|
|
83
|
-
logitsAll?: boolean;
|
|
84
|
-
/** only load the vocabulary, no weights */
|
|
85
|
-
vocabOnly?: boolean;
|
|
86
|
-
/** use mmap if possible */
|
|
87
|
-
useMmap?: boolean;
|
|
88
|
-
/** force system to keep model in RAM */
|
|
89
|
-
useMlock?: boolean;
|
|
90
|
-
/** embedding mode only */
|
|
91
|
-
embedding?: boolean;
|
|
92
|
-
});
|
|
93
|
+
constructor({ modelPath, seed, contextSize, batchSize, gpuLayers, lowVram, temperature, topK, topP, f16Kv, logitsAll, vocabOnly, useMmap, useMlock, embedding }: LlamaModelOptions);
|
|
93
94
|
static get systemInfo(): string;
|
|
94
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"LlamaModel.js","sourceRoot":"","sources":["../../src/llamaEvaluator/LlamaModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAwExD,MAAM,OAAO,UAAU;IACnB,gBAAgB;IACA,MAAM,CAAa;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,YAAmB,EACf,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EACpE,OAAO,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAC3F;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACrD,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW;YACX,SAAS;YACT,SAAS;YACT,OAAO;YACP,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC,CAAC;IACR,CAAC;IAEM,MAAM,KAAK,UAAU;QACxB,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare function compileLlamaCpp({ arch, nodeTarget,
|
|
1
|
+
export declare function compileLlamaCpp({ arch, nodeTarget, setUsedBinFlag: setUsedBinFlagArg, metal, cuda }: {
|
|
2
2
|
arch?: string;
|
|
3
3
|
nodeTarget?: string;
|
|
4
|
-
|
|
4
|
+
setUsedBinFlag?: boolean;
|
|
5
5
|
metal?: boolean;
|
|
6
6
|
cuda?: boolean;
|
|
7
7
|
}): Promise<void>;
|
|
@@ -7,9 +7,9 @@ import { clearLlamaBuild } from "./clearLlamaBuild.js";
|
|
|
7
7
|
import { setUsedBinFlag } from "./usedBinFlag.js";
|
|
8
8
|
import { spawnCommand } from "./spawnCommand.js";
|
|
9
9
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
export async function compileLlamaCpp({ arch = process.arch, nodeTarget = process.version,
|
|
10
|
+
export async function compileLlamaCpp({ arch = process.arch, nodeTarget = process.version, setUsedBinFlag: setUsedBinFlagArg = true, metal = false, cuda = false }) {
|
|
11
11
|
try {
|
|
12
|
-
if (!(await fs.
|
|
12
|
+
if (!(await fs.pathExists(llamaCppDirectory))) {
|
|
13
13
|
throw new Error(`"${llamaCppDirectory}" directory does not exist`);
|
|
14
14
|
}
|
|
15
15
|
const gypDefines = ["GGML_USE_K_QUANTS", "NAPI_CPP_EXCEPTIONS"];
|
|
@@ -45,28 +45,28 @@ export async function compileLlamaCpp({ arch = process.arch, nodeTarget = proces
|
|
|
45
45
|
await clearLlamaBuild();
|
|
46
46
|
await spawnCommand("npm", ["run", "-s", "node-gyp-llama", "--", "configure", "--arch=" + arch, "--target=" + nodeTarget], __dirname, nodeGypEnv);
|
|
47
47
|
await spawnCommand("npm", ["run", "-s", "node-gyp-llama", "--", "configure", "--arch=" + arch, "--target=" + nodeTarget, "--", "-f", "compile_commands_json"], __dirname, nodeGypEnv);
|
|
48
|
-
if (await fs.
|
|
48
|
+
if (await fs.pathExists(path.join(llamaDirectory, "Release", "compile_commands.json"))) {
|
|
49
49
|
await fs.move(path.join(llamaDirectory, "Release", "compile_commands.json"), path.join(llamaDirectory, "compile_commands.json"));
|
|
50
50
|
}
|
|
51
|
-
else if (await fs.
|
|
51
|
+
else if (await fs.pathExists(path.join(llamaDirectory, "Debug", "compile_commands.json"))) {
|
|
52
52
|
await fs.move(path.join(llamaDirectory, "Debug", "compile_commands.json"), path.join(llamaDirectory, "compile_commands.json"));
|
|
53
53
|
}
|
|
54
54
|
await fs.remove(path.join(llamaDirectory, "Release"));
|
|
55
55
|
await fs.remove(path.join(llamaDirectory, "Debug"));
|
|
56
56
|
await spawnCommand("npm", ["run", "-s", "node-gyp-llama-build", "--", "--arch=" + arch, "--target=" + nodeTarget], __dirname, nodeGypEnv);
|
|
57
|
-
if (
|
|
57
|
+
if (setUsedBinFlagArg) {
|
|
58
58
|
await setUsedBinFlag("localBuildFromSource");
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
catch (err) {
|
|
62
|
-
if (
|
|
62
|
+
if (setUsedBinFlagArg)
|
|
63
63
|
await setUsedBinFlag("prebuiltBinaries");
|
|
64
64
|
throw err;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
export async function getCompiledLlamaCppBinaryPath() {
|
|
68
68
|
const modulePath = path.join(__dirname, "..", "..", "llama", "build", "Release", "llama.node");
|
|
69
|
-
if (await fs.
|
|
69
|
+
if (await fs.pathExists(modulePath))
|
|
70
70
|
return modulePath;
|
|
71
71
|
return null;
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../src/utils/compileLLamaCpp.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAClC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../src/utils/compileLLamaCpp.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/getBin.js
CHANGED
|
@@ -17,7 +17,7 @@ export async function getPrebuildBinPath() {
|
|
|
17
17
|
async function resolvePath(platform, arch, nodeVersions) {
|
|
18
18
|
for (const nodeVersion of nodeVersions) {
|
|
19
19
|
const binPath = createPath(platform, arch, nodeVersion);
|
|
20
|
-
if (await fs.
|
|
20
|
+
if (await fs.pathExists(binPath))
|
|
21
21
|
return binPath;
|
|
22
22
|
}
|
|
23
23
|
return null;
|
|
@@ -38,8 +38,8 @@ export async function getPrebuildBinPath() {
|
|
|
38
38
|
return await getPath();
|
|
39
39
|
}
|
|
40
40
|
export async function loadBin() {
|
|
41
|
-
const
|
|
42
|
-
if (
|
|
41
|
+
const usedBinFlag = await getUsedBinFlag();
|
|
42
|
+
if (usedBinFlag === "prebuiltBinaries") {
|
|
43
43
|
const prebuildBinPath = await getPrebuildBinPath();
|
|
44
44
|
if (prebuildBinPath == null) {
|
|
45
45
|
console.warn("Prebuild binaries not found, falling back to to locally built binaries");
|
package/dist/utils/getBin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBin.js","sourceRoot":"","sources":["../../src/utils/getBin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EACH,0BAA0B,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,mBAAmB,EAC/H,kBAAkB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,uBAAuB,EAAC,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,6BAA6B,EAAC,MAAM,sBAAsB,CAAC;AAEnE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAEnE,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAY,EAAE,WAAmB;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,QAAQ,IAAI,IAAI,IAAI,WAAW,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAY,EAAE,YAAsB;QAC7E,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACpC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAExD,IAAI,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"getBin.js","sourceRoot":"","sources":["../../src/utils/getBin.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@ import fs from "fs-extra";
|
|
|
2
2
|
import { llamaBinsGrammarsDirectory, llamaCppGrammarsDirectory } from "../config.js";
|
|
3
3
|
import { getUsedBinFlag } from "./usedBinFlag.js";
|
|
4
4
|
export async function getGrammarsFolder() {
|
|
5
|
-
const
|
|
6
|
-
if (
|
|
7
|
-
if (await fs.
|
|
5
|
+
const usedBinFlag = await getUsedBinFlag();
|
|
6
|
+
if (usedBinFlag === "localBuildFromSource") {
|
|
7
|
+
if (await fs.pathExists(llamaCppGrammarsDirectory))
|
|
8
8
|
return llamaCppGrammarsDirectory;
|
|
9
9
|
}
|
|
10
|
-
else if (
|
|
11
|
-
if (await fs.
|
|
10
|
+
else if (usedBinFlag === "prebuiltBinaries") {
|
|
11
|
+
if (await fs.pathExists(llamaBinsGrammarsDirectory))
|
|
12
12
|
return llamaBinsGrammarsDirectory;
|
|
13
|
-
else if (await fs.
|
|
13
|
+
else if (await fs.pathExists(llamaCppGrammarsDirectory))
|
|
14
14
|
return llamaCppGrammarsDirectory;
|
|
15
15
|
}
|
|
16
16
|
throw new Error("Grammars folder not found");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGrammarsFolder.js","sourceRoot":"","sources":["../../src/utils/getGrammarsFolder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,MAAM,
|
|
1
|
+
{"version":3,"file":"getGrammarsFolder.js","sourceRoot":"","sources":["../../src/utils/getGrammarsFolder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,IAAI,WAAW,KAAK,sBAAsB,EAAE;QACxC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAC9C,OAAO,yBAAyB,CAAC;KACxC;SAAM,IAAI,WAAW,KAAK,kBAAkB,EAAE;QAC3C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC/C,OAAO,0BAA0B,CAAC;aACjC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YACnD,OAAO,yBAAyB,CAAC;KACxC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
root ::= (declaration)*
|
|
2
|
+
|
|
3
|
+
declaration ::= dataType identifier "(" parameter? ")" "{" statement* "}"
|
|
4
|
+
|
|
5
|
+
dataType ::= "int" ws | "float" ws | "char" ws
|
|
6
|
+
identifier ::= [a-zA-Z_] [a-zA-Z_0-9]*
|
|
7
|
+
|
|
8
|
+
parameter ::= dataType identifier
|
|
9
|
+
|
|
10
|
+
statement ::=
|
|
11
|
+
( dataType identifier ws "=" ws expression ";" ) |
|
|
12
|
+
( identifier ws "=" ws expression ";" ) |
|
|
13
|
+
( identifier ws "(" argList? ")" ";" ) |
|
|
14
|
+
( "return" ws expression ";" ) |
|
|
15
|
+
( "while" "(" condition ")" "{" statement* "}" ) |
|
|
16
|
+
( "for" "(" forInit ";" ws condition ";" ws forUpdate ")" "{" statement* "}" ) |
|
|
17
|
+
( "if" "(" condition ")" "{" statement* "}" ("else" "{" statement* "}")? ) |
|
|
18
|
+
( singleLineComment ) |
|
|
19
|
+
( multiLineComment )
|
|
20
|
+
|
|
21
|
+
forInit ::= dataType identifier ws "=" ws expression | identifier ws "=" ws expression
|
|
22
|
+
forUpdate ::= identifier ws "=" ws expression
|
|
23
|
+
|
|
24
|
+
condition ::= expression relationOperator expression
|
|
25
|
+
relationOperator ::= ("<=" | "<" | "==" | "!=" | ">=" | ">")
|
|
26
|
+
|
|
27
|
+
expression ::= term (("+" | "-") term)*
|
|
28
|
+
term ::= factor(("*" | "/") factor)*
|
|
29
|
+
|
|
30
|
+
factor ::= identifier | number | unaryTerm | funcCall | parenExpression
|
|
31
|
+
unaryTerm ::= "-" factor
|
|
32
|
+
funcCall ::= identifier "(" argList? ")"
|
|
33
|
+
parenExpression ::= "(" ws expression ws ")"
|
|
34
|
+
|
|
35
|
+
argList ::= expression ("," ws expression)*
|
|
36
|
+
|
|
37
|
+
number ::= [0-9]+
|
|
38
|
+
|
|
39
|
+
singleLineComment ::= "//" [^\n]* "\n"
|
|
40
|
+
multiLineComment ::= "/*" ( [^*] | ("*" [^/]) )* "*/"
|
|
41
|
+
|
|
42
|
+
ws ::= ([ \t\n]+)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-llama-cpp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "node.js bindings for llama.cpp",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -70,6 +70,8 @@
|
|
|
70
70
|
"prebuilt-binaries",
|
|
71
71
|
"llm",
|
|
72
72
|
"gguf",
|
|
73
|
+
"metal",
|
|
74
|
+
"cuda",
|
|
73
75
|
"grammar",
|
|
74
76
|
"json-grammar",
|
|
75
77
|
"temperature",
|