node-llama-cpp 3.0.0-beta.1 → 3.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/ChatWrapper.d.ts +49 -0
- package/dist/ChatWrapper.js +120 -0
- package/dist/ChatWrapper.js.map +1 -0
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
- package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
- package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/FalconChatWrapper.js +104 -0
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
- package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +4 -4
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +24 -16
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +2 -1
- package/dist/cli/commands/ChatCommand.js +71 -33
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +17 -10
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/llamaEvaluator/LlamaBins.d.ts +0 -1
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.d.ts +175 -0
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.js +704 -0
- package/dist/llamaEvaluator/LlamaChat/LlamaChat.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +21 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js +120 -0
- package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +117 -0
- package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
- package/dist/llamaEvaluator/{LlamaChatSession.d.ts → LlamaChatSession/LlamaChatSession.d.ts} +48 -25
- package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js +211 -0
- package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
- package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.d.ts +18 -23
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js +60 -103
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/llamaEvaluator/LlamaContext/types.d.ts +6 -14
- package/dist/llamaEvaluator/LlamaEmbeddingContext.d.ts +35 -0
- package/dist/llamaEvaluator/LlamaEmbeddingContext.js +73 -0
- package/dist/llamaEvaluator/LlamaEmbeddingContext.js.map +1 -0
- package/dist/llamaEvaluator/LlamaGrammar.d.ts +8 -12
- package/dist/llamaEvaluator/LlamaGrammar.js +7 -12
- package/dist/llamaEvaluator/LlamaGrammar.js.map +1 -1
- package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js +2 -1
- package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +1 -1
- package/dist/llamaEvaluator/LlamaModel.d.ts +10 -2
- package/dist/llamaEvaluator/LlamaModel.js +14 -3
- package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
- package/dist/types.d.ts +41 -3
- package/dist/types.js +5 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +42 -0
- package/dist/utils/LlamaText.js +207 -0
- package/dist/utils/LlamaText.js.map +1 -0
- package/dist/utils/StopGenerationDetector.d.ts +28 -0
- package/dist/utils/StopGenerationDetector.js +205 -0
- package/dist/utils/StopGenerationDetector.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.d.ts +30 -0
- package/dist/utils/TokenStreamRegulator.js +96 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -0
- package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
- package/dist/utils/appendUserMessageToChatHistory.js +18 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
- package/dist/utils/compareTokens.d.ts +2 -0
- package/dist/utils/compareTokens.js +4 -0
- package/dist/utils/compareTokens.js.map +1 -0
- package/dist/utils/compileLLamaCpp.js +11 -6
- package/dist/utils/compileLLamaCpp.js.map +1 -1
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
- package/dist/utils/gbnfJson/types.d.ts +1 -1
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getBin.d.ts +3 -2
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
- package/dist/utils/resolveChatWrapper.d.ts +4 -0
- package/dist/utils/resolveChatWrapper.js +16 -0
- package/dist/utils/resolveChatWrapper.js.map +1 -0
- package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
- package/dist/utils/truncateTextAndRoundToWords.js +27 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
- package/llama/addon.cpp +45 -17
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/mac-arm64/llama-addon.node +0 -0
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/package.json +21 -9
- package/dist/ChatPromptWrapper.d.ts +0 -11
- package/dist/ChatPromptWrapper.js +0 -20
- package/dist/ChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
- package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
- package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
- package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
- package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
- package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -15
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -39
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
- package/dist/llamaEvaluator/LlamaChatSession.js +0 -290
- package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
- package/dist/utils/getTextCompletion.d.ts +0 -3
- package/dist/utils/getTextCompletion.js +0 -12
- package/dist/utils/getTextCompletion.js.map +0 -1
- package/llamaBins/mac-arm64/ggml-metal.metal +0 -2929
- package/llamaBins/mac-x64/ggml-metal.metal +0 -2929
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/types.ts"],"names":[],"mappings":"AAyEA,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACvD,OAAQ,MAA6B,CAAC,IAAI,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,IAAI,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IACzD,OAAQ,MAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,MAA2B,EAAE,IAAO;IAEpC,IAAI,MAAM,CAAC,IAAI,YAAY,KAAK;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAChC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../types.js";
|
|
2
|
+
export declare function validateObjectAgainstGbnfSchema(object: any, schema: unknown): boolean;
|
|
2
3
|
export declare function validateObjectAgainstGbnfSchema<T extends GbnfJsonSchema>(object: any, schema: T): object is GbnfJsonSchemaToType<T>;
|
|
3
4
|
export declare class LlamaJsonSchemaValidationError extends Error {
|
|
4
5
|
readonly object: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateObjectAgainstGbnfSchema.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEgD,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EACrH,sBAAsB,EAAE,qBAAqB,EAChD,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validateObjectAgainstGbnfSchema.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/getBin.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export type BindingModule = {
|
|
|
15
15
|
seed?: number;
|
|
16
16
|
contextSize?: number;
|
|
17
17
|
batchSize?: number;
|
|
18
|
-
f16Kv?: boolean;
|
|
19
18
|
logitsAll?: boolean;
|
|
20
19
|
embedding?: boolean;
|
|
21
20
|
threads?: number;
|
|
@@ -33,7 +32,7 @@ export type BindingModule = {
|
|
|
33
32
|
};
|
|
34
33
|
export type AddonModel = {
|
|
35
34
|
dispose(): void;
|
|
36
|
-
tokenize(text: string): Uint32Array;
|
|
35
|
+
tokenize(text: string, specialTokens: boolean): Uint32Array;
|
|
37
36
|
detokenize(tokens: Uint32Array): string;
|
|
38
37
|
getTrainContextSize(): number;
|
|
39
38
|
getTotalSize(): number;
|
|
@@ -67,6 +66,8 @@ export type AddonContext = {
|
|
|
67
66
|
disposeSequence(sequenceId: number): void;
|
|
68
67
|
removeTokenCellsFromSequence(sequenceId: number, startPos: number, endPos: number): void;
|
|
69
68
|
shiftSequenceTokenCells(sequenceId: number, startPos: number, endPos: number, shiftDelta: number): void;
|
|
69
|
+
acceptGrammarEvaluationStateToken(grammarEvaluationState: AddonGrammarEvaluationState, token: Token): void;
|
|
70
|
+
getEmbedding(): Float64Array;
|
|
70
71
|
};
|
|
71
72
|
export type BatchLogitIndex = number & {
|
|
72
73
|
__batchLogitIndex: never;
|
|
@@ -4,20 +4,6 @@ export function getGbnfGrammarForGbnfJsonSchema(schema) {
|
|
|
4
4
|
const grammarGenerator = new GbnfGrammarGenerator();
|
|
5
5
|
const rootTerminal = getGbnfJsonTerminalForGbnfJsonSchema(schema, grammarGenerator);
|
|
6
6
|
const rootGrammar = rootTerminal.getGrammar(grammarGenerator);
|
|
7
|
-
|
|
8
|
-
name: "root",
|
|
9
|
-
grammar: rootGrammar + " [\\n]".repeat(4) + " [\\n]*"
|
|
10
|
-
}];
|
|
11
|
-
for (const [ruleName, grammar] of grammarGenerator.rules.entries()) {
|
|
12
|
-
if (grammar == null)
|
|
13
|
-
continue;
|
|
14
|
-
rules.push({
|
|
15
|
-
name: ruleName,
|
|
16
|
-
grammar
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
const ruleStrings = rules.map((rule) => rule.name + " ::= " + rule.grammar);
|
|
20
|
-
const gbnf = ruleStrings.join("\n");
|
|
21
|
-
return gbnf;
|
|
7
|
+
return grammarGenerator.generateGbnfFile(rootGrammar + " [\\n]".repeat(4) + " [\\n]*");
|
|
22
8
|
}
|
|
23
9
|
//# sourceMappingURL=getGbnfGrammarForGbnfJsonSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGbnfGrammarForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getGbnfGrammarForGbnfJsonSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oCAAoC,EAAC,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAGxE,MAAM,UAAU,+BAA+B,CAAC,MAAsB;IAClE,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE9D,
|
|
1
|
+
{"version":3,"file":"getGbnfGrammarForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getGbnfGrammarForGbnfJsonSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oCAAoC,EAAC,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAGxE,MAAM,UAAU,+BAA+B,CAAC,MAAsB;IAClE,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE9D,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { isGbnfJsonArraySchema, isGbnfJsonBasicSchemaIncludesType, isGbnfJsonConstSchema, isGbnfJsonEnumSchema, isGbnfJsonObjectSchema, isGbnfJsonOneOfSchema } from "./gbnfJson/types.js";
|
|
2
|
+
export function getTypeScriptTypeStringForGbnfJsonSchema(schema) {
|
|
3
|
+
if (isGbnfJsonOneOfSchema(schema)) {
|
|
4
|
+
const values = schema.oneOf
|
|
5
|
+
.map((altSchema) => getTypeScriptTypeStringForGbnfJsonSchema(altSchema));
|
|
6
|
+
return values.join(" | ");
|
|
7
|
+
}
|
|
8
|
+
else if (isGbnfJsonConstSchema(schema)) {
|
|
9
|
+
return JSON.stringify(schema.const) ?? "";
|
|
10
|
+
}
|
|
11
|
+
else if (isGbnfJsonEnumSchema(schema)) {
|
|
12
|
+
return schema.enum
|
|
13
|
+
.map((item) => JSON.stringify(item) ?? "")
|
|
14
|
+
.filter((item) => item !== "")
|
|
15
|
+
.join(" | ");
|
|
16
|
+
}
|
|
17
|
+
else if (isGbnfJsonObjectSchema(schema)) {
|
|
18
|
+
return Object.entries(schema.properties)
|
|
19
|
+
.map(([propName, propSchema]) => {
|
|
20
|
+
const escapedValue = JSON.stringify(propName) ?? "";
|
|
21
|
+
const keyText = escapedValue.slice(1, -1) === propName ? propName : escapedValue;
|
|
22
|
+
const valueType = getTypeScriptTypeStringForGbnfJsonSchema(propSchema);
|
|
23
|
+
if (keyText === "" || valueType === "")
|
|
24
|
+
return "";
|
|
25
|
+
return keyText + ": " + valueType;
|
|
26
|
+
})
|
|
27
|
+
.filter((item) => item !== "")
|
|
28
|
+
.join(", ");
|
|
29
|
+
}
|
|
30
|
+
else if (isGbnfJsonArraySchema(schema)) {
|
|
31
|
+
const valuesType = getTypeScriptTypeStringForGbnfJsonSchema(schema.items);
|
|
32
|
+
if (valuesType === "")
|
|
33
|
+
return "[]";
|
|
34
|
+
return "(" + valuesType + ")[]";
|
|
35
|
+
}
|
|
36
|
+
const types = [];
|
|
37
|
+
if (isGbnfJsonBasicSchemaIncludesType(schema, "string"))
|
|
38
|
+
types.push("string");
|
|
39
|
+
if (isGbnfJsonBasicSchemaIncludesType(schema, "number"))
|
|
40
|
+
types.push("number");
|
|
41
|
+
if (isGbnfJsonBasicSchemaIncludesType(schema, "integer"))
|
|
42
|
+
types.push("bigint");
|
|
43
|
+
if (isGbnfJsonBasicSchemaIncludesType(schema, "boolean"))
|
|
44
|
+
types.push("boolean");
|
|
45
|
+
if (isGbnfJsonBasicSchemaIncludesType(schema, "null"))
|
|
46
|
+
types.push("null");
|
|
47
|
+
return types.join(" | ");
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=getTypeScriptTypeStringForGbnfJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypeScriptTypeStringForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getTypeScriptTypeStringForGbnfJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACa,qBAAqB,EAAE,iCAAiC,EAAE,qBAAqB,EAC/F,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EACtE,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,wCAAwC,CAAC,MAAsB;IAC3E,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK;aACtB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC7C;SAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO,MAAM,CAAC,IAAI;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;SAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACvC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACjF,MAAM,SAAS,GAAG,wCAAwC,CAAC,UAAU,CAAC,CAAC;YAEvE,IAAI,OAAO,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;gBAClC,OAAO,EAAE,CAAC;YAEd,OAAO,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;QACtC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;KACnB;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,wCAAwC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,UAAU,KAAK,EAAE;YACjB,OAAO,IAAI,CAAC;QAEhB,OAAO,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC;KACnC;IAED,MAAM,KAAK,GAA4D,EAAE,CAAC;IAE1E,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1B,IAAI,iCAAiC,CAAC,MAAM,EAAE,MAAM,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ChatWrapper } from "../ChatWrapper.js";
|
|
2
|
+
import { GeneralChatWrapper } from "../chatWrappers/GeneralChatWrapper.js";
|
|
3
|
+
import { LlamaModel } from "../llamaEvaluator/LlamaModel.js";
|
|
4
|
+
export declare function resolveChatWrapper(chatWrapper: "auto" | ChatWrapper, model: LlamaModel): ChatWrapper | import("../index.js").LlamaChatWrapper | GeneralChatWrapper | import("../index.js").FalconChatWrapper;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { resolveChatWrapperBasedOnModel } from "../chatWrappers/resolveChatWrapperBasedOnModel.js";
|
|
2
|
+
import { GeneralChatWrapper } from "../chatWrappers/GeneralChatWrapper.js";
|
|
3
|
+
export function resolveChatWrapper(chatWrapper, model) {
|
|
4
|
+
if (chatWrapper === "auto") {
|
|
5
|
+
const chatWrapper = resolveChatWrapperBasedOnModel({
|
|
6
|
+
bosString: model.tokens.bosString,
|
|
7
|
+
filename: model.filename,
|
|
8
|
+
typeDescription: model.typeDescription
|
|
9
|
+
});
|
|
10
|
+
if (chatWrapper != null)
|
|
11
|
+
return new chatWrapper();
|
|
12
|
+
return new GeneralChatWrapper();
|
|
13
|
+
}
|
|
14
|
+
return chatWrapper;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=resolveChatWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveChatWrapper.js","sourceRoot":"","sources":["../../src/utils/resolveChatWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,8BAA8B,EAAC,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAGzE,MAAM,UAAU,kBAAkB,CAAC,WAAiC,EAAE,KAAiB;IACnF,IAAI,WAAW,KAAK,MAAM,EAAE;QACxB,MAAM,WAAW,GAAG,8BAA8B,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;YACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,WAAW,EAAE,CAAC;QAE7B,OAAO,IAAI,kBAAkB,EAAE,CAAC;KACnC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Truncate the given text starting from the specified index and try to round to the nearest word.
|
|
3
|
+
* @param text - The text to truncate and round
|
|
4
|
+
* @param truncateStartIndex - The index to start truncating the text at
|
|
5
|
+
* @param maxRound - The maximum number of extra characters to delete to round to the nearest word
|
|
6
|
+
* @returns - The truncated and rounded text
|
|
7
|
+
*/
|
|
8
|
+
export declare function truncateTextAndRoundToWords(text: string, truncateStartIndex: number, maxRound?: number): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const truncatePrefix = "...";
|
|
2
|
+
/**
|
|
3
|
+
* Truncate the given text starting from the specified index and try to round to the nearest word.
|
|
4
|
+
* @param text - The text to truncate and round
|
|
5
|
+
* @param truncateStartIndex - The index to start truncating the text at
|
|
6
|
+
* @param maxRound - The maximum number of extra characters to delete to round to the nearest word
|
|
7
|
+
* @returns - The truncated and rounded text
|
|
8
|
+
*/
|
|
9
|
+
export function truncateTextAndRoundToWords(text, truncateStartIndex, maxRound = 6) {
|
|
10
|
+
const res = text.slice(truncateStartIndex);
|
|
11
|
+
if (res.length === 0)
|
|
12
|
+
return res;
|
|
13
|
+
if (truncateStartIndex === 0 || text[truncateStartIndex - 1] === " ")
|
|
14
|
+
return res;
|
|
15
|
+
const nextSpaceIndex = res.indexOf(" ");
|
|
16
|
+
if (nextSpaceIndex < 0) {
|
|
17
|
+
if (res.length <= maxRound || res.length < truncatePrefix.length)
|
|
18
|
+
return "";
|
|
19
|
+
return truncatePrefix + res.slice(truncatePrefix.length);
|
|
20
|
+
}
|
|
21
|
+
if (nextSpaceIndex <= maxRound)
|
|
22
|
+
return res.slice(nextSpaceIndex + 1);
|
|
23
|
+
if (res.length < truncatePrefix.length)
|
|
24
|
+
return "";
|
|
25
|
+
return truncatePrefix + res.slice(truncatePrefix.length);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=truncateTextAndRoundToWords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateTextAndRoundToWords.js","sourceRoot":"","sources":["../../src/utils/truncateTextAndRoundToWords.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,kBAA0B,EAAE,WAAmB,CAAC;IACtG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAChB,OAAO,GAAG,CAAC;IAEf,IAAI,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK,GAAG;QAChE,OAAO,GAAG,CAAC;IAEf,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,cAAc,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;YAC5D,OAAO,EAAE,CAAC;QAEd,OAAO,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KAC5D;IAED,IAAI,cAAc,IAAI,QAAQ;QAC1B,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;QAClC,OAAO,EAAE,CAAC;IAEd,OAAO,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC"}
|
package/llama/addon.cpp
CHANGED
|
@@ -95,8 +95,9 @@ class AddonModel : public Napi::ObjectWrap<AddonModel> {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
std::string text = info[0].As<Napi::String>().Utf8Value();
|
|
98
|
+
bool specialTokens = info[1].As<Napi::Boolean>().Value();
|
|
98
99
|
|
|
99
|
-
std::vector<llama_token> tokens = llama_tokenize(model, text,
|
|
100
|
+
std::vector<llama_token> tokens = llama_tokenize(model, text, false, specialTokens);
|
|
100
101
|
|
|
101
102
|
Napi::Uint32Array result = Napi::Uint32Array::New(info.Env(), tokens.size());
|
|
102
103
|
for (size_t i = 0; i < tokens.size(); ++i) {
|
|
@@ -162,7 +163,7 @@ class AddonModel : public Napi::ObjectWrap<AddonModel> {
|
|
|
162
163
|
Napi::Error::New(info.Env(), "Context is disposed").ThrowAsJavaScriptException();
|
|
163
164
|
return info.Env().Undefined();
|
|
164
165
|
}
|
|
165
|
-
|
|
166
|
+
|
|
166
167
|
char model_desc[128];
|
|
167
168
|
int actual_length = llama_model_desc(model, model_desc, sizeof(model_desc));
|
|
168
169
|
|
|
@@ -352,29 +353,23 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
|
|
|
352
353
|
context_params.seed = -1;
|
|
353
354
|
context_params.n_ctx = 4096;
|
|
354
355
|
context_params.n_threads = 6;
|
|
355
|
-
context_params.n_threads_batch
|
|
356
|
+
context_params.n_threads_batch = context_params.n_threads;
|
|
356
357
|
|
|
357
358
|
if (info.Length() > 1 && info[1].IsObject()) {
|
|
358
359
|
Napi::Object options = info[1].As<Napi::Object>();
|
|
359
360
|
|
|
360
|
-
if (options.Has("
|
|
361
|
-
context_params.seed =
|
|
361
|
+
if (options.Has("noSeed")) {
|
|
362
|
+
context_params.seed = time(NULL);
|
|
363
|
+
} else if (options.Has("seed")) {
|
|
364
|
+
context_params.seed = options.Get("seed").As<Napi::Number>().Uint32Value();
|
|
362
365
|
}
|
|
363
366
|
|
|
364
367
|
if (options.Has("contextSize")) {
|
|
365
|
-
context_params.n_ctx = options.Get("contextSize").As<Napi::Number>().
|
|
368
|
+
context_params.n_ctx = options.Get("contextSize").As<Napi::Number>().Uint32Value();
|
|
366
369
|
}
|
|
367
370
|
|
|
368
371
|
if (options.Has("batchSize")) {
|
|
369
|
-
context_params.n_batch = options.Get("batchSize").As<Napi::Number>().
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
if (options.Has("f16Kv")) {
|
|
373
|
-
context_params.f16_kv = options.Get("f16Kv").As<Napi::Boolean>().Value();
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
if (options.Has("logitsAll")) {
|
|
377
|
-
context_params.logits_all = options.Get("logitsAll").As<Napi::Boolean>().Value();
|
|
372
|
+
context_params.n_batch = options.Get("batchSize").As<Napi::Number>().Uint32Value();
|
|
378
373
|
}
|
|
379
374
|
|
|
380
375
|
if (options.Has("embedding")) {
|
|
@@ -382,8 +377,11 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
|
|
|
382
377
|
}
|
|
383
378
|
|
|
384
379
|
if (options.Has("threads")) {
|
|
385
|
-
|
|
386
|
-
|
|
380
|
+
const auto n_threads = options.Get("threads").As<Napi::Number>().Uint32Value();
|
|
381
|
+
const auto resolved_n_threads = n_threads == 0 ? std::thread::hardware_concurrency() : n_threads;
|
|
382
|
+
|
|
383
|
+
context_params.n_threads = resolved_n_threads;
|
|
384
|
+
context_params.n_threads_batch = resolved_n_threads;
|
|
387
385
|
}
|
|
388
386
|
}
|
|
389
387
|
|
|
@@ -533,6 +531,34 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
|
|
|
533
531
|
Napi::Value DecodeBatch(const Napi::CallbackInfo& info);
|
|
534
532
|
Napi::Value SampleToken(const Napi::CallbackInfo& info);
|
|
535
533
|
|
|
534
|
+
Napi::Value AcceptGrammarEvaluationStateToken(const Napi::CallbackInfo& info) {
|
|
535
|
+
AddonGrammarEvaluationState* grammar_evaluation_state = Napi::ObjectWrap<AddonGrammarEvaluationState>::Unwrap(info[0].As<Napi::Object>());
|
|
536
|
+
llama_token tokenId = info[1].As<Napi::Number>().Int32Value();
|
|
537
|
+
|
|
538
|
+
if ((grammar_evaluation_state)->grammar != nullptr) {
|
|
539
|
+
llama_grammar_accept_token(ctx, (grammar_evaluation_state)->grammar, tokenId);
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
return info.Env().Undefined();
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
Napi::Value GetEmbedding(const Napi::CallbackInfo& info) {
|
|
546
|
+
if (disposed) {
|
|
547
|
+
Napi::Error::New(info.Env(), "Context is disposed").ThrowAsJavaScriptException();
|
|
548
|
+
return info.Env().Undefined();
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
const int n_embd = llama_n_embd(model->model);
|
|
552
|
+
const auto * embeddings = llama_get_embeddings(ctx);
|
|
553
|
+
|
|
554
|
+
Napi::Float64Array result = Napi::Float64Array::New(info.Env(), n_embd);
|
|
555
|
+
for (size_t i = 0; i < n_embd; ++i) {
|
|
556
|
+
result[i] = embeddings[i];
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
return result;
|
|
560
|
+
}
|
|
561
|
+
|
|
536
562
|
static void init(Napi::Object exports) {
|
|
537
563
|
exports.Set(
|
|
538
564
|
"AddonContext",
|
|
@@ -548,6 +574,8 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
|
|
|
548
574
|
InstanceMethod("shiftSequenceTokenCells", &AddonContext::ShiftSequenceTokenCells),
|
|
549
575
|
InstanceMethod("decodeBatch", &AddonContext::DecodeBatch),
|
|
550
576
|
InstanceMethod("sampleToken", &AddonContext::SampleToken),
|
|
577
|
+
InstanceMethod("acceptGrammarEvaluationStateToken", &AddonContext::AcceptGrammarEvaluationStateToken),
|
|
578
|
+
InstanceMethod("getEmbedding", &AddonContext::GetEmbedding),
|
|
551
579
|
InstanceMethod("dispose", &AddonContext::Dispose)
|
|
552
580
|
}
|
|
553
581
|
)
|
package/llama/gitRelease.bundle
CHANGED
|
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": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.3",
|
|
4
4
|
"description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -47,16 +47,19 @@
|
|
|
47
47
|
"prewatch": "rimraf ./dist ./tsconfig.tsbuildinfo",
|
|
48
48
|
"watch": "tsc --build tsconfig.json --watch --force",
|
|
49
49
|
"cmake-js-llama": "cd llama && cmake-js",
|
|
50
|
-
"test": "npm run test:typescript && npm run lint:eslint && npm run test:standalone",
|
|
51
|
-
"test:standalone": "vitest run ./test",
|
|
52
|
-
"test:standalone:interactive": "vitest watch ./test",
|
|
50
|
+
"test": "npm run test:typescript && npm run lint:eslint && npm run test:standalone && npm run test:modelDependent",
|
|
51
|
+
"test:standalone": "vitest run ./test/standalone",
|
|
52
|
+
"test:standalone:interactive": "vitest watch ./test/standalone",
|
|
53
|
+
"test:modelDependent": "vitest run ./test/modelDependent",
|
|
54
|
+
"test:modelDependent:interactive": "vitest watch ./test/modelDependent",
|
|
53
55
|
"test:typescript": "tsc --build tsconfig.json --dry --force",
|
|
54
56
|
"lint": "npm run lint:eslint",
|
|
55
57
|
"lint:eslint": "eslint --ext .js --ext .ts .",
|
|
56
58
|
"format": "npm run lint:eslint -- --fix",
|
|
57
|
-
"dev:setup": "
|
|
59
|
+
"dev:setup:downloadAllTestModels": "node --loader ts-node/esm test/utils/scripts/downloadAllTestModels.ts",
|
|
60
|
+
"dev:setup": "npm run build && node ./dist/cli/cli.js download && npm run docs:generateTypedoc && npm run dev:setup:downloadAllTestModels",
|
|
58
61
|
"dev:build": "npm run build && node ./dist/cli/cli.js build",
|
|
59
|
-
"clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo",
|
|
62
|
+
"clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo ./test/.models",
|
|
60
63
|
"docs:generateTypedoc": "typedoc && rimraf ./docs/api/index.md ./docs/api/exports.md",
|
|
61
64
|
"docs:dev": "npm run docs:generateTypedoc && vitepress dev",
|
|
62
65
|
"docs:build": "npm run docs:generateTypedoc && vitepress build",
|
|
@@ -121,16 +124,17 @@
|
|
|
121
124
|
"eslint-plugin-jsdoc": "^46.9.0",
|
|
122
125
|
"eslint-plugin-n": "^16.3.1",
|
|
123
126
|
"husky": "^8.0.3",
|
|
127
|
+
"ipull": "^1.2.1",
|
|
124
128
|
"rimraf": "^5.0.1",
|
|
125
129
|
"semantic-release": "^22.0.8",
|
|
126
130
|
"ts-node": "^10.9.1",
|
|
127
131
|
"tslib": "^2.6.1",
|
|
128
132
|
"typedoc": "^0.25.3",
|
|
129
|
-
"typedoc-plugin-markdown": "4.0.0-next.
|
|
133
|
+
"typedoc-plugin-markdown": "4.0.0-next.41",
|
|
130
134
|
"typedoc-plugin-mdn-links": "^3.1.5",
|
|
131
|
-
"typedoc-vitepress-theme": "^1.0.0-next.
|
|
135
|
+
"typedoc-vitepress-theme": "^1.0.0-next.7",
|
|
132
136
|
"typescript": "^5.2.2",
|
|
133
|
-
"vitepress": "
|
|
137
|
+
"vitepress": "1.0.0-rc.22",
|
|
134
138
|
"vitest": "^0.34.6",
|
|
135
139
|
"zx": "^7.2.3"
|
|
136
140
|
},
|
|
@@ -152,5 +156,13 @@
|
|
|
152
156
|
"uuid": "^9.0.0",
|
|
153
157
|
"which": "^4.0.0",
|
|
154
158
|
"yargs": "^17.7.2"
|
|
159
|
+
},
|
|
160
|
+
"peerDependencies": {
|
|
161
|
+
"typescript": ">=5.0.0"
|
|
162
|
+
},
|
|
163
|
+
"peerDependenciesMeta": {
|
|
164
|
+
"typescript": {
|
|
165
|
+
"optional": true
|
|
166
|
+
}
|
|
155
167
|
}
|
|
156
168
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare abstract class ChatPromptWrapper {
|
|
2
|
-
abstract readonly wrapperName: string;
|
|
3
|
-
wrapPrompt(prompt: string, { systemPrompt, promptIndex }: {
|
|
4
|
-
systemPrompt: string;
|
|
5
|
-
promptIndex: number;
|
|
6
|
-
lastStopString: string | null;
|
|
7
|
-
lastStopStringSuffix: string | null;
|
|
8
|
-
}): string;
|
|
9
|
-
getStopStrings(): string[];
|
|
10
|
-
getDefaultStopString(): string;
|
|
11
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class ChatPromptWrapper {
|
|
2
|
-
wrapPrompt(prompt, { systemPrompt, promptIndex }) {
|
|
3
|
-
if (promptIndex === 0) {
|
|
4
|
-
return systemPrompt + "\n" + prompt;
|
|
5
|
-
}
|
|
6
|
-
else {
|
|
7
|
-
return prompt;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
getStopStrings() {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
getDefaultStopString() {
|
|
14
|
-
const stopString = this.getStopStrings()[0];
|
|
15
|
-
if (stopString == null || stopString.length === 0)
|
|
16
|
-
throw new Error(`Prompt wrapper "${this.wrapperName}" has no stop strings`);
|
|
17
|
-
return stopString;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=ChatPromptWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPromptWrapper.js","sourceRoot":"","sources":["../src/ChatPromptWrapper.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,iBAAiB;IAG5B,UAAU,CAAC,MAAc,EAAE,EAAC,YAAY,EAAE,WAAW,EAE3D;QACG,IAAI,WAAW,KAAK,CAAC,EAAE;YACnB,OAAO,YAAY,GAAG,IAAI,GAAG,MAAM,CAAC;SACvC;aAAM;YACH,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAEM,cAAc;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,oBAAoB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,WAAW,uBAAuB,CAAC,CAAC;QAEhF,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
2
|
-
export declare class ChatMLChatPromptWrapper extends ChatPromptWrapper {
|
|
3
|
-
readonly wrapperName: string;
|
|
4
|
-
wrapPrompt(prompt: string, { systemPrompt, promptIndex, lastStopString, lastStopStringSuffix }: {
|
|
5
|
-
systemPrompt: string;
|
|
6
|
-
promptIndex: number;
|
|
7
|
-
lastStopString: string | null;
|
|
8
|
-
lastStopStringSuffix: string | null;
|
|
9
|
-
}): string;
|
|
10
|
-
getStopStrings(): string[];
|
|
11
|
-
getDefaultStopString(): string;
|
|
12
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
2
|
-
import { getTextCompletion } from "../utils/getTextCompletion.js";
|
|
3
|
-
// source: https://github.com/openai/openai-python/blob/120d225b91a8453e15240a49fb1c6794d8119326/chatml.md
|
|
4
|
-
export class ChatMLChatPromptWrapper extends ChatPromptWrapper {
|
|
5
|
-
wrapperName = "ChatML";
|
|
6
|
-
wrapPrompt(prompt, { systemPrompt, promptIndex, lastStopString, lastStopStringSuffix }) {
|
|
7
|
-
const previousCompletionEnd = (lastStopString ?? "") + (lastStopStringSuffix ?? "");
|
|
8
|
-
if (promptIndex === 0 && systemPrompt != "")
|
|
9
|
-
return (getTextCompletion(previousCompletionEnd, "<|im_start|>system\n") ?? "<|im_start|>system\n") +
|
|
10
|
-
systemPrompt + "<|im_end|>\n<|im_start|>user\n" + prompt + "<|im_end|>\n<|im_start|>assistant\n";
|
|
11
|
-
else
|
|
12
|
-
return (getTextCompletion(previousCompletionEnd, "<|im_end|>\n<|im_start|>user\n") ?? "<|im_end|>\n<|im_start|>user\n") +
|
|
13
|
-
prompt + "<|im_end|>\n<|im_start|>assistant\n";
|
|
14
|
-
}
|
|
15
|
-
getStopStrings() {
|
|
16
|
-
return ["<|im_end|>"];
|
|
17
|
-
}
|
|
18
|
-
getDefaultStopString() {
|
|
19
|
-
return "<|im_end|>";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=ChatMLChatPromptWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMLChatPromptWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/ChatMLChatPromptWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAEhE,0GAA0G;AAC1G,MAAM,OAAO,uBAAwB,SAAQ,iBAAiB;IAC1C,WAAW,GAAW,QAAQ,CAAC;IAE/B,UAAU,CAAC,MAAc,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAE1G;QACG,MAAM,qBAAqB,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QAEpF,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,IAAI,EAAE;YACvC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,IAAI,sBAAsB,CAAC;gBAC/F,YAAY,GAAG,gCAAgC,GAAG,MAAM,GAAG,qCAAqC,CAAC;;YAErG,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,IAAI,gCAAgC,CAAC;gBACnH,MAAM,GAAG,qCAAqC,CAAC;IAC3D,CAAC;IAEe,cAAc;QAC1B,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAEe,oBAAoB;QAChC,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyChatPromptWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/EmptyChatPromptWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,iBAAiB;IACzC,WAAW,GAAW,OAAO,CAAC;CACjD"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
2
|
-
export declare class FalconChatPromptWrapper extends ChatPromptWrapper {
|
|
3
|
-
readonly wrapperName: string;
|
|
4
|
-
private readonly _instructionName;
|
|
5
|
-
private readonly _responseName;
|
|
6
|
-
constructor({ instructionName, responseName }?: {
|
|
7
|
-
instructionName?: string;
|
|
8
|
-
responseName?: string;
|
|
9
|
-
});
|
|
10
|
-
wrapPrompt(prompt: string, { systemPrompt, promptIndex, lastStopString, lastStopStringSuffix }: {
|
|
11
|
-
systemPrompt: string;
|
|
12
|
-
promptIndex: number;
|
|
13
|
-
lastStopString: string | null;
|
|
14
|
-
lastStopStringSuffix: string | null;
|
|
15
|
-
}): string;
|
|
16
|
-
getStopStrings(): string[];
|
|
17
|
-
getDefaultStopString(): string;
|
|
18
|
-
private _getPromptPrefix;
|
|
19
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
2
|
-
import { getTextCompletion } from "../utils/getTextCompletion.js";
|
|
3
|
-
export class FalconChatPromptWrapper extends ChatPromptWrapper {
|
|
4
|
-
wrapperName = "Falcon";
|
|
5
|
-
_instructionName;
|
|
6
|
-
_responseName;
|
|
7
|
-
constructor({ instructionName = "User", responseName = "Assistant" } = {}) {
|
|
8
|
-
super();
|
|
9
|
-
this._instructionName = instructionName;
|
|
10
|
-
this._responseName = responseName;
|
|
11
|
-
}
|
|
12
|
-
wrapPrompt(prompt, { systemPrompt, promptIndex, lastStopString, lastStopStringSuffix }) {
|
|
13
|
-
if (promptIndex === 0)
|
|
14
|
-
return systemPrompt + `\n${this._instructionName}: ` + prompt + `\n${this._responseName}: `;
|
|
15
|
-
return this._getPromptPrefix(lastStopString, lastStopStringSuffix) + prompt + `\n${this._responseName}: `;
|
|
16
|
-
}
|
|
17
|
-
getStopStrings() {
|
|
18
|
-
return [
|
|
19
|
-
`\n${this._instructionName}: `,
|
|
20
|
-
`\n${this._responseName}:`
|
|
21
|
-
];
|
|
22
|
-
}
|
|
23
|
-
getDefaultStopString() {
|
|
24
|
-
return `\n${this._instructionName}: `;
|
|
25
|
-
}
|
|
26
|
-
_getPromptPrefix(lastStopString, lastStopStringSuffix) {
|
|
27
|
-
return getTextCompletion((lastStopString ?? "") + (lastStopStringSuffix ?? ""), [
|
|
28
|
-
`\n${this._instructionName}: `,
|
|
29
|
-
`${this._instructionName}: `
|
|
30
|
-
]) ?? `\n${this._instructionName}: `;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=FalconChatPromptWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FalconChatPromptWrapper.js","sourceRoot":"","sources":["../../src/chatWrappers/FalconChatPromptWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAEhE,MAAM,OAAO,uBAAwB,SAAQ,iBAAiB;IAC1C,WAAW,GAAW,QAAQ,CAAC;IAC9B,gBAAgB,CAAS;IACzB,aAAa,CAAS;IAEvC,YAAmB,EAAC,eAAe,GAAG,MAAM,EAAE,YAAY,GAAG,WAAW,KAAuD,EAAE;QAC7H,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAEe,UAAU,CAAC,MAAc,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAE1G;QACG,IAAI,WAAW,KAAK,CAAC;YACjB,OAAO,YAAY,GAAG,KAAK,IAAI,CAAC,gBAAgB,IAAI,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC;QAEhG,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC;IAC9G,CAAC;IAEe,cAAc;QAC1B,OAAO;YACH,KAAK,IAAI,CAAC,gBAAgB,IAAI;YAC9B,KAAK,IAAI,CAAC,aAAa,GAAG;SAC7B,CAAC;IACN,CAAC;IAEe,oBAAoB;QAChC,OAAO,KAAK,IAAI,CAAC,gBAAgB,IAAI,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,cAA6B,EAAE,oBAAmC;QACvF,OAAO,iBAAiB,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE;YAC5E,KAAK,IAAI,CAAC,gBAAgB,IAAI;YAC9B,GAAG,IAAI,CAAC,gBAAgB,IAAI;SAC/B,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,IAAI,CAAC;IACzC,CAAC;CACJ"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ChatPromptWrapper } from "../ChatPromptWrapper.js";
|
|
2
|
-
export declare class GeneralChatPromptWrapper extends ChatPromptWrapper {
|
|
3
|
-
readonly wrapperName: string;
|
|
4
|
-
private readonly _instructionName;
|
|
5
|
-
private readonly _responseName;
|
|
6
|
-
constructor({ instructionName, responseName }?: {
|
|
7
|
-
instructionName?: string;
|
|
8
|
-
responseName?: string;
|
|
9
|
-
});
|
|
10
|
-
wrapPrompt(prompt: string, { systemPrompt, promptIndex, lastStopString, lastStopStringSuffix }: {
|
|
11
|
-
systemPrompt: string;
|
|
12
|
-
promptIndex: number;
|
|
13
|
-
lastStopString: string | null;
|
|
14
|
-
lastStopStringSuffix: string | null;
|
|
15
|
-
}): string;
|
|
16
|
-
getStopStrings(): string[];
|
|
17
|
-
getDefaultStopString(): string;
|
|
18
|
-
private _getPromptPrefix;
|
|
19
|
-
}
|