node-llama-cpp 3.0.0-beta.21 → 3.0.0-beta.23
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 +8 -26
- package/dist/ChatWrapper.js +100 -52
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/{apiDocsOverrides.js → apiDocsIndex.js} +3 -1
- package/dist/apiDocsIndex.js.map +1 -0
- package/dist/bindings/AddonTypes.d.ts +1 -1
- package/dist/bindings/Llama.d.ts +1 -1
- package/dist/bindings/Llama.js +5 -1
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +1 -0
- package/dist/bindings/utils/asyncEvery.js.map +1 -1
- package/dist/bindings/utils/asyncSome.js.map +1 -1
- package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -1
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.d.ts +2 -0
- package/dist/bindings/utils/compileLLamaCpp.js +5 -1
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/detectAvailableComputeLayers.js +2 -1
- package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
- package/dist/bindings/utils/detectGlibc.js +3 -3
- package/dist/bindings/utils/detectGlibc.js.map +1 -1
- package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +1 -0
- package/dist/bindings/utils/getBestComputeLayersAvailable.js.map +1 -1
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -1
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -0
- package/dist/bindings/utils/getGpuTypesToUseForOption.js.map +1 -1
- package/dist/bindings/utils/getLinuxDistroInfo.js.map +1 -1
- package/dist/bindings/utils/getPlatform.js.map +1 -1
- package/dist/bindings/utils/getPlatformInfo.js.map +1 -1
- package/dist/bindings/utils/hasBuildingFromSourceDependenciesInstalled.js.map +1 -1
- package/dist/bindings/utils/lastBuildInfo.js.map +1 -1
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -1
- package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -1
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
- package/dist/bindings/utils/testBindingBinary.js.map +1 -1
- package/dist/bindings/utils/testCmakeBinary.d.ts +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +2 -14
- package/dist/chatWrappers/ChatMLChatWrapper.js +10 -10
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FalconChatWrapper.d.ts +2 -9
- package/dist/chatWrappers/FalconChatWrapper.js +10 -10
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +8 -32
- package/dist/chatWrappers/FunctionaryChatWrapper.js +274 -82
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.d.ts +3 -14
- package/dist/chatWrappers/GemmaChatWrapper.js +20 -12
- package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +2 -9
- package/dist/chatWrappers/GeneralChatWrapper.js +10 -10
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama2ChatWrapper.d.ts +2 -10
- package/dist/chatWrappers/Llama2ChatWrapper.js +9 -9
- package/dist/chatWrappers/Llama2ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/Llama3ChatWrapper.d.ts +10 -25
- package/dist/chatWrappers/Llama3ChatWrapper.js +71 -26
- package/dist/chatWrappers/Llama3ChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +6 -12
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +25 -13
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/TemplateChatWrapper.d.ts +14 -24
- package/dist/chatWrappers/generic/TemplateChatWrapper.js +21 -21
- package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +11 -21
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +1 -1
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -1
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +8 -4
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -1
- package/dist/chatWrappers/utils/resolveChatWrapper.js +30 -1
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
- package/dist/cli/commands/BuildCommand.d.ts +6 -1
- package/dist/cli/commands/BuildCommand.js +14 -3
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.js +1 -1
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/ClearCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/DownloadCommand.d.ts +1 -0
- package/dist/cli/commands/DownloadCommand.js +1 -1
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/commands/InitCommand.js.map +1 -1
- package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
- package/dist/cli/commands/PullCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
- package/dist/cli/recommendedModels.js +48 -27
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/cli/utils/ConsoleInteraction.js.map +1 -1
- package/dist/cli/utils/ConsoleTable.js.map +1 -1
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -1
- package/dist/cli/utils/consolePromptQuestion.js.map +1 -1
- package/dist/cli/utils/getReadablePath.js +1 -1
- package/dist/cli/utils/getReadablePath.js.map +1 -1
- package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
- package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
- package/dist/cli/utils/printInfoLine.js.map +1 -1
- package/dist/cli/utils/projectTemplates.js.map +1 -1
- package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
- package/dist/cli/utils/resolveHeaderFlag.js.map +1 -1
- package/dist/cli/utils/splitAnsiToLines.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +79 -8
- package/dist/evaluator/LlamaChat/LlamaChat.js +1212 -481
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.d.ts +11 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js +55 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallNameGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.d.ts +16 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js +45 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.d.ts +8 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js +12 -0
- package/dist/evaluator/LlamaChat/utils/LlamaFunctionCallValidationError.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +24 -16
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +110 -5
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +226 -39
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +39 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +186 -0
- package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -0
- package/dist/evaluator/LlamaCompletion.d.ts +17 -29
- package/dist/evaluator/LlamaCompletion.js +32 -19
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +1 -2
- package/dist/evaluator/LlamaContext/LlamaContext.js +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -1
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaGrammar.d.ts +3 -3
- package/dist/evaluator/LlamaGrammar.js +1 -1
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/{LlamaModel.d.ts → LlamaModel/LlamaModel.d.ts} +20 -14
- package/dist/evaluator/{LlamaModel.js → LlamaModel/LlamaModel.js} +100 -18
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.d.ts +29 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js +65 -0
- package/dist/evaluator/LlamaModel/utils/TokenAttributes.js.map +1 -0
- package/dist/evaluator/TokenBias.d.ts +1 -1
- package/dist/evaluator/TokenMeter.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js +2 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
- package/dist/gguf/insights/GgufInsights.d.ts +6 -0
- package/dist/gguf/insights/GgufInsights.js +20 -0
- package/dist/gguf/insights/GgufInsights.js.map +1 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +1 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +1 -1
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +1 -1
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
- package/dist/gguf/insights/utils/scoreLevels.js.map +1 -1
- package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
- package/dist/gguf/parser/parseGguf.js.map +1 -1
- package/dist/gguf/readGgufFileInfo.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +2 -1
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -1
- package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -1
- package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -1
- package/dist/gguf/utils/resolveBinarySplitGgufPartUrls.js.map +1 -1
- package/dist/gguf/utils/resolveSplitGgufParts.js.map +1 -1
- package/dist/index.d.ts +14 -10
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +68 -8
- package/dist/types.js.map +1 -1
- package/dist/utils/DisposeGuard.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +22 -3
- package/dist/utils/LlamaText.js +107 -7
- package/dist/utils/LlamaText.js.map +1 -1
- package/dist/utils/LruCache.d.ts +12 -0
- package/dist/utils/LruCache.js +44 -0
- package/dist/utils/LruCache.js.map +1 -0
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/StopGenerationDetector.d.ts +25 -9
- package/dist/utils/StopGenerationDetector.js +70 -4
- package/dist/utils/StopGenerationDetector.js.map +1 -1
- package/dist/utils/TokenStreamRegulator.d.ts +1 -0
- package/dist/utils/TokenStreamRegulator.js +3 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -1
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -1
- package/dist/utils/clearTempFolder.js.map +1 -1
- package/dist/utils/cmake.js.map +1 -1
- package/dist/utils/createModelDownloader.d.ts +6 -0
- package/dist/utils/createModelDownloader.js +5 -2
- package/dist/utils/createModelDownloader.js.map +1 -1
- package/dist/utils/findBestOption.js.map +1 -1
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +5 -4
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js +1 -1
- package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfRepetition.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/gbnfConsts.d.ts +1 -1
- package/dist/utils/gbnfJson/types.d.ts +3 -0
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/isUrl.js.map +1 -1
- package/dist/utils/parseModelFileName.js.map +1 -1
- package/dist/utils/parseTextTemplate.js.map +1 -1
- package/dist/utils/prettyPrintObject.js.map +1 -1
- package/dist/utils/removeNullFields.js.map +1 -1
- package/dist/utils/resolveGithubRelease.d.ts +1 -1
- package/dist/utils/resolveGithubRelease.js.map +1 -1
- package/dist/utils/safeEventCallback.d.ts +6 -0
- package/dist/utils/safeEventCallback.js +29 -0
- package/dist/utils/safeEventCallback.js.map +1 -0
- package/dist/utils/spawnCommand.js.map +1 -1
- package/dist/utils/truncateTextAndRoundToWords.d.ts +2 -0
- package/dist/utils/truncateTextAndRoundToWords.js +30 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -1
- package/dist/utils/waitForLockfileRelease.js.map +1 -1
- package/dist/utils/withLockfile.js.map +1 -1
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withProgressLog.js.map +1 -1
- package/dist/utils/withStatusLogs.js.map +1 -1
- package/dist/utils/wrapAbortSignal.d.ts +2 -0
- package/dist/utils/wrapAbortSignal.js +9 -0
- package/dist/utils/wrapAbortSignal.js.map +1 -0
- package/llama/addon.cpp +9 -9
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/llama.cpp.info.json +1 -1
- package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
- 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 -1
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-arm64/llama-addon.exp +0 -0
- package/llamaBins/win-arm64/llama-addon.lib +0 -0
- package/llamaBins/win-arm64/llama-addon.node +0 -0
- package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-x64/llama-addon.exp +0 -0
- package/llamaBins/win-x64/llama-addon.lib +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
- 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 +32 -34
- package/templates/packed/electron-typescript-react.json +1 -1
- package/templates/packed/node-typescript.json +1 -1
- package/dist/apiDocsOverrides.js.map +0 -1
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +0 -22
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +0 -122
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +0 -1
- package/dist/evaluator/LlamaModel.js.map +0 -1
- package/templates/packed/node_modules.json +0 -1
- /package/dist/{apiDocsOverrides.d.ts → apiDocsIndex.d.ts} +0 -0
|
@@ -8,11 +8,21 @@ import { LLamaChatContextShiftOptions } from "../LlamaChat/LlamaChat.js";
|
|
|
8
8
|
import { EvaluationPriority } from "../LlamaContext/types.js";
|
|
9
9
|
import { TokenBias } from "../TokenBias.js";
|
|
10
10
|
import { LlamaText } from "../../utils/LlamaText.js";
|
|
11
|
+
import { LLamaChatPromptCompletionEngineOptions, LlamaChatSessionPromptCompletionEngine } from "./utils/LlamaChatSessionPromptCompletionEngine.js";
|
|
11
12
|
export type LlamaChatSessionOptions = {
|
|
12
13
|
contextSequence: LlamaContextSequence;
|
|
13
14
|
/** `"auto"` is used by default */
|
|
14
15
|
chatWrapper?: "auto" | ChatWrapper;
|
|
15
16
|
systemPrompt?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Add the system prompt even on models that don't support a system prompt.
|
|
19
|
+
*
|
|
20
|
+
* Each chat wrapper has its own workaround for adding a system prompt to a model that doesn't support it,
|
|
21
|
+
* but forcing the system prompt on unsupported models may not always work as expected.
|
|
22
|
+
*
|
|
23
|
+
* Use with caution.
|
|
24
|
+
*/
|
|
25
|
+
forceAddSystemPrompt?: boolean;
|
|
16
26
|
/** Automatically dispose the sequence when the session is disposed */
|
|
17
27
|
autoDisposeSequence?: boolean;
|
|
18
28
|
contextShift?: LlamaChatSessionContextShiftOptions;
|
|
@@ -103,11 +113,62 @@ export type LLamaChatPromptOptions<Functions extends ChatSessionModelFunctions |
|
|
|
103
113
|
grammar?: LlamaGrammar;
|
|
104
114
|
functions?: never;
|
|
105
115
|
documentFunctionParams?: never;
|
|
116
|
+
maxParallelFunctionCalls?: never;
|
|
106
117
|
} | {
|
|
107
118
|
grammar?: never;
|
|
108
119
|
functions?: Functions | ChatSessionModelFunctions;
|
|
109
120
|
documentFunctionParams?: boolean;
|
|
121
|
+
maxParallelFunctionCalls?: number;
|
|
110
122
|
});
|
|
123
|
+
export type LLamaChatCompletePromptOptions = {
|
|
124
|
+
/**
|
|
125
|
+
* Generate a completion for the given user prompt up to the given number of tokens.
|
|
126
|
+
*
|
|
127
|
+
* Defaults to `256` or half the context size, whichever is smaller.
|
|
128
|
+
*/
|
|
129
|
+
maxTokens?: LLamaChatPromptOptions["maxTokens"];
|
|
130
|
+
/**
|
|
131
|
+
* When a completion already started being generated and then the signal is aborted,
|
|
132
|
+
* the generation will stop and the completion will be returned as is instead of throwing an error.
|
|
133
|
+
*
|
|
134
|
+
* Defaults to `false`.
|
|
135
|
+
*/
|
|
136
|
+
stopOnAbortSignal?: LLamaChatPromptOptions["stopOnAbortSignal"];
|
|
137
|
+
onToken?: LLamaChatPromptOptions["onToken"];
|
|
138
|
+
signal?: LLamaChatPromptOptions["signal"];
|
|
139
|
+
temperature?: LLamaChatPromptOptions["temperature"];
|
|
140
|
+
minP?: LLamaChatPromptOptions["minP"];
|
|
141
|
+
topK?: LLamaChatPromptOptions["topK"];
|
|
142
|
+
topP?: LLamaChatPromptOptions["topP"];
|
|
143
|
+
trimWhitespaceSuffix?: LLamaChatPromptOptions["trimWhitespaceSuffix"];
|
|
144
|
+
evaluationPriority?: LLamaChatPromptOptions["evaluationPriority"];
|
|
145
|
+
repeatPenalty?: LLamaChatPromptOptions["repeatPenalty"];
|
|
146
|
+
tokenBias?: LLamaChatPromptOptions["tokenBias"];
|
|
147
|
+
customStopTriggers?: LLamaChatPromptOptions["customStopTriggers"];
|
|
148
|
+
grammar?: LlamaGrammar;
|
|
149
|
+
/**
|
|
150
|
+
* Functions are not used by the model here,
|
|
151
|
+
* but are used for keeping the instructions given to the model about the functions in the current context state,
|
|
152
|
+
* to avoid context shifts.
|
|
153
|
+
*
|
|
154
|
+
* It's best to provide the same functions that were used for the previous prompt here.
|
|
155
|
+
*/
|
|
156
|
+
functions?: ChatSessionModelFunctions;
|
|
157
|
+
/**
|
|
158
|
+
* Functions are not used by the model here,
|
|
159
|
+
* but are used for keeping the instructions given to the model about the functions in the current context state,
|
|
160
|
+
* to avoid context shifts.
|
|
161
|
+
*
|
|
162
|
+
* It's best to provide the same value that was used for the previous prompt here.
|
|
163
|
+
*/
|
|
164
|
+
documentFunctionParams?: boolean;
|
|
165
|
+
};
|
|
166
|
+
export type LLamaChatPreloadPromptOptions = {
|
|
167
|
+
signal?: LLamaChatCompletePromptOptions["signal"];
|
|
168
|
+
evaluationPriority?: LLamaChatCompletePromptOptions["evaluationPriority"];
|
|
169
|
+
functions?: LLamaChatCompletePromptOptions["functions"];
|
|
170
|
+
documentFunctionParams?: LLamaChatCompletePromptOptions["documentFunctionParams"];
|
|
171
|
+
};
|
|
111
172
|
export type LlamaChatSessionRepeatPenalty = {
|
|
112
173
|
/**
|
|
113
174
|
* Number of recent tokens generated by the model to apply penalties to repetition of.
|
|
@@ -144,7 +205,7 @@ export declare class LlamaChatSession {
|
|
|
144
205
|
/**
|
|
145
206
|
* @param options
|
|
146
207
|
*/
|
|
147
|
-
constructor({ contextSequence, chatWrapper, systemPrompt, autoDisposeSequence, contextShift }: LlamaChatSessionOptions);
|
|
208
|
+
constructor({ contextSequence, chatWrapper, systemPrompt, forceAddSystemPrompt, autoDisposeSequence, contextShift }: LlamaChatSessionOptions);
|
|
148
209
|
dispose({ disposeSequence }?: {
|
|
149
210
|
disposeSequence?: boolean;
|
|
150
211
|
}): void;
|
|
@@ -154,17 +215,17 @@ export declare class LlamaChatSession {
|
|
|
154
215
|
get chatWrapper(): ChatWrapper;
|
|
155
216
|
get sequence(): LlamaContextSequence;
|
|
156
217
|
get context(): import("../LlamaContext/LlamaContext.js").LlamaContext;
|
|
157
|
-
get model(): import("../LlamaModel.js").LlamaModel;
|
|
218
|
+
get model(): import("../LlamaModel/LlamaModel.js").LlamaModel;
|
|
158
219
|
/**
|
|
159
220
|
* @param prompt
|
|
160
221
|
* @param [options]
|
|
161
222
|
*/
|
|
162
|
-
prompt<const Functions extends ChatSessionModelFunctions | undefined = undefined>(prompt: string, { functions, documentFunctionParams, onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, customStopTriggers }?: LLamaChatPromptOptions<Functions>): Promise<string>;
|
|
223
|
+
prompt<const Functions extends ChatSessionModelFunctions | undefined = undefined>(prompt: string, { functions, documentFunctionParams, maxParallelFunctionCalls, onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, customStopTriggers }?: LLamaChatPromptOptions<Functions>): Promise<string>;
|
|
163
224
|
/**
|
|
164
225
|
* @param prompt
|
|
165
226
|
* @param [options]
|
|
166
227
|
*/
|
|
167
|
-
promptWithMeta<const Functions extends ChatSessionModelFunctions | undefined = undefined>(prompt: string, { functions, documentFunctionParams, onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority }?: LLamaChatPromptOptions<Functions>): Promise<{
|
|
228
|
+
promptWithMeta<const Functions extends ChatSessionModelFunctions | undefined = undefined>(prompt: string, { functions, documentFunctionParams, maxParallelFunctionCalls, onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority }?: LLamaChatPromptOptions<Functions>): Promise<{
|
|
168
229
|
response: (string | import("../../types.js").ChatModelFunctionCall)[];
|
|
169
230
|
responseText: string;
|
|
170
231
|
stopReason: "customStopTrigger";
|
|
@@ -173,7 +234,51 @@ export declare class LlamaChatSession {
|
|
|
173
234
|
} | {
|
|
174
235
|
response: (string | import("../../types.js").ChatModelFunctionCall)[];
|
|
175
236
|
responseText: string;
|
|
176
|
-
stopReason: "
|
|
237
|
+
stopReason: "abort" | "maxTokens" | "eogToken" | "stopGenerationTrigger" | "functionCalls";
|
|
238
|
+
remainingGenerationAfterStop: string | Token[] | undefined;
|
|
239
|
+
customStopTrigger?: undefined;
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Preload a user prompt into the current context sequence state to make later inference of the model response begin sooner
|
|
243
|
+
* and feel faster.
|
|
244
|
+
*
|
|
245
|
+
* > **Note:** Preloading a long user prompt can incur context shifts, so consider limiting the length of prompts you preload
|
|
246
|
+
* @param prompt - the prompt to preload
|
|
247
|
+
* @param [options]
|
|
248
|
+
*/
|
|
249
|
+
preloadPrompt(prompt: string, options?: LLamaChatPreloadPromptOptions): Promise<void>;
|
|
250
|
+
/**
|
|
251
|
+
* Preload a user prompt into the current context sequence state and generate a completion for it.
|
|
252
|
+
*
|
|
253
|
+
* > **Note:** Preloading a long user prompt and completing a user prompt with a high number of `maxTokens` can incur context shifts,
|
|
254
|
+
* > so consider limiting the length of prompts you preload.
|
|
255
|
+
* >
|
|
256
|
+
* > Also, it's recommended to limit the number of tokens generated to a reasonable amount by configuring `maxTokens`.
|
|
257
|
+
* @param prompt - the prompt to preload
|
|
258
|
+
* @param [options]
|
|
259
|
+
*/
|
|
260
|
+
completePrompt(prompt: string, options?: LLamaChatCompletePromptOptions): Promise<string>;
|
|
261
|
+
/**
|
|
262
|
+
* Create a smart completion engine that caches the prompt completions
|
|
263
|
+
* and reuses them when the user prompt matches the beginning of the cached prompt or completion.
|
|
264
|
+
*
|
|
265
|
+
* All completions are made and cache is used only for the current chat session state.
|
|
266
|
+
* You can create a single completion engine for an entire chat session.
|
|
267
|
+
*/
|
|
268
|
+
createPromptCompletionEngine(options?: LLamaChatPromptCompletionEngineOptions): LlamaChatSessionPromptCompletionEngine;
|
|
269
|
+
/**
|
|
270
|
+
* See `completePrompt` for more information.
|
|
271
|
+
* @param prompt
|
|
272
|
+
* @param [options]
|
|
273
|
+
*/
|
|
274
|
+
completePromptWithMeta(prompt: string, { maxTokens, stopOnAbortSignal, functions, documentFunctionParams, onToken, signal, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority }?: LLamaChatCompletePromptOptions): Promise<{
|
|
275
|
+
completion: string;
|
|
276
|
+
stopReason: "customStopTrigger";
|
|
277
|
+
customStopTrigger: (string | Token)[];
|
|
278
|
+
remainingGenerationAfterStop: string | Token[] | undefined;
|
|
279
|
+
} | {
|
|
280
|
+
completion: string;
|
|
281
|
+
stopReason: "abort" | "maxTokens" | "eogToken" | "stopGenerationTrigger";
|
|
177
282
|
remainingGenerationAfterStop: string | Token[] | undefined;
|
|
178
283
|
customStopTrigger?: undefined;
|
|
179
284
|
}>;
|
|
@@ -2,32 +2,42 @@ import { DisposeAggregator, DisposedError, EventRelay, withLock } from "lifecycl
|
|
|
2
2
|
import { defaultChatSystemPrompt } from "../../config.js";
|
|
3
3
|
import { appendUserMessageToChatHistory } from "../../utils/appendUserMessageToChatHistory.js";
|
|
4
4
|
import { LlamaChat } from "../LlamaChat/LlamaChat.js";
|
|
5
|
+
import { wrapAbortSignal } from "../../utils/wrapAbortSignal.js";
|
|
6
|
+
import { safeEventCallback } from "../../utils/safeEventCallback.js";
|
|
7
|
+
import { LlamaChatSessionPromptCompletionEngine } from "./utils/LlamaChatSessionPromptCompletionEngine.js";
|
|
5
8
|
export class LlamaChatSession {
|
|
6
9
|
/** @internal */ _disposeAggregator = new DisposeAggregator();
|
|
7
10
|
/** @internal */ _autoDisposeSequence;
|
|
8
11
|
/** @internal */ _contextShift;
|
|
12
|
+
/** @internal */ _chatLock = {};
|
|
9
13
|
/** @internal */ _chatHistory;
|
|
10
14
|
/** @internal */ _lastEvaluation;
|
|
11
15
|
/** @internal */ _chat;
|
|
16
|
+
/** @internal */ _chatHistoryStateRef = {};
|
|
17
|
+
/** @internal */ _preloadAndCompleteAbortControllers = new Set();
|
|
12
18
|
onDispose = new EventRelay();
|
|
13
19
|
/**
|
|
14
20
|
* @param options
|
|
15
21
|
*/
|
|
16
|
-
constructor({ contextSequence, chatWrapper = "auto", systemPrompt = defaultChatSystemPrompt, autoDisposeSequence = true, contextShift }) {
|
|
22
|
+
constructor({ contextSequence, chatWrapper = "auto", systemPrompt = defaultChatSystemPrompt, forceAddSystemPrompt = false, autoDisposeSequence = true, contextShift }) {
|
|
17
23
|
if (contextSequence == null)
|
|
18
24
|
throw new Error("contextSequence cannot be null");
|
|
19
25
|
if (contextSequence.disposed)
|
|
20
26
|
throw new DisposedError();
|
|
21
27
|
this._contextShift = contextShift;
|
|
22
|
-
this._chatHistory = [{
|
|
23
|
-
type: "system",
|
|
24
|
-
text: systemPrompt
|
|
25
|
-
}];
|
|
26
28
|
this._chat = new LlamaChat({
|
|
27
29
|
autoDisposeSequence,
|
|
28
30
|
chatWrapper,
|
|
29
31
|
contextSequence
|
|
30
32
|
});
|
|
33
|
+
const chatWrapperSupportsSystemMessages = this._chat.chatWrapper.settings.supportsSystemMessages;
|
|
34
|
+
if (chatWrapperSupportsSystemMessages == null || chatWrapperSupportsSystemMessages || forceAddSystemPrompt)
|
|
35
|
+
this._chatHistory = [{
|
|
36
|
+
type: "system",
|
|
37
|
+
text: systemPrompt
|
|
38
|
+
}];
|
|
39
|
+
else
|
|
40
|
+
this._chatHistory = [];
|
|
31
41
|
this._autoDisposeSequence = autoDisposeSequence;
|
|
32
42
|
this._disposeAggregator.add(this._chat.onDispose.createListener(() => {
|
|
33
43
|
this.dispose();
|
|
@@ -68,11 +78,12 @@ export class LlamaChatSession {
|
|
|
68
78
|
* @param prompt
|
|
69
79
|
* @param [options]
|
|
70
80
|
*/
|
|
71
|
-
async prompt(prompt, { functions, documentFunctionParams, onToken, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty, tokenBias, customStopTriggers } = {}) {
|
|
81
|
+
async prompt(prompt, { functions, documentFunctionParams, maxParallelFunctionCalls, onToken, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty, tokenBias, customStopTriggers } = {}) {
|
|
72
82
|
const { responseText } = await this.promptWithMeta(prompt, {
|
|
73
83
|
// this is a workaround to allow passing both `functions` and `grammar`
|
|
74
84
|
functions: functions,
|
|
75
85
|
documentFunctionParams: documentFunctionParams,
|
|
86
|
+
maxParallelFunctionCalls: maxParallelFunctionCalls,
|
|
76
87
|
onToken, signal, stopOnAbortSignal, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty,
|
|
77
88
|
tokenBias, customStopTriggers
|
|
78
89
|
});
|
|
@@ -82,14 +93,17 @@ export class LlamaChatSession {
|
|
|
82
93
|
* @param prompt
|
|
83
94
|
* @param [options]
|
|
84
95
|
*/
|
|
85
|
-
async promptWithMeta(prompt, { functions, documentFunctionParams, onToken, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority } = {}) {
|
|
96
|
+
async promptWithMeta(prompt, { functions, documentFunctionParams, maxParallelFunctionCalls, onToken, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority } = {}) {
|
|
86
97
|
this._ensureNotDisposed();
|
|
87
98
|
if (grammar != null && grammar._llama !== this.model._llama)
|
|
88
99
|
throw new Error("The LlamaGrammar used by passed to this function was created with a different Llama instance than the one used by this sequence's model. Make sure you use the same Llama instance for both the model and the grammar.");
|
|
89
|
-
|
|
100
|
+
this._stopAllPreloadAndPromptCompletions();
|
|
101
|
+
return await withLock(this._chatLock, "evaluation", signal, async () => {
|
|
90
102
|
this._ensureNotDisposed();
|
|
103
|
+
this._stopAllPreloadAndPromptCompletions();
|
|
91
104
|
if (this._chat == null)
|
|
92
105
|
throw new DisposedError();
|
|
106
|
+
const abortController = wrapAbortSignal(signal);
|
|
93
107
|
let lastEvaluation = this._lastEvaluation;
|
|
94
108
|
let newChatHistory = appendUserMessageToChatHistory(this._chatHistory, prompt);
|
|
95
109
|
let newContextWindowChatHistory = lastEvaluation?.contextWindow == null
|
|
@@ -106,12 +120,17 @@ export class LlamaChatSession {
|
|
|
106
120
|
});
|
|
107
121
|
// eslint-disable-next-line no-constant-condition
|
|
108
122
|
while (true) {
|
|
109
|
-
const
|
|
123
|
+
const functionCallsAndResults = [];
|
|
124
|
+
let canThrowFunctionCallingErrors = false;
|
|
125
|
+
let abortedOnFunctionCallError = false;
|
|
126
|
+
const initialOutputTokens = this._chat.sequence.tokenMeter.usedOutputTokens;
|
|
127
|
+
const { lastEvaluation: currentLastEvaluation, metadata } = await this._chat.generateResponse(newChatHistory, {
|
|
110
128
|
functions,
|
|
111
129
|
documentFunctionParams,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
130
|
+
maxParallelFunctionCalls,
|
|
131
|
+
grammar: grammar, // this is a workaround to allow passing both `functions` and `grammar`
|
|
132
|
+
onToken: safeEventCallback(onToken),
|
|
133
|
+
signal: abortController.signal,
|
|
115
134
|
stopOnAbortSignal,
|
|
116
135
|
repeatPenalty,
|
|
117
136
|
minP,
|
|
@@ -129,40 +148,94 @@ export class LlamaChatSession {
|
|
|
129
148
|
evaluationPriority,
|
|
130
149
|
lastEvaluationContextWindow: {
|
|
131
150
|
history: newContextWindowChatHistory,
|
|
132
|
-
minimumOverlapPercentageToPreventContextShift: 0.
|
|
151
|
+
minimumOverlapPercentageToPreventContextShift: 0.5
|
|
152
|
+
},
|
|
153
|
+
onFunctionCall: async (functionCall) => {
|
|
154
|
+
functionCallsAndResults.push((async () => {
|
|
155
|
+
try {
|
|
156
|
+
const functionDefinition = functions?.[functionCall.functionName];
|
|
157
|
+
if (functionDefinition == null)
|
|
158
|
+
throw new Error(`The model tried to call function "${functionCall.functionName}" which is not defined`);
|
|
159
|
+
const functionCallResult = await functionDefinition.handler(functionCall.params);
|
|
160
|
+
return {
|
|
161
|
+
functionCall,
|
|
162
|
+
functionDefinition,
|
|
163
|
+
functionCallResult
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
catch (err) {
|
|
167
|
+
if (!abortController.signal.aborted) {
|
|
168
|
+
abortedOnFunctionCallError = true;
|
|
169
|
+
abortController.abort(err);
|
|
170
|
+
}
|
|
171
|
+
if (canThrowFunctionCallingErrors)
|
|
172
|
+
throw err;
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
})());
|
|
133
176
|
}
|
|
134
177
|
});
|
|
135
178
|
this._ensureNotDisposed();
|
|
179
|
+
if (abortController.signal.aborted && (abortedOnFunctionCallError || !stopOnAbortSignal))
|
|
180
|
+
throw abortController.signal.reason;
|
|
181
|
+
if (maxTokens != null)
|
|
182
|
+
maxTokens = Math.max(0, maxTokens - (this._chat.sequence.tokenMeter.usedOutputTokens - initialOutputTokens));
|
|
136
183
|
lastEvaluation = currentLastEvaluation;
|
|
137
184
|
newChatHistory = lastEvaluation.cleanHistory;
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
185
|
+
if (functionCallsAndResults.length > 0) {
|
|
186
|
+
canThrowFunctionCallingErrors = true;
|
|
187
|
+
const functionCallResultsPromise = Promise.all(functionCallsAndResults);
|
|
188
|
+
await Promise.race([
|
|
189
|
+
functionCallResultsPromise,
|
|
190
|
+
new Promise((accept, reject) => {
|
|
191
|
+
abortController.signal.addEventListener("abort", () => {
|
|
192
|
+
if (abortedOnFunctionCallError || !stopOnAbortSignal)
|
|
193
|
+
reject(abortController.signal.reason);
|
|
194
|
+
else
|
|
195
|
+
accept();
|
|
196
|
+
});
|
|
197
|
+
if (abortController.signal.aborted) {
|
|
198
|
+
if (abortedOnFunctionCallError || !stopOnAbortSignal)
|
|
199
|
+
reject(abortController.signal.reason);
|
|
200
|
+
else
|
|
201
|
+
accept();
|
|
202
|
+
}
|
|
203
|
+
})
|
|
204
|
+
]);
|
|
143
205
|
this._ensureNotDisposed();
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
206
|
+
if (!abortController.signal.aborted) {
|
|
207
|
+
const functionCallResults = (await functionCallResultsPromise)
|
|
208
|
+
.filter((result) => result != null);
|
|
209
|
+
this._ensureNotDisposed();
|
|
210
|
+
if (abortController.signal.aborted)
|
|
211
|
+
throw abortController.signal.reason;
|
|
212
|
+
newContextWindowChatHistory = lastEvaluation.contextWindow;
|
|
213
|
+
for (const { functionCall, functionDefinition, functionCallResult } of functionCallResults) {
|
|
214
|
+
newChatHistory = addFunctionCallToChatHistory({
|
|
215
|
+
chatHistory: newChatHistory,
|
|
216
|
+
functionName: functionCall.functionName,
|
|
217
|
+
functionDescription: functionDefinition.description,
|
|
218
|
+
callParams: functionCall.params,
|
|
219
|
+
callResult: functionCallResult,
|
|
220
|
+
rawCall: functionCall.raw
|
|
221
|
+
});
|
|
222
|
+
newContextWindowChatHistory = addFunctionCallToChatHistory({
|
|
223
|
+
chatHistory: newContextWindowChatHistory,
|
|
224
|
+
functionName: functionCall.functionName,
|
|
225
|
+
functionDescription: functionDefinition.description,
|
|
226
|
+
callParams: functionCall.params,
|
|
227
|
+
callResult: functionCallResult,
|
|
228
|
+
rawCall: functionCall.raw
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
lastEvaluation.cleanHistory = newChatHistory;
|
|
232
|
+
lastEvaluation.contextWindow = newContextWindowChatHistory;
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
163
235
|
}
|
|
164
236
|
this._lastEvaluation = lastEvaluation;
|
|
165
237
|
this._chatHistory = newChatHistory;
|
|
238
|
+
this._chatHistoryStateRef = {};
|
|
166
239
|
const lastModelResponseItem = getLastModelResponseItem(newChatHistory);
|
|
167
240
|
const responseText = lastModelResponseItem.response
|
|
168
241
|
.filter((item) => typeof item === "string")
|
|
@@ -184,6 +257,113 @@ export class LlamaChatSession {
|
|
|
184
257
|
}
|
|
185
258
|
});
|
|
186
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Preload a user prompt into the current context sequence state to make later inference of the model response begin sooner
|
|
262
|
+
* and feel faster.
|
|
263
|
+
*
|
|
264
|
+
* > **Note:** Preloading a long user prompt can incur context shifts, so consider limiting the length of prompts you preload
|
|
265
|
+
* @param prompt - the prompt to preload
|
|
266
|
+
* @param [options]
|
|
267
|
+
*/
|
|
268
|
+
async preloadPrompt(prompt, options = {}) {
|
|
269
|
+
await this.completePromptWithMeta(prompt, {
|
|
270
|
+
...options,
|
|
271
|
+
maxTokens: 0
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Preload a user prompt into the current context sequence state and generate a completion for it.
|
|
276
|
+
*
|
|
277
|
+
* > **Note:** Preloading a long user prompt and completing a user prompt with a high number of `maxTokens` can incur context shifts,
|
|
278
|
+
* > so consider limiting the length of prompts you preload.
|
|
279
|
+
* >
|
|
280
|
+
* > Also, it's recommended to limit the number of tokens generated to a reasonable amount by configuring `maxTokens`.
|
|
281
|
+
* @param prompt - the prompt to preload
|
|
282
|
+
* @param [options]
|
|
283
|
+
*/
|
|
284
|
+
async completePrompt(prompt, options = {}) {
|
|
285
|
+
const { completion } = await this.completePromptWithMeta(prompt, options);
|
|
286
|
+
return completion;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Create a smart completion engine that caches the prompt completions
|
|
290
|
+
* and reuses them when the user prompt matches the beginning of the cached prompt or completion.
|
|
291
|
+
*
|
|
292
|
+
* All completions are made and cache is used only for the current chat session state.
|
|
293
|
+
* You can create a single completion engine for an entire chat session.
|
|
294
|
+
*/
|
|
295
|
+
createPromptCompletionEngine(options) {
|
|
296
|
+
return LlamaChatSessionPromptCompletionEngine._create(this, options);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* See `completePrompt` for more information.
|
|
300
|
+
* @param prompt
|
|
301
|
+
* @param [options]
|
|
302
|
+
*/
|
|
303
|
+
async completePromptWithMeta(prompt, { maxTokens, stopOnAbortSignal = false, functions, documentFunctionParams, onToken, signal, temperature, minP, topK, topP, grammar, trimWhitespaceSuffix = false, repeatPenalty, tokenBias, customStopTriggers, evaluationPriority } = {}) {
|
|
304
|
+
this._ensureNotDisposed();
|
|
305
|
+
if (grammar != null && grammar._llama !== this.model._llama)
|
|
306
|
+
throw new Error("The LlamaGrammar used by passed to this function was created with a different Llama instance than the one used by this sequence's model. Make sure you use the same Llama instance for both the model and the grammar.");
|
|
307
|
+
const abortController = wrapAbortSignal(signal);
|
|
308
|
+
this._preloadAndCompleteAbortControllers.add(abortController);
|
|
309
|
+
try {
|
|
310
|
+
return await withLock(this._chatLock, "evaluation", abortController.signal, async () => {
|
|
311
|
+
this._ensureNotDisposed();
|
|
312
|
+
if (this._chat == null)
|
|
313
|
+
throw new DisposedError();
|
|
314
|
+
const { completion, lastEvaluation, metadata } = await this._chat.loadChatAndCompleteUserMessage(this._chatHistory, {
|
|
315
|
+
initialUserPrompt: prompt,
|
|
316
|
+
functions,
|
|
317
|
+
documentFunctionParams,
|
|
318
|
+
grammar,
|
|
319
|
+
onToken,
|
|
320
|
+
signal: abortController.signal,
|
|
321
|
+
stopOnAbortSignal: true,
|
|
322
|
+
repeatPenalty,
|
|
323
|
+
minP,
|
|
324
|
+
topK,
|
|
325
|
+
topP,
|
|
326
|
+
tokenBias,
|
|
327
|
+
customStopTriggers,
|
|
328
|
+
maxTokens,
|
|
329
|
+
temperature,
|
|
330
|
+
trimWhitespaceSuffix,
|
|
331
|
+
contextShift: {
|
|
332
|
+
...this._contextShift,
|
|
333
|
+
lastEvaluationMetadata: this._lastEvaluation?.contextShiftMetadata
|
|
334
|
+
},
|
|
335
|
+
evaluationPriority,
|
|
336
|
+
lastEvaluationContextWindow: {
|
|
337
|
+
history: this._lastEvaluation?.contextWindow,
|
|
338
|
+
minimumOverlapPercentageToPreventContextShift: 0.8
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
this._ensureNotDisposed();
|
|
342
|
+
this._lastEvaluation = {
|
|
343
|
+
cleanHistory: this._chatHistory,
|
|
344
|
+
contextWindow: lastEvaluation.contextWindow,
|
|
345
|
+
contextShiftMetadata: lastEvaluation.contextShiftMetadata
|
|
346
|
+
};
|
|
347
|
+
if (!stopOnAbortSignal && metadata.stopReason === "abort" && abortController.signal?.aborted)
|
|
348
|
+
throw abortController.signal.reason;
|
|
349
|
+
if (metadata.stopReason === "customStopTrigger")
|
|
350
|
+
return {
|
|
351
|
+
completion: completion,
|
|
352
|
+
stopReason: metadata.stopReason,
|
|
353
|
+
customStopTrigger: metadata.customStopTrigger,
|
|
354
|
+
remainingGenerationAfterStop: metadata.remainingGenerationAfterStop
|
|
355
|
+
};
|
|
356
|
+
return {
|
|
357
|
+
completion: completion,
|
|
358
|
+
stopReason: metadata.stopReason,
|
|
359
|
+
remainingGenerationAfterStop: metadata.remainingGenerationAfterStop
|
|
360
|
+
};
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
finally {
|
|
364
|
+
this._preloadAndCompleteAbortControllers.delete(abortController);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
187
367
|
getChatHistory() {
|
|
188
368
|
return structuredClone(this._chatHistory);
|
|
189
369
|
}
|
|
@@ -194,15 +374,22 @@ export class LlamaChatSession {
|
|
|
194
374
|
}
|
|
195
375
|
setChatHistory(chatHistory) {
|
|
196
376
|
this._chatHistory = structuredClone(chatHistory);
|
|
377
|
+
this._chatHistoryStateRef = {};
|
|
197
378
|
this._lastEvaluation = undefined;
|
|
198
379
|
}
|
|
199
380
|
/** @internal */
|
|
381
|
+
_stopAllPreloadAndPromptCompletions() {
|
|
382
|
+
for (const abortController of this._preloadAndCompleteAbortControllers)
|
|
383
|
+
abortController.abort();
|
|
384
|
+
this._preloadAndCompleteAbortControllers.clear();
|
|
385
|
+
}
|
|
386
|
+
/** @internal */
|
|
200
387
|
_ensureNotDisposed() {
|
|
201
388
|
if (this.disposed)
|
|
202
389
|
throw new DisposedError();
|
|
203
390
|
}
|
|
204
391
|
}
|
|
205
|
-
function addFunctionCallToChatHistory({ chatHistory, functionName, functionDescription, callParams, callResult,
|
|
392
|
+
function addFunctionCallToChatHistory({ chatHistory, functionName, functionDescription, callParams, callResult, rawCall }) {
|
|
206
393
|
const newChatHistory = chatHistory.slice();
|
|
207
394
|
if (newChatHistory.length === 0 || newChatHistory[newChatHistory.length - 1].type !== "model")
|
|
208
395
|
newChatHistory.push({
|
|
@@ -220,7 +407,7 @@ function addFunctionCallToChatHistory({ chatHistory, functionName, functionDescr
|
|
|
220
407
|
description: functionDescription,
|
|
221
408
|
params: callParams,
|
|
222
409
|
result: callResult,
|
|
223
|
-
|
|
410
|
+
rawCall
|
|
224
411
|
});
|
|
225
412
|
return newChatHistory;
|
|
226
413
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaChatSession/LlamaChatSession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LlamaChatSession.js","sourceRoot":"","sources":["../../../src/evaluator/LlamaChatSession/LlamaChatSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { LLamaChatCompletePromptOptions } from "../LlamaChatSession.js";
|
|
2
|
+
export type LLamaChatPromptCompletionEngineOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Max tokens to allow for preloading a prompt and generating a completion for it.
|
|
5
|
+
*
|
|
6
|
+
* Defaults to `256` or half of the context size, whichever is smaller.
|
|
7
|
+
*/
|
|
8
|
+
maxPreloadTokens?: number;
|
|
9
|
+
onGeneration?(prompt: string, completion: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Max number of completions to cache.
|
|
12
|
+
*
|
|
13
|
+
* Defaults to `100`.
|
|
14
|
+
*/
|
|
15
|
+
maxCachedCompletions?: number;
|
|
16
|
+
temperature?: LLamaChatCompletePromptOptions["temperature"];
|
|
17
|
+
minP?: LLamaChatCompletePromptOptions["minP"];
|
|
18
|
+
topK?: LLamaChatCompletePromptOptions["topK"];
|
|
19
|
+
topP?: LLamaChatCompletePromptOptions["topP"];
|
|
20
|
+
trimWhitespaceSuffix?: LLamaChatCompletePromptOptions["trimWhitespaceSuffix"];
|
|
21
|
+
evaluationPriority?: LLamaChatCompletePromptOptions["evaluationPriority"];
|
|
22
|
+
repeatPenalty?: LLamaChatCompletePromptOptions["repeatPenalty"];
|
|
23
|
+
tokenBias?: LLamaChatCompletePromptOptions["tokenBias"];
|
|
24
|
+
customStopTriggers?: LLamaChatCompletePromptOptions["customStopTriggers"];
|
|
25
|
+
grammar?: LLamaChatCompletePromptOptions["grammar"];
|
|
26
|
+
functions?: LLamaChatCompletePromptOptions["functions"];
|
|
27
|
+
documentFunctionParams?: LLamaChatCompletePromptOptions["documentFunctionParams"];
|
|
28
|
+
};
|
|
29
|
+
export declare class LlamaChatSessionPromptCompletionEngine {
|
|
30
|
+
private constructor();
|
|
31
|
+
dispose(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get completion for the prompt from the cache,
|
|
34
|
+
* and begin preloading this prompt into the context sequence and completing it.
|
|
35
|
+
*
|
|
36
|
+
* On completion progress, `onGeneration` (configured for this engine instance) will be called.
|
|
37
|
+
*/
|
|
38
|
+
complete(prompt: string): string;
|
|
39
|
+
}
|