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
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../../../utils/gbnfJson/types.js";
|
|
2
2
|
import { ChatSessionModelFunction } from "../../../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* @param functionDefinition
|
|
5
|
+
*/
|
|
3
6
|
export declare function defineChatSessionFunction<const Params extends GbnfJsonSchema | undefined>({ description, params, handler }: {
|
|
4
7
|
description?: string;
|
|
5
8
|
params?: Params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineChatSessionFunction.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaChatSession/utils/defineChatSessionFunction.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,yBAAyB,CAAkD,EACvF,WAAW,EACX,MAAM,EACN,OAAO,EAKV;IACG,OAAO;QACH,WAAW;QACX,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"defineChatSessionFunction.js","sourceRoot":"","sources":["../../../../src/evaluator/LlamaChatSession/utils/defineChatSessionFunction.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAkD,EACvF,WAAW,EACX,MAAM,EACN,OAAO,EAKV;IACG,OAAO;QACH,WAAW;QACX,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { EventRelay } from "lifecycle-utils";
|
|
2
2
|
import { Token } from "../../types.js";
|
|
3
|
-
import { LlamaModel } from "../LlamaModel.js";
|
|
4
3
|
import { LlamaGrammarEvaluationState } from "../LlamaGrammarEvaluationState.js";
|
|
5
|
-
import { ContextShiftOptions, ContextTokensDeleteRange, EvaluationPriority,
|
|
4
|
+
import { ContextShiftOptions, ContextTokensDeleteRange, EvaluationPriority, LlamaContextSequenceRepeatPenalty } from "./types.js";
|
|
5
|
+
import type { LlamaModel } from "../LlamaModel.js";
|
|
6
6
|
export declare class LlamaContext {
|
|
7
7
|
readonly onDispose: EventRelay<void>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
constructor({ model, sequences, seed, contextSize, batchSize, threads, batching: { dispatchSchedule: batchingDispatchSchedule, itemsPrioritizingStrategy: batchingItemsPrioritizingStrategy }, _embedding, _noSeed }: LlamaContextOptions);
|
|
12
|
-
dispose(): void;
|
|
8
|
+
private constructor();
|
|
9
|
+
dispose(): Promise<void>;
|
|
13
10
|
/** @hidden */
|
|
14
|
-
[Symbol.
|
|
11
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
15
12
|
get disposed(): boolean;
|
|
16
13
|
get model(): LlamaModel;
|
|
17
14
|
get contextSize(): number;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { DisposeAggregator, EventRelay, withLock, DisposedError } from "lifecycle-utils";
|
|
1
|
+
import { DisposeAggregator, EventRelay, withLock, DisposedError, AsyncDisposeAggregator } from "lifecycle-utils";
|
|
2
2
|
import { removeNullFields } from "../../utils/removeNullFields.js";
|
|
3
3
|
import { compareTokens } from "../../utils/compareTokens.js";
|
|
4
|
+
import { DisposeGuard } from "../../utils/DisposeGuard.js";
|
|
4
5
|
import { resolveBatchItemsPrioritizingStrategy } from "./utils/resolveBatchItemsPrioritizingStrategy.js";
|
|
5
6
|
export class LlamaContext {
|
|
6
7
|
/** @internal */ _llama;
|
|
7
8
|
/** @internal */ _ctx;
|
|
8
9
|
/** @internal */ _onReclaimUnusedSequenceId = new EventRelay();
|
|
10
|
+
/** @internal */ _backendContextDisposeGuard;
|
|
9
11
|
/** @internal */ _model;
|
|
10
12
|
/** @internal */ _contextSize;
|
|
11
13
|
/** @internal */ _batchSize;
|
|
@@ -14,7 +16,8 @@ export class LlamaContext {
|
|
|
14
16
|
/** @internal */ _batchingOptions;
|
|
15
17
|
/** @internal */ _queuedDecodeSequenceIds = new Set();
|
|
16
18
|
/** @internal */ _queuedDecodes = [];
|
|
17
|
-
/** @internal */ _disposeAggregator = new
|
|
19
|
+
/** @internal */ _disposeAggregator = new AsyncDisposeAggregator();
|
|
20
|
+
/** @internal */ _modelPreventDisposalHandle;
|
|
18
21
|
/** @internal */ _nextGeneratedSequenceId = 0;
|
|
19
22
|
/** @internal */ _dispatchDecodeScheduled = false;
|
|
20
23
|
/** @internal */ _batchDispatchPending = false;
|
|
@@ -22,14 +25,13 @@ export class LlamaContext {
|
|
|
22
25
|
/** @internal */ _allocatedContextSize;
|
|
23
26
|
/** @internal */ _disposed = false;
|
|
24
27
|
onDispose = new EventRelay();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
constructor({ model, sequences = 1, seed = null, contextSize = model.trainContextSize, batchSize = contextSize, threads = 6, batching: { dispatchSchedule: batchingDispatchSchedule = "nextTick", itemsPrioritizingStrategy: batchingItemsPrioritizingStrategy = "maximumParallelism" } = {}, _embedding, _noSeed }) {
|
|
29
|
-
if (model.disposed)
|
|
28
|
+
constructor({ _model }, { sequences = 1, seed = null, contextSize = _model.trainContextSize, batchSize = Math.min(contextSize * sequences, 512), threads = 6, batching: { dispatchSchedule: batchingDispatchSchedule = "nextTick", itemsPrioritizingStrategy: batchingItemsPrioritizingStrategy = "maximumParallelism" } = {}, _embeddings, _noSeed }) {
|
|
29
|
+
if (_model.disposed)
|
|
30
30
|
throw new DisposedError();
|
|
31
|
-
this._llama =
|
|
32
|
-
this._model =
|
|
31
|
+
this._llama = _model._llama;
|
|
32
|
+
this._model = _model;
|
|
33
|
+
this._backendContextDisposeGuard = new DisposeGuard([this._model._backendModelDisposeGuard]);
|
|
34
|
+
this._modelPreventDisposalHandle = this._model._backendModelDisposeGuard.createPreventDisposalHandle();
|
|
33
35
|
this._totalSequences = Math.max(1, Math.floor(sequences));
|
|
34
36
|
this._contextSize = Math.max(2, contextSize);
|
|
35
37
|
this._batchSize = Math.max(batchSize, this._totalSequences);
|
|
@@ -38,7 +40,7 @@ export class LlamaContext {
|
|
|
38
40
|
contextSize: this._contextSize * this._totalSequences,
|
|
39
41
|
batchSize: this._batchSize,
|
|
40
42
|
threads: Math.max(0, Math.floor(threads)),
|
|
41
|
-
|
|
43
|
+
embeddings: _embeddings,
|
|
42
44
|
noSeed: _noSeed
|
|
43
45
|
}));
|
|
44
46
|
this._batchingOptions = {
|
|
@@ -46,21 +48,26 @@ export class LlamaContext {
|
|
|
46
48
|
itemsPrioritizingStrategy: batchingItemsPrioritizingStrategy
|
|
47
49
|
};
|
|
48
50
|
this._reclaimUnusedSequenceId = this._reclaimUnusedSequenceId.bind(this);
|
|
49
|
-
this._disposeAggregator.add(this._onReclaimUnusedSequenceId);
|
|
50
|
-
this._disposeAggregator.add(this.onDispose.dispatchEvent);
|
|
51
51
|
this._disposeAggregator.add(() => {
|
|
52
|
-
this.
|
|
52
|
+
this._disposed = true;
|
|
53
53
|
});
|
|
54
|
+
this._disposeAggregator.add(this._onReclaimUnusedSequenceId);
|
|
55
|
+
this._disposeAggregator.add(this.onDispose.dispatchEvent);
|
|
54
56
|
this._disposeAggregator.add(this.model.onDispose.createListener(disposeContextIfReferenced.bind(null, new WeakRef(this))));
|
|
57
|
+
this._disposeAggregator.add(async () => {
|
|
58
|
+
await this._backendContextDisposeGuard.acquireDisposeLock();
|
|
59
|
+
await this._ctx.dispose();
|
|
60
|
+
this._modelPreventDisposalHandle.dispose();
|
|
61
|
+
});
|
|
55
62
|
}
|
|
56
|
-
dispose() {
|
|
63
|
+
async dispose() {
|
|
57
64
|
if (this._disposed)
|
|
58
65
|
return;
|
|
59
66
|
this._disposed = true;
|
|
60
|
-
this._disposeAggregator.dispose();
|
|
67
|
+
await this._disposeAggregator.dispose();
|
|
61
68
|
}
|
|
62
69
|
/** @hidden */
|
|
63
|
-
[Symbol.
|
|
70
|
+
[Symbol.asyncDispose]() {
|
|
64
71
|
return this.dispose();
|
|
65
72
|
}
|
|
66
73
|
get disposed() {
|
|
@@ -169,66 +176,80 @@ export class LlamaContext {
|
|
|
169
176
|
});
|
|
170
177
|
currentBatchSize += processAmount;
|
|
171
178
|
}
|
|
172
|
-
|
|
173
|
-
this._ctx.initBatch(currentBatchSize);
|
|
174
|
-
for (const { queuedDecode, processAmount } of currentBatchItems) {
|
|
175
|
-
let batchLogitIndex;
|
|
176
|
-
try {
|
|
177
|
-
batchLogitIndex = this._ctx.addToBatch(queuedDecode.sequenceId, queuedDecode.firstTokenSequenceIndex, Uint32Array.from(queuedDecode.tokens.slice(0, processAmount)), queuedDecode.generateLogitAtTheEnd && processAmount === queuedDecode.tokens.length);
|
|
178
|
-
}
|
|
179
|
-
catch (err) {
|
|
180
|
-
this._dispatchErrorForQueuedDecodesAndDequeue(new Set([queuedDecode]), err);
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
currentQueuedDecodeItems.add(queuedDecode);
|
|
184
|
-
if (queuedDecode.tokens.length === processAmount) {
|
|
185
|
-
queuedDecodesToDelete.add(queuedDecode);
|
|
186
|
-
afterDecodeActions.push({
|
|
187
|
-
batchLogitIndex,
|
|
188
|
-
response: queuedDecode.response,
|
|
189
|
-
onDone: queuedDecode.onDone
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
queuedDecode.tokens = queuedDecode.tokens.slice(processAmount);
|
|
194
|
-
queuedDecode.firstTokenSequenceIndex += processAmount;
|
|
195
|
-
}
|
|
196
|
-
if (batchTokenSlotsLeft === 0)
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
for (let i = 0; i < this._queuedDecodes.length; i++) {
|
|
200
|
-
const queuedDecode = this._queuedDecodes[i];
|
|
201
|
-
if (queuedDecodesToDelete.has(queuedDecode)) {
|
|
202
|
-
this._queuedDecodes.splice(i, 1);
|
|
203
|
-
this._queuedDecodeSequenceIds.delete(queuedDecode.sequenceId);
|
|
204
|
-
i--;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
shouldHaveAnotherBatch = this._queuedDecodes.length > 0;
|
|
179
|
+
let preventDisposalHandle;
|
|
208
180
|
try {
|
|
209
|
-
|
|
210
|
-
await this._ctx.decodeBatch();
|
|
181
|
+
preventDisposalHandle = this._backendContextDisposeGuard.createPreventDisposalHandle();
|
|
211
182
|
}
|
|
212
183
|
catch (err) {
|
|
213
|
-
this._dispatchErrorForQueuedDecodesAndDequeue(
|
|
184
|
+
this._dispatchErrorForQueuedDecodesAndDequeue(new Set(this._queuedDecodes), err);
|
|
214
185
|
return;
|
|
215
186
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
187
|
+
try {
|
|
188
|
+
if (currentBatchSize !== 0)
|
|
189
|
+
this._ctx.initBatch(currentBatchSize);
|
|
190
|
+
for (const { queuedDecode, processAmount } of currentBatchItems) {
|
|
191
|
+
let batchLogitIndex;
|
|
219
192
|
try {
|
|
220
|
-
|
|
193
|
+
batchLogitIndex = this._ctx.addToBatch(queuedDecode.sequenceId, queuedDecode.firstTokenSequenceIndex, Uint32Array.from(queuedDecode.tokens.slice(0, processAmount)), queuedDecode.generateLogitAtTheEnd && processAmount === queuedDecode.tokens.length);
|
|
221
194
|
}
|
|
222
195
|
catch (err) {
|
|
223
|
-
|
|
196
|
+
this._dispatchErrorForQueuedDecodesAndDequeue(new Set([queuedDecode]), err);
|
|
197
|
+
continue;
|
|
224
198
|
}
|
|
199
|
+
currentQueuedDecodeItems.add(queuedDecode);
|
|
200
|
+
if (queuedDecode.tokens.length === processAmount) {
|
|
201
|
+
queuedDecodesToDelete.add(queuedDecode);
|
|
202
|
+
afterDecodeActions.push({
|
|
203
|
+
batchLogitIndex,
|
|
204
|
+
response: queuedDecode.response,
|
|
205
|
+
onDone: queuedDecode.onDone
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
queuedDecode.tokens = queuedDecode.tokens.slice(processAmount);
|
|
210
|
+
queuedDecode.firstTokenSequenceIndex += processAmount;
|
|
211
|
+
}
|
|
212
|
+
if (batchTokenSlotsLeft === 0)
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
for (let i = 0; i < this._queuedDecodes.length; i++) {
|
|
216
|
+
const queuedDecode = this._queuedDecodes[i];
|
|
217
|
+
if (queuedDecodesToDelete.has(queuedDecode)) {
|
|
218
|
+
this._queuedDecodes.splice(i, 1);
|
|
219
|
+
this._queuedDecodeSequenceIds.delete(queuedDecode.sequenceId);
|
|
220
|
+
i--;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
shouldHaveAnotherBatch = this._queuedDecodes.length > 0;
|
|
224
|
+
try {
|
|
225
|
+
if (currentBatchSize !== 0)
|
|
226
|
+
await this._ctx.decodeBatch();
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
this._dispatchErrorForQueuedDecodesAndDequeue(currentQueuedDecodeItems, err);
|
|
230
|
+
return;
|
|
225
231
|
}
|
|
226
|
-
|
|
232
|
+
for (const action of afterDecodeActions) {
|
|
233
|
+
const [accept, reject] = action.response;
|
|
234
|
+
if (action.onDone != null && action.batchLogitIndex != null) {
|
|
235
|
+
try {
|
|
236
|
+
accept(action.onDone(action.batchLogitIndex ?? null));
|
|
237
|
+
}
|
|
238
|
+
catch (err) {
|
|
239
|
+
reject(err);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
accept(undefined);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
finally {
|
|
246
|
+
preventDisposalHandle.dispose();
|
|
227
247
|
}
|
|
228
248
|
}
|
|
229
249
|
});
|
|
230
250
|
}
|
|
231
251
|
async printTimings() {
|
|
252
|
+
this._ensureNotDisposed();
|
|
232
253
|
this._ctx.printTimings();
|
|
233
254
|
await new Promise((accept) => setTimeout(accept, 0)); // wait for the logs to finish printing
|
|
234
255
|
}
|
|
@@ -253,6 +274,8 @@ export class LlamaContext {
|
|
|
253
274
|
if (this._disposed)
|
|
254
275
|
return;
|
|
255
276
|
void withLock(this, "context", async () => {
|
|
277
|
+
if (this._disposed)
|
|
278
|
+
return;
|
|
256
279
|
this._ctx.disposeSequence(sequenceId);
|
|
257
280
|
this._unusedSequenceIds.push(sequenceId);
|
|
258
281
|
this._onReclaimUnusedSequenceId.dispatchEvent();
|
|
@@ -312,6 +335,20 @@ export class LlamaContext {
|
|
|
312
335
|
if (this._disposed)
|
|
313
336
|
throw new DisposedError();
|
|
314
337
|
}
|
|
338
|
+
/** @internal */
|
|
339
|
+
static async _create(options, { _model }) {
|
|
340
|
+
const context = new LlamaContext({ _model }, options);
|
|
341
|
+
const { createSignal } = options;
|
|
342
|
+
const contextLoaded = await context._ctx.init();
|
|
343
|
+
if (createSignal?.aborted) {
|
|
344
|
+
if (contextLoaded)
|
|
345
|
+
await context._ctx.dispose();
|
|
346
|
+
throw createSignal.reason;
|
|
347
|
+
}
|
|
348
|
+
else if (!contextLoaded)
|
|
349
|
+
throw new Error("Failed to create context");
|
|
350
|
+
return context;
|
|
351
|
+
}
|
|
315
352
|
}
|
|
316
353
|
export class LlamaContextSequence {
|
|
317
354
|
/** @internal */ _sequenceId;
|
|
@@ -396,6 +433,8 @@ export class LlamaContextSequence {
|
|
|
396
433
|
this._ensureNotDisposed();
|
|
397
434
|
if (ranges.length === 0)
|
|
398
435
|
return;
|
|
436
|
+
// if the deletion fails, we'll have to dispose the sequence and fill it up again
|
|
437
|
+
let deletionSuccessful = true;
|
|
399
438
|
const resolvedRanges = ranges
|
|
400
439
|
.map(({ start, end }) => {
|
|
401
440
|
if (start === end)
|
|
@@ -425,15 +464,22 @@ export class LlamaContextSequence {
|
|
|
425
464
|
let lastDeleteRangeEndPos = null;
|
|
426
465
|
for (const range of resolvedRanges) {
|
|
427
466
|
this._contextTokens.splice(range.start - removedTokens, range.end - range.start);
|
|
428
|
-
|
|
429
|
-
|
|
467
|
+
if (deletionSuccessful)
|
|
468
|
+
deletionSuccessful &&= this._context._ctx.removeTokenCellsFromSequence(this._sequenceId, range.start, range.end);
|
|
469
|
+
if (deletionSuccessful && lastDeleteRangeEndPos != null && removedTokens > 0 && lastDeleteRangeEndPos !== range.start)
|
|
430
470
|
this._context._ctx.shiftSequenceTokenCells(this._sequenceId, lastDeleteRangeEndPos, range.start, -removedTokens);
|
|
431
471
|
removedTokens += range.end - range.start;
|
|
432
472
|
lastDeleteRangeEndPos = range.end;
|
|
433
473
|
}
|
|
434
|
-
if (lastDeleteRangeEndPos != null && removedTokens > 0 && lastDeleteRangeEndPos !== this._nextTokenIndex)
|
|
474
|
+
if (deletionSuccessful && lastDeleteRangeEndPos != null && removedTokens > 0 && lastDeleteRangeEndPos !== this._nextTokenIndex)
|
|
435
475
|
this._context._ctx.shiftSequenceTokenCells(this._sequenceId, lastDeleteRangeEndPos, this._nextTokenIndex, -removedTokens);
|
|
436
476
|
this._nextTokenIndex -= removedTokens;
|
|
477
|
+
if (deletionSuccessful)
|
|
478
|
+
return;
|
|
479
|
+
const newSequenceTokens = this._contextTokens.slice();
|
|
480
|
+
this._nextTokenIndex = 0;
|
|
481
|
+
this._context._ctx.disposeSequence(this._sequenceId);
|
|
482
|
+
await this.evaluateWithoutGeneratingNewTokens(newSequenceTokens);
|
|
437
483
|
});
|
|
438
484
|
}
|
|
439
485
|
/**
|
|
@@ -600,7 +646,7 @@ export class LlamaContextSequence {
|
|
|
600
646
|
function disposeContextIfReferenced(contextRef) {
|
|
601
647
|
const context = contextRef.deref();
|
|
602
648
|
if (context != null)
|
|
603
|
-
context.dispose();
|
|
649
|
+
void context.dispose();
|
|
604
650
|
}
|
|
605
651
|
function disposeContextSequenceIfReferenced(contextRef) {
|
|
606
652
|
const context = contextRef.deref();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaContext/LlamaContext.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LlamaContext.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaContext/LlamaContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { LlamaContextSequence } from "./LlamaContext.js";
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { Token } from "../../types.js";
|
|
3
|
+
import type { LlamaContextSequence } from "./LlamaContext.js";
|
|
4
4
|
export type LlamaContextOptions = {
|
|
5
|
-
model: LlamaModel;
|
|
6
5
|
/**
|
|
7
6
|
* number of sequences for the context.
|
|
8
7
|
* Each sequence is a different "text generation process" that can run in parallel to other sequences in the same context.
|
|
@@ -12,9 +11,15 @@ export type LlamaContextOptions = {
|
|
|
12
11
|
sequences?: number;
|
|
13
12
|
/** If null, a random seed will be used */
|
|
14
13
|
seed?: number | null;
|
|
15
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* The number of tokens can the model see at once.
|
|
16
|
+
* Defaults to the context size the model was trained on.
|
|
17
|
+
*/
|
|
16
18
|
contextSize?: number;
|
|
17
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* The number of tokens that can be processed at once by the GPU.
|
|
21
|
+
* Defaults to `512` or `contextSize` if `contextSize` is less than `512`.
|
|
22
|
+
*/
|
|
18
23
|
batchSize?: number;
|
|
19
24
|
/**
|
|
20
25
|
* number of threads to use to evaluate tokens.
|
|
@@ -23,6 +28,8 @@ export type LlamaContextOptions = {
|
|
|
23
28
|
threads?: number;
|
|
24
29
|
/** control the parallel sequences processing behavior */
|
|
25
30
|
batching?: BatchingOptions;
|
|
31
|
+
/** An abort signal to abort the context creation */
|
|
32
|
+
createSignal?: AbortSignal;
|
|
26
33
|
};
|
|
27
34
|
export type LlamaContextSequenceRepeatPenalty = {
|
|
28
35
|
/** Tokens to lower the predication probability of to be the next predicted token */
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { EventRelay } from "lifecycle-utils";
|
|
2
3
|
import { Token } from "../types.js";
|
|
3
4
|
import { LlamaText } from "../utils/LlamaText.js";
|
|
4
|
-
import { LlamaModel } from "./LlamaModel.js";
|
|
5
5
|
export type LlamaEmbeddingContextOptions = {
|
|
6
|
-
model: LlamaModel;
|
|
7
6
|
/** text context size */
|
|
8
7
|
contextSize?: number;
|
|
9
8
|
/** prompt processing batch size */
|
|
@@ -13,14 +12,16 @@ export type LlamaEmbeddingContextOptions = {
|
|
|
13
12
|
* set to 0 to use the maximum threads supported by the current machine hardware
|
|
14
13
|
*/
|
|
15
14
|
threads?: number;
|
|
15
|
+
/** An abort signal to abort the context creation */
|
|
16
|
+
createSignal?: AbortSignal;
|
|
16
17
|
};
|
|
17
18
|
export declare class LlamaEmbeddingContext {
|
|
18
19
|
readonly onDispose: EventRelay<void>;
|
|
19
|
-
constructor(
|
|
20
|
+
private constructor();
|
|
20
21
|
getEmbeddingFor(input: Token[] | string | LlamaText): Promise<LlamaEmbedding>;
|
|
21
|
-
dispose(): void
|
|
22
|
+
dispose(): Promise<void>;
|
|
22
23
|
/** @hidden */
|
|
23
|
-
[Symbol.
|
|
24
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
24
25
|
get disposed(): boolean;
|
|
25
26
|
}
|
|
26
27
|
export type LlamaEmbeddingJSON = {
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AsyncDisposeAggregator, EventRelay, withLock } from "lifecycle-utils";
|
|
2
2
|
import { tokenizeInput } from "../utils/tokenizeInput.js";
|
|
3
|
-
import { LlamaContext } from "./LlamaContext/LlamaContext.js";
|
|
4
3
|
export class LlamaEmbeddingContext {
|
|
5
4
|
/** @internal */ _llamaContext;
|
|
6
5
|
/** @internal */ _sequence;
|
|
7
|
-
/** @internal */ _disposeAggregator = new
|
|
6
|
+
/** @internal */ _disposeAggregator = new AsyncDisposeAggregator();
|
|
8
7
|
onDispose = new EventRelay();
|
|
9
|
-
constructor({
|
|
10
|
-
|
|
11
|
-
const resolvedBatchSize = Math.min(batchSize, resolvedContextSize);
|
|
12
|
-
this._llamaContext = new LlamaContext({
|
|
13
|
-
model,
|
|
14
|
-
contextSize: resolvedContextSize,
|
|
15
|
-
batchSize: resolvedBatchSize,
|
|
16
|
-
threads,
|
|
17
|
-
_embedding: true,
|
|
18
|
-
_noSeed: true
|
|
19
|
-
});
|
|
8
|
+
constructor({ _llamaContext }) {
|
|
9
|
+
this._llamaContext = _llamaContext;
|
|
20
10
|
this._sequence = this._llamaContext.getSequence();
|
|
21
11
|
this._disposeAggregator.add(this._llamaContext.onDispose.createListener(() => {
|
|
22
|
-
this._disposeAggregator.dispose();
|
|
12
|
+
void this._disposeAggregator.dispose();
|
|
23
13
|
}));
|
|
24
14
|
this._disposeAggregator.add(this.onDispose.dispatchEvent);
|
|
25
|
-
this._disposeAggregator.add(() => {
|
|
26
|
-
this._llamaContext.dispose();
|
|
15
|
+
this._disposeAggregator.add(async () => {
|
|
16
|
+
await this._llamaContext.dispose();
|
|
27
17
|
});
|
|
28
18
|
}
|
|
29
19
|
async getEmbeddingFor(input) {
|
|
@@ -38,22 +28,42 @@ export class LlamaEmbeddingContext {
|
|
|
38
28
|
start: 0,
|
|
39
29
|
end: this._sequence.nextTokenIndex
|
|
40
30
|
}]);
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
const iterator = this._sequence.evaluate(resolvedInput);
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33
|
+
for await (const token of iterator) {
|
|
34
|
+
break; // only generate one token to get embeddings
|
|
35
|
+
}
|
|
36
|
+
const embedding = this._llamaContext._ctx.getEmbedding(resolvedInput.length);
|
|
43
37
|
const embeddingVector = Array.from(embedding);
|
|
44
38
|
return new LlamaEmbedding({ vector: embeddingVector });
|
|
45
39
|
});
|
|
46
40
|
}
|
|
47
|
-
dispose() {
|
|
48
|
-
this._disposeAggregator.dispose();
|
|
41
|
+
async dispose() {
|
|
42
|
+
await this._disposeAggregator.dispose();
|
|
49
43
|
}
|
|
50
44
|
/** @hidden */
|
|
51
|
-
[Symbol.
|
|
45
|
+
[Symbol.asyncDispose]() {
|
|
52
46
|
return this.dispose();
|
|
53
47
|
}
|
|
54
48
|
get disposed() {
|
|
55
49
|
return this._llamaContext.disposed;
|
|
56
50
|
}
|
|
51
|
+
/** @internal */
|
|
52
|
+
static async _create({ _model }, { contextSize = _model.trainContextSize, batchSize = contextSize, threads = 6, createSignal }) {
|
|
53
|
+
const resolvedContextSize = Math.min(contextSize, _model.trainContextSize);
|
|
54
|
+
const resolvedBatchSize = Math.min(batchSize, resolvedContextSize);
|
|
55
|
+
const llamaContext = await _model.createContext({
|
|
56
|
+
contextSize: resolvedContextSize,
|
|
57
|
+
batchSize: resolvedBatchSize,
|
|
58
|
+
threads,
|
|
59
|
+
createSignal,
|
|
60
|
+
_embeddings: true,
|
|
61
|
+
_noSeed: true
|
|
62
|
+
});
|
|
63
|
+
return new LlamaEmbeddingContext({
|
|
64
|
+
_llamaContext: llamaContext
|
|
65
|
+
});
|
|
66
|
+
}
|
|
57
67
|
}
|
|
58
68
|
export class LlamaEmbedding {
|
|
59
69
|
vector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaEmbeddingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaEmbeddingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"LlamaEmbeddingContext.js","sourceRoot":"","sources":["../../src/evaluator/LlamaEmbeddingContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export class LlamaGrammar {
|
|
|
17
17
|
constructor({ llama, grammar, stopGenerationTriggers = [], trimWhitespaceSuffix = false, printGrammar = false }) {
|
|
18
18
|
this._llama = llama;
|
|
19
19
|
this._grammar = new this._llama._bindings.AddonGrammar(grammar, {
|
|
20
|
+
addonExports: this._llama._bindings,
|
|
20
21
|
printGrammar
|
|
21
22
|
});
|
|
22
23
|
this._stopGenerationTriggers = stopGenerationTriggers ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/evaluator/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,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAsBhD,MAAM,OAAO,YAAY;IACrB,gBAAgB,CAAiB,MAAM,CAAQ;IAC/C,gBAAgB,CAAiB,QAAQ,CAAe;IACvC,uBAAuB,CAAiD;IACxE,qBAAqB,CAAU;IAC/B,YAAY,CAAS;IAEtC;;;;;OAKG;IACH,YAAmB,EACf,KAAK,EAAE,OAAO,EAAE,sBAAsB,GAAG,EAAE,EAAE,oBAAoB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAC7E;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE;YAC5D,YAAY;SACf,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,sBAAsB;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,IAA2D;QAChG,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEhE,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;gBACpB,KAAK;gBACL,OAAO;gBACP,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,oBAAoB,EAAE,IAAI;aAC7B,CAAC,CAAC;SACN;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,cAAc,GAAG,CAAC,CAAC;IAC5F,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"LlamaGrammar.js","sourceRoot":"","sources":["../../src/evaluator/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,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAsBhD,MAAM,OAAO,YAAY;IACrB,gBAAgB,CAAiB,MAAM,CAAQ;IAC/C,gBAAgB,CAAiB,QAAQ,CAAe;IACvC,uBAAuB,CAAiD;IACxE,qBAAqB,CAAU;IAC/B,YAAY,CAAS;IAEtC;;;;;OAKG;IACH,YAAmB,EACf,KAAK,EAAE,OAAO,EAAE,sBAAsB,GAAG,EAAE,EAAE,oBAAoB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAC7E;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE;YAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YACnC,YAAY;SACf,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,sBAAsB;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,IAA2D;QAChG,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEhE,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;gBACpB,KAAK;gBACL,OAAO;gBACP,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,oBAAoB,EAAE,IAAI;aAC7B,CAAC,CAAC;SACN;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,cAAc,GAAG,CAAC,CAAC;IAC5F,CAAC;CACJ"}
|