node-llama-cpp 3.0.0-beta.1 → 3.0.0-beta.2

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.
Files changed (149) hide show
  1. package/README.md +2 -0
  2. package/dist/ChatWrapper.d.ts +49 -0
  3. package/dist/ChatWrapper.js +120 -0
  4. package/dist/ChatWrapper.js.map +1 -0
  5. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
  6. package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
  7. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
  8. package/dist/chatWrappers/ChatMLChatWrapper.d.ts +13 -0
  9. package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
  10. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
  11. package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
  12. package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
  13. package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
  14. package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
  15. package/dist/chatWrappers/FalconChatWrapper.js +104 -0
  16. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
  17. package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
  18. package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
  19. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
  20. package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
  21. package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
  22. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
  23. package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
  24. package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
  25. package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
  26. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +4 -4
  27. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +20 -14
  28. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
  29. package/dist/cli/commands/ChatCommand.d.ts +2 -1
  30. package/dist/cli/commands/ChatCommand.js +71 -33
  31. package/dist/cli/commands/ChatCommand.js.map +1 -1
  32. package/dist/config.js +1 -1
  33. package/dist/config.js.map +1 -1
  34. package/dist/index.d.ts +16 -10
  35. package/dist/index.js +15 -8
  36. package/dist/index.js.map +1 -1
  37. package/dist/llamaEvaluator/LlamaBins.d.ts +0 -1
  38. package/dist/llamaEvaluator/LlamaChat/LlamaChat.d.ts +175 -0
  39. package/dist/llamaEvaluator/LlamaChat/LlamaChat.js +704 -0
  40. package/dist/llamaEvaluator/LlamaChat/LlamaChat.js.map +1 -0
  41. package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +21 -0
  42. package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js +120 -0
  43. package/dist/llamaEvaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
  44. package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
  45. package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +117 -0
  46. package/dist/llamaEvaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
  47. package/dist/llamaEvaluator/{LlamaChatSession.d.ts → LlamaChatSession/LlamaChatSession.d.ts} +48 -25
  48. package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js +211 -0
  49. package/dist/llamaEvaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
  50. package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
  51. package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
  52. package/dist/llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
  53. package/dist/llamaEvaluator/LlamaContext/LlamaContext.d.ts +18 -23
  54. package/dist/llamaEvaluator/LlamaContext/LlamaContext.js +58 -101
  55. package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +1 -1
  56. package/dist/llamaEvaluator/LlamaContext/types.d.ts +6 -10
  57. package/dist/llamaEvaluator/LlamaGrammar.d.ts +8 -12
  58. package/dist/llamaEvaluator/LlamaGrammar.js +7 -12
  59. package/dist/llamaEvaluator/LlamaGrammar.js.map +1 -1
  60. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js +2 -1
  61. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  62. package/dist/llamaEvaluator/LlamaModel.d.ts +10 -2
  63. package/dist/llamaEvaluator/LlamaModel.js +14 -3
  64. package/dist/llamaEvaluator/LlamaModel.js.map +1 -1
  65. package/dist/types.d.ts +41 -3
  66. package/dist/types.js +5 -1
  67. package/dist/types.js.map +1 -1
  68. package/dist/utils/LlamaText.d.ts +42 -0
  69. package/dist/utils/LlamaText.js +207 -0
  70. package/dist/utils/LlamaText.js.map +1 -0
  71. package/dist/utils/StopGenerationDetector.d.ts +28 -0
  72. package/dist/utils/StopGenerationDetector.js +205 -0
  73. package/dist/utils/StopGenerationDetector.js.map +1 -0
  74. package/dist/utils/TokenStreamRegulator.d.ts +30 -0
  75. package/dist/utils/TokenStreamRegulator.js +96 -0
  76. package/dist/utils/TokenStreamRegulator.js.map +1 -0
  77. package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
  78. package/dist/utils/appendUserMessageToChatHistory.js +18 -0
  79. package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
  80. package/dist/utils/compareTokens.d.ts +2 -0
  81. package/dist/utils/compareTokens.js +4 -0
  82. package/dist/utils/compareTokens.js.map +1 -0
  83. package/dist/utils/compileLLamaCpp.js +11 -6
  84. package/dist/utils/compileLLamaCpp.js.map +1 -1
  85. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
  86. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
  87. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
  88. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
  89. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
  90. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  91. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
  92. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
  93. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
  94. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
  95. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
  96. package/dist/utils/gbnfJson/types.d.ts +1 -1
  97. package/dist/utils/gbnfJson/types.js.map +1 -1
  98. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
  99. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  100. package/dist/utils/getBin.d.ts +2 -2
  101. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
  102. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  103. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
  104. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
  105. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
  106. package/dist/utils/resolveChatWrapper.d.ts +4 -0
  107. package/dist/utils/resolveChatWrapper.js +16 -0
  108. package/dist/utils/resolveChatWrapper.js.map +1 -0
  109. package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
  110. package/dist/utils/truncateTextAndRoundToWords.js +27 -0
  111. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
  112. package/llama/addon.cpp +24 -12
  113. package/llama/binariesGithubRelease.json +1 -1
  114. package/llama/gitRelease.bundle +0 -0
  115. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  116. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  117. package/llamaBins/linux-x64/llama-addon.node +0 -0
  118. package/llamaBins/mac-arm64/llama-addon.node +0 -0
  119. package/llamaBins/mac-x64/llama-addon.node +0 -0
  120. package/llamaBins/win-x64/llama-addon.node +0 -0
  121. package/package.json +21 -9
  122. package/dist/ChatPromptWrapper.d.ts +0 -11
  123. package/dist/ChatPromptWrapper.js +0 -20
  124. package/dist/ChatPromptWrapper.js.map +0 -1
  125. package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
  126. package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
  127. package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
  128. package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
  129. package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
  130. package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
  131. package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
  132. package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
  133. package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
  134. package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
  135. package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
  136. package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
  137. package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
  138. package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
  139. package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
  140. package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -15
  141. package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -39
  142. package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
  143. package/dist/llamaEvaluator/LlamaChatSession.js +0 -290
  144. package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
  145. package/dist/utils/getTextCompletion.d.ts +0 -3
  146. package/dist/utils/getTextCompletion.js +0 -12
  147. package/dist/utils/getTextCompletion.js.map +0 -1
  148. package/llamaBins/mac-arm64/ggml-metal.metal +0 -2929
  149. package/llamaBins/mac-x64/ggml-metal.metal +0 -2929
@@ -3,16 +3,19 @@ import process from "process";
3
3
  import path from "path";
4
4
  import chalk from "chalk";
5
5
  import fs from "fs-extra";
6
- import withOra from "../../utils/withOra.js";
7
6
  import { chatCommandHistoryFilePath, defaultChatSystemPrompt } from "../../config.js";
8
- import { LlamaChatPromptWrapper } from "../../chatWrappers/LlamaChatPromptWrapper.js";
9
- import { GeneralChatPromptWrapper } from "../../chatWrappers/GeneralChatPromptWrapper.js";
10
- import { ChatMLChatPromptWrapper } from "../../chatWrappers/ChatMLChatPromptWrapper.js";
7
+ import { LlamaChatWrapper } from "../../chatWrappers/LlamaChatWrapper.js";
8
+ import { GeneralChatWrapper } from "../../chatWrappers/GeneralChatWrapper.js";
9
+ import { ChatMLChatWrapper } from "../../chatWrappers/ChatMLChatWrapper.js";
11
10
  import { resolveChatWrapperBasedOnModel } from "../../chatWrappers/resolveChatWrapperBasedOnModel.js";
12
- import { FalconChatPromptWrapper } from "../../chatWrappers/FalconChatPromptWrapper.js";
11
+ import { FalconChatWrapper } from "../../chatWrappers/FalconChatWrapper.js";
13
12
  import { getIsInDocumentationMode } from "../../state.js";
14
13
  import { ReplHistory } from "../../utils/ReplHistory.js";
15
- const modelWrappers = ["auto", "general", "llamaChat", "chatML", "falconChat"];
14
+ import withStatusLogs from "../../utils/withStatusLogs.js";
15
+ import { AlpacaChatWrapper } from "../../chatWrappers/AlpacaChatWrapper.js";
16
+ import { FunctionaryChatWrapper } from "../../chatWrappers/FunctionaryChatWrapper.js";
17
+ import { defineChatSessionFunction } from "../../llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
18
+ const modelWrappers = ["auto", "general", "llamaChat", "alpacaChat", "functionary", "chatML", "falconChat"];
16
19
  export const ChatCommand = {
17
20
  command: "chat",
18
21
  describe: "Chat with a Llama model",
@@ -50,7 +53,7 @@ export const ChatCommand = {
50
53
  .option("wrapper", {
51
54
  alias: "w",
52
55
  type: "string",
53
- default: "general",
56
+ default: "auto",
54
57
  choices: modelWrappers,
55
58
  description: "Chat wrapper to use. Use `auto` to automatically select a wrapper based on the model's BOS token",
56
59
  group: "Optional:"
@@ -155,14 +158,21 @@ export const ChatCommand = {
155
158
  default: false,
156
159
  description: "Don't load or save chat history",
157
160
  group: "Optional:"
161
+ })
162
+ .option("environmentFunctions", {
163
+ alias: "ef",
164
+ type: "boolean",
165
+ default: false,
166
+ description: "Provide access to environment functions like `getDate` and `getTime`",
167
+ group: "Optional:"
158
168
  });
159
169
  },
160
- async handler({ model, systemInfo, systemPrompt, prompt, wrapper, contextSize, grammar, jsonSchemaGrammarFile, threads, temperature, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory }) {
170
+ async handler({ model, systemInfo, systemPrompt, prompt, wrapper, contextSize, grammar, jsonSchemaGrammarFile, threads, temperature, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory, environmentFunctions }) {
161
171
  try {
162
172
  await RunChat({
163
173
  model, systemInfo, systemPrompt, prompt, wrapper, contextSize, grammar, jsonSchemaGrammarFile, threads, temperature, topK,
164
174
  topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty,
165
- repeatPresencePenalty, maxTokens, noHistory
175
+ repeatPresencePenalty, maxTokens, noHistory, environmentFunctions
166
176
  });
167
177
  }
168
178
  catch (err) {
@@ -171,22 +181,32 @@ export const ChatCommand = {
171
181
  }
172
182
  }
173
183
  };
174
- async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrapper, contextSize, grammar: grammarArg, jsonSchemaGrammarFile: jsonSchemaGrammarFilePath, threads, temperature, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory }) {
175
- const { LlamaChatSession } = await import("../../llamaEvaluator/LlamaChatSession.js");
184
+ async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrapper, contextSize, grammar: grammarArg, jsonSchemaGrammarFile: jsonSchemaGrammarFilePath, threads, temperature, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory, environmentFunctions }) {
185
+ const { LlamaChatSession } = await import("../../llamaEvaluator/LlamaChatSession/LlamaChatSession.js");
176
186
  const { LlamaModel } = await import("../../llamaEvaluator/LlamaModel.js");
177
187
  const { LlamaContext } = await import("../../llamaEvaluator/LlamaContext/LlamaContext.js");
178
188
  const { LlamaGrammar } = await import("../../llamaEvaluator/LlamaGrammar.js");
179
189
  const { LlamaJsonSchemaGrammar } = await import("../../llamaEvaluator/LlamaJsonSchemaGrammar.js");
190
+ if (systemInfo)
191
+ console.log(LlamaModel.systemInfo);
180
192
  let initialPrompt = prompt ?? null;
181
- const model = new LlamaModel({
193
+ const model = await withStatusLogs({
194
+ loading: chalk.blue("Loading model"),
195
+ success: chalk.blue("Model loaded"),
196
+ fail: chalk.blue("Failed to load model")
197
+ }, async () => new LlamaModel({
182
198
  modelPath: path.resolve(process.cwd(), modelArg),
183
199
  gpuLayers: gpuLayers != null ? gpuLayers : undefined
184
- });
185
- const context = new LlamaContext({
200
+ }));
201
+ const context = await withStatusLogs({
202
+ loading: chalk.blue("Creating context"),
203
+ success: chalk.blue("Context created"),
204
+ fail: chalk.blue("Failed to create context")
205
+ }, async () => new LlamaContext({
186
206
  model,
187
207
  contextSize,
188
208
  threads
189
- });
209
+ }));
190
210
  const grammar = jsonSchemaGrammarFilePath != null
191
211
  ? new LlamaJsonSchemaGrammar(await fs.readJson(path.resolve(process.cwd(), jsonSchemaGrammarFilePath)))
192
212
  : grammarArg !== "text"
@@ -194,24 +214,24 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrap
194
214
  : undefined;
195
215
  const bos = model.tokens.bosString; // bos = beginning of sequence
196
216
  const eos = model.tokens.bosString; // eos = end of sequence
197
- const promptWrapper = getChatWrapper(wrapper, {
217
+ const chatWrapper = getChatWrapper(wrapper, {
198
218
  bosString: bos,
199
219
  filename: model.filename,
200
220
  typeDescription: model.typeDescription
201
221
  });
202
222
  const session = new LlamaChatSession({
203
223
  contextSequence: context.getSequence(),
204
- printLLamaSystemInfo: systemInfo,
205
224
  systemPrompt,
206
- promptWrapper
225
+ chatWrapper: chatWrapper
207
226
  });
208
227
  if (grammarArg != "text" && jsonSchemaGrammarFilePath != null)
209
228
  console.warn(chalk.yellow("Both `grammar` and `jsonSchemaGrammarFile` were specified. `jsonSchemaGrammarFile` will be used."));
210
229
  console.info(`${chalk.yellow("Context size:")} ${context.contextSize}`);
211
230
  console.info(`${chalk.yellow("Train context size:")} ${model.trainContextSize}`);
231
+ console.info(`${chalk.yellow("Model type:")} ${model.typeDescription}`);
212
232
  console.info(`${chalk.yellow("BOS:")} ${bos}`);
213
233
  console.info(`${chalk.yellow("EOS:")} ${eos}`);
214
- console.info(`${chalk.yellow("Chat wrapper:")} ${promptWrapper.wrapperName}`);
234
+ console.info(`${chalk.yellow("Chat wrapper:")} ${chatWrapper.wrapperName}`);
215
235
  console.info(`${chalk.yellow("Repeat penalty:")} ${repeatPenalty} (apply to last ${lastTokensRepeatPenalty} tokens)`);
216
236
  if (repeatFrequencyPenalty != null)
217
237
  console.info(`${chalk.yellow("Repeat frequency penalty:")} ${repeatFrequencyPenalty}`);
@@ -223,13 +243,10 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrap
223
243
  console.info(`${chalk.yellow("JSON schema grammar file:")} ${path.relative(process.cwd(), path.resolve(process.cwd(), jsonSchemaGrammarFilePath))}`);
224
244
  else if (grammarArg !== "text")
225
245
  console.info(`${chalk.yellow("Grammar:")} ${grammarArg}`);
226
- await withOra({
227
- loading: chalk.blue("Loading model"),
228
- success: chalk.blue("Model loaded"),
229
- fail: chalk.blue("Failed to load model")
230
- }, async () => {
231
- await session.init();
232
- });
246
+ if (environmentFunctions && grammar != null) {
247
+ console.warn(chalk.yellow("Environment functions are disabled since a grammar is already specified"));
248
+ environmentFunctions = false;
249
+ }
233
250
  // this is for ora to not interfere with readline
234
251
  await new Promise(resolve => setTimeout(resolve, 1));
235
252
  const replHistory = await ReplHistory.load(chatCommandHistoryFilePath, !noHistory);
@@ -260,7 +277,7 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrap
260
277
  const [startColor, endColor] = chalk.blue("MIDDLE").split("MIDDLE");
261
278
  process.stdout.write(startColor);
262
279
  await session.prompt(input, {
263
- grammar,
280
+ grammar: grammar,
264
281
  temperature,
265
282
  topK,
266
283
  topP,
@@ -278,22 +295,43 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, prompt, wrap
278
295
  : maxTokens,
279
296
  onToken(chunk) {
280
297
  process.stdout.write(model.detokenize(chunk));
281
- }
298
+ },
299
+ functions: (grammar == null && environmentFunctions)
300
+ ? defaultEnvironmentFunctions
301
+ : undefined
282
302
  });
283
303
  process.stdout.write(endColor);
284
304
  console.log();
285
305
  }
286
306
  }
307
+ const defaultEnvironmentFunctions = {
308
+ getDate: defineChatSessionFunction({
309
+ description: "Retrieve the current date",
310
+ handler() {
311
+ return new Date().toLocaleDateString();
312
+ }
313
+ }),
314
+ getTime: defineChatSessionFunction({
315
+ description: "Retrieve the current time",
316
+ handler() {
317
+ return new Date().toLocaleTimeString();
318
+ }
319
+ })
320
+ };
287
321
  function getChatWrapper(wrapper, { bosString, filename, typeDescription }) {
288
322
  switch (wrapper) {
289
323
  case "general":
290
- return new GeneralChatPromptWrapper();
324
+ return new GeneralChatWrapper();
291
325
  case "llamaChat":
292
- return new LlamaChatPromptWrapper();
326
+ return new LlamaChatWrapper();
327
+ case "alpacaChat":
328
+ return new AlpacaChatWrapper();
329
+ case "functionary":
330
+ return new FunctionaryChatWrapper();
293
331
  case "chatML":
294
- return new ChatMLChatPromptWrapper();
332
+ return new ChatMLChatWrapper();
295
333
  case "falconChat":
296
- return new FalconChatPromptWrapper();
334
+ return new FalconChatWrapper();
297
335
  default:
298
336
  }
299
337
  if (wrapper === "auto") {
@@ -304,7 +342,7 @@ function getChatWrapper(wrapper, { bosString, filename, typeDescription }) {
304
342
  });
305
343
  if (chatWrapper != null)
306
344
  return new chatWrapper();
307
- return new GeneralChatPromptWrapper();
345
+ return new GeneralChatWrapper();
308
346
  }
309
347
  void (wrapper);
310
348
  throw new Error("Unknown wrapper: " + wrapper);
@@ -1 +1 @@
1
- {"version":3,"file":"ChatCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/ChatCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,0BAA0B,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,sBAAsB,EAAC,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAC,uBAAuB,EAAC,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAC,8BAA8B,EAAC,MAAM,sDAAsD,CAAC;AAEpG,OAAO,EAAC,uBAAuB,EAAC,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAIvD,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAyBxF,MAAM,CAAC,MAAM,WAAW,GAAuC;IAC3D,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,yBAAyB;IACnC,OAAO,CAAC,KAAK;QACT,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;QAEzD,OAAO,KAAK;aACP,MAAM,CAAC,OAAO,EAAE;YACb,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,sCAAsC;YACnD,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,cAAc,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,kBAAkB,EAAE,GAAG;YACvB,WAAW,EACP,wCAAwC;gBACxC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/G,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wEAAwE;YACrF,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAmC;YAC5C,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,kGAAkG;YAC/G,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,GAAG,CAAC;YACjB,WAAW,EAAE,mCAAmC;YAChD,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAgC;YACzC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAoC;YACvG,WAAW,EAAE,0EAA0E;YACvF,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,uBAAuB,EAAE;YAC7B,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0HAA0H;YACvI,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,6jBAA6jB;YAC1kB,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,4SAA4S;YACzT,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,qRAAqR;YAClS,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mCAAmC;YAChD,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,eAAe,EAAE;YACrB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,kFAAkF;YAC/F,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,yBAAyB,EAAE;YAC/B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,oFAAoF;YACjG,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,0BAA0B,EAAE;YAChC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,6FAA6F;YAC1G,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,wBAAwB,EAAE;YAC9B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yJAAyJ;YACtK,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,uBAAuB,EAAE;YAC7B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+IAA+I;YAC5J,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,kHAAkH;YAC/H,KAAK,EAAE,WAAW;SACrB,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,iCAAiC;YAC9C,KAAK,EAAE,WAAW;SACrB,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EACV,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAC7D,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAChE,SAAS,EAAE,aAAa,EAAE,uBAAuB,EAAE,wBAAwB,EAC3E,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EACtE;QACG,IAAI;YACA,MAAM,OAAO,CAAC;gBACV,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI;gBACzH,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,aAAa,EAAE,wBAAwB,EAAE,sBAAsB;gBACzG,qBAAqB,EAAE,SAAS,EAAE,SAAS;aAC9C,CAAC,CAAC;SACN;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACL,CAAC;CACJ,CAAC;AAGF,KAAK,UAAU,OAAO,CAAC,EACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAC5F,qBAAqB,EAAE,yBAAyB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,aAAa,EACrI,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EACnF;IACV,MAAM,EAAC,gBAAgB,EAAC,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACpF,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACxE,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,mDAAmD,CAAC,CAAC;IACzF,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC5E,MAAM,EAAC,sBAAsB,EAAC,GAAG,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;IAEhG,IAAI,aAAa,GAAG,MAAM,IAAI,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;QACzB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;QAChD,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;QAC7B,KAAK;QACL,WAAW;QACX,OAAO;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,yBAAyB,IAAI,IAAI;QAC7C,CAAC,CAAC,IAAI,sBAAsB,CACxB,MAAM,EAAE,CAAC,QAAQ,CACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CACzD,CACJ;QACD,CAAC,CAAC,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,8BAA8B;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,wBAAwB;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE;QAC1C,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,eAAe,EAAE,KAAK,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACjC,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE;QACtC,oBAAoB,EAAE,UAAU;QAChC,YAAY;QACZ,aAAa;KAChB,CAAC,CAAC;IAEH,IAAI,UAAU,IAAI,MAAM,IAAI,yBAAyB,IAAI,IAAI;QACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kGAAkG,CAAC,CAAC,CAAC;IAEnI,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,aAAa,mBAAmB,uBAAuB,UAAU,CAAC,CAAC;IAEtH,IAAI,sBAAsB,IAAI,IAAI;QAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IAE3F,IAAI,qBAAqB,IAAI,IAAI;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAEzF,IAAI,CAAC,wBAAwB;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;IAE7E,IAAI,yBAAyB,IAAI,IAAI;QACjC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,IACrD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CACvF,EAAE,CAAC,CAAC;SACH,IAAI,UAAU,KAAK,MAAM;QAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IAE9D,MAAM,OAAO,CAAC;QACV,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QACpC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;KAC3C,EAAE,KAAK,IAAI,EAAE;QACV,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnF,KAAK,UAAU,SAAS;QACpB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE;SACvC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,OAAO,GAAG,CAAC;IACf,CAAC;IAED,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,aAAa,IAAI,IAAI;YAC/B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC;QAExB,IAAI,aAAa,IAAI,IAAI,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/C,aAAa,GAAG,IAAI,CAAC;SACxB;;YACG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,OAAO;YACjB,MAAM;QAEV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;YACxB,OAAO;YACP,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,aAAa,EAAE;gBACX,OAAO,EAAE,aAAa;gBACtB,gBAAgB,EAAE,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;gBACrF,eAAe,EAAE,qBAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;gBAClF,eAAe,EAAE,wBAAwB;gBACzC,UAAU,EAAE,uBAAuB;aACtC;YACD,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,SAAS,IAAI,CAAC;oBACZ,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS;YACnB,OAAO,CAAC,KAAK;gBACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAA+B,EAAE,EACrD,SAAS,EACT,QAAQ,EACR,eAAe,EAKlB;IACG,QAAQ,OAAO,EAAE;QACb,KAAK,SAAS;YACV,OAAO,IAAI,wBAAwB,EAAE,CAAC;QAC1C,KAAK,WAAW;YACZ,OAAO,IAAI,sBAAsB,EAAE,CAAC;QACxC,KAAK,QAAQ;YACT,OAAO,IAAI,uBAAuB,EAAE,CAAC;QACzC,KAAK,YAAY;YACb,OAAO,IAAI,uBAAuB,EAAE,CAAC;QACzC,QAAQ;KACX;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACpB,MAAM,WAAW,GAAG,8BAA8B,CAAC;YAC/C,SAAS;YACT,QAAQ;YACR,eAAe;SAClB,CAAC,CAAC;QAEH,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,WAAW,EAAE,CAAC;QAE7B,OAAO,IAAI,wBAAwB,EAAE,CAAC;KACzC;IAED,KAAK,CAAC,OAAuB,CAAC,CAAC;IAE/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"ChatCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/ChatCommand.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -33,7 +33,7 @@ export const defaultLlamaCppRelease = env.get("NODE_LLAMA_CPP_REPO_RELEASE")
33
33
  .default(await getBinariesGithubRelease())
34
34
  .asString();
35
35
  export const defaultLlamaCppMetalSupport = env.get("NODE_LLAMA_CPP_METAL")
36
- .default(process.platform === "darwin" ? "true" : "false")
36
+ .default((process.platform === "darwin" && process.arch !== "x64") ? "true" : "false")
37
37
  .asBool();
38
38
  export const defaultLlamaCppCudaSupport = env.get("NODE_LLAMA_CPP_CUDA")
39
39
  .default("false")
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAE1E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAGrC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,mCAAmC,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,4BAA4B,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5B,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,EAAE,CAAC;AACd,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;KAClE,OAAO,CAAC,qBAAqB,CAAC;KAC9B,QAAQ,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC;KACvE,OAAO,CAAC,MAAM,wBAAwB,EAAE,CAAC;KACzC,QAAQ,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC;KACrE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;KACrF,MAAM,EAAE,CAAC;AACd,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;KACnE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,EAAE,CAAC;AACd,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,EAAE,CAAC;AACd,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC;KACnF,OAAO,CAAC,yBAAyB,CAAC;KAClC,QAAQ,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC;KACnF,OAAO,CAAC,yBAAyB,CAAC;KAClC,QAAQ,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,8BAA8B,GAAG,8BAA8B,CAAC;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,+FAA+F;IAClI,+HAA+H;IAC/H,mFAAmF,CAAC;AACxF,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,IAAI,EAAE,gBAAgB,GAAG,aAAa;CAChC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,17 +5,23 @@ import { LlamaJsonSchemaGrammar } from "./llamaEvaluator/LlamaJsonSchemaGrammar.
5
5
  import { LlamaJsonSchemaValidationError } from "./utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js";
6
6
  import { LlamaGrammarEvaluationState, LlamaGrammarEvaluationStateOptions } from "./llamaEvaluator/LlamaGrammarEvaluationState.js";
7
7
  import { LlamaContext, LlamaContextSequence } from "./llamaEvaluator/LlamaContext/LlamaContext.js";
8
- import { type LlamaContextOptions, type BatchingOptions, type LlamaContextSequenceRepeatPenalty, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type TokenPriority } from "./llamaEvaluator/LlamaContext/types.js";
9
- import { LlamaChatSession, type LlamaChatSessionOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty } from "./llamaEvaluator/LlamaChatSession.js";
8
+ import { type LlamaContextOptions, type BatchingOptions, type LlamaContextSequenceRepeatPenalty, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority } from "./llamaEvaluator/LlamaContext/types.js";
9
+ import { LlamaChatSession, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty } from "./llamaEvaluator/LlamaChatSession/LlamaChatSession.js";
10
+ import { defineChatSessionFunction } from "./llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
11
+ import { LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaChatRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall } from "./llamaEvaluator/LlamaChat/LlamaChat.js";
10
12
  import { AbortError } from "./AbortError.js";
11
- import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
12
- import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
13
- import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
14
- import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
15
- import { ChatMLChatPromptWrapper } from "./chatWrappers/ChatMLChatPromptWrapper.js";
16
- import { FalconChatPromptWrapper } from "./chatWrappers/FalconChatPromptWrapper.js";
13
+ import { ChatWrapper, type ChatWrapperSettings } from "./ChatWrapper.js";
14
+ import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
15
+ import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
16
+ import { GeneralChatWrapper } from "./chatWrappers/GeneralChatWrapper.js";
17
+ import { ChatMLChatWrapper } from "./chatWrappers/ChatMLChatWrapper.js";
18
+ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
19
+ import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
20
+ import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
17
21
  import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
22
+ import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON } from "./utils/LlamaText.js";
23
+ import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
18
24
  import { getReleaseInfo } from "./utils/getReleaseInfo.js";
19
- import { type ConversationInteraction, type Token } from "./types.js";
25
+ import { type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall } from "./types.js";
20
26
  import { type GbnfJsonArraySchema, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonObjectSchema, type GbnfJsonOneOfSchema, type GbnfJsonSchema, type GbnfJsonSchemaImmutableType, type GbnfJsonSchemaToType } from "./utils/gbnfJson/types.js";
21
- export { LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, LlamaContextSequence, type LlamaContextOptions, type BatchingOptions, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type TokenPriority, type LlamaContextSequenceRepeatPenalty, LlamaChatSession, type LlamaChatSessionOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, type ConversationInteraction, AbortError, DisposedError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLChatPromptWrapper, FalconChatPromptWrapper, resolveChatWrapperBasedOnModel, getReleaseInfo, type Token, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema };
27
+ export { LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, LlamaContextSequence, type LlamaContextOptions, type BatchingOptions, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type LlamaContextSequenceRepeatPenalty, LlamaChatSession, defineChatSessionFunction, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaChatRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall, AbortError, DisposedError, ChatWrapper, type ChatWrapperSettings, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, resolveChatWrapperBasedOnModel, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON, appendUserMessageToChatHistory, getReleaseInfo, type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema };
package/dist/index.js CHANGED
@@ -5,15 +5,22 @@ import { LlamaJsonSchemaGrammar } from "./llamaEvaluator/LlamaJsonSchemaGrammar.
5
5
  import { LlamaJsonSchemaValidationError } from "./utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js";
6
6
  import { LlamaGrammarEvaluationState } from "./llamaEvaluator/LlamaGrammarEvaluationState.js";
7
7
  import { LlamaContext, LlamaContextSequence } from "./llamaEvaluator/LlamaContext/LlamaContext.js";
8
- import { LlamaChatSession } from "./llamaEvaluator/LlamaChatSession.js";
8
+ import { LlamaChatSession } from "./llamaEvaluator/LlamaChatSession/LlamaChatSession.js";
9
+ import { defineChatSessionFunction } from "./llamaEvaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
10
+ import { LlamaChat } from "./llamaEvaluator/LlamaChat/LlamaChat.js";
9
11
  import { AbortError } from "./AbortError.js";
10
- import { ChatPromptWrapper } from "./ChatPromptWrapper.js";
11
- import { EmptyChatPromptWrapper } from "./chatWrappers/EmptyChatPromptWrapper.js";
12
- import { LlamaChatPromptWrapper } from "./chatWrappers/LlamaChatPromptWrapper.js";
13
- import { GeneralChatPromptWrapper } from "./chatWrappers/GeneralChatPromptWrapper.js";
14
- import { ChatMLChatPromptWrapper } from "./chatWrappers/ChatMLChatPromptWrapper.js";
15
- import { FalconChatPromptWrapper } from "./chatWrappers/FalconChatPromptWrapper.js";
12
+ import { ChatWrapper } from "./ChatWrapper.js";
13
+ import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
14
+ import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
15
+ import { GeneralChatWrapper } from "./chatWrappers/GeneralChatWrapper.js";
16
+ import { ChatMLChatWrapper } from "./chatWrappers/ChatMLChatWrapper.js";
17
+ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
18
+ import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
19
+ import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
16
20
  import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
21
+ import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText } from "./utils/LlamaText.js";
22
+ import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
17
23
  import { getReleaseInfo } from "./utils/getReleaseInfo.js";
18
- export { LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaContextSequence, LlamaChatSession, AbortError, DisposedError, ChatPromptWrapper, EmptyChatPromptWrapper, LlamaChatPromptWrapper, GeneralChatPromptWrapper, ChatMLChatPromptWrapper, FalconChatPromptWrapper, resolveChatWrapperBasedOnModel, getReleaseInfo };
24
+ import { isChatModelResponseFunctionCall } from "./types.js";
25
+ export { LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaContextSequence, LlamaChatSession, defineChatSessionFunction, LlamaChat, AbortError, DisposedError, ChatWrapper, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, resolveChatWrapperBasedOnModel, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, appendUserMessageToChatHistory, getReleaseInfo, isChatModelResponseFunctionCall };
19
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,sBAAsB,EAA0B,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAC5H,OAAO,EAAC,YAAY,EAA2B,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,iDAAiD,CAAC;AAChI,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAMjG,OAAO,EACH,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AASzD,OAAO,EACH,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EACZ,oBAAoB,EAYpB,gBAAgB,EAKhB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,cAAc,EAWjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,sBAAsB,EAA0B,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAC5H,OAAO,EAAC,YAAY,EAA2B,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,iDAAiD,CAAC;AAChI,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAMjG,OAAO,EACH,gBAAgB,EAEnB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,yBAAyB,EAAC,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EACH,SAAS,EAEZ,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,8BAA8B,EAAC,MAAM,kDAAkD,CAAC;AAChG,OAAO,EACH,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAE1E,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,8BAA8B,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAGS,+BAA+B,EAC9C,MAAM,YAAY,CAAC;AAOpB,OAAO,EACH,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EACZ,oBAAoB,EAWpB,gBAAgB,EAChB,yBAAyB,EAKzB,SAAS,EAOT,UAAU,EACV,aAAa,EACb,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,YAAY,EAIZ,8BAA8B,EAC9B,cAAc,EAUd,+BAA+B,EAUlC,CAAC"}
@@ -9,7 +9,6 @@ declare const AddonModel: new (modelPath: string, params: {
9
9
  seed?: number | undefined;
10
10
  contextSize?: number | undefined;
11
11
  batchSize?: number | undefined;
12
- f16Kv?: boolean | undefined;
13
12
  logitsAll?: boolean | undefined;
14
13
  embedding?: boolean | undefined;
15
14
  threads?: number | undefined;
@@ -0,0 +1,175 @@
1
+ /// <reference types="node" />
2
+ import { EventRelay } from "lifecycle-utils";
3
+ import { ChatWrapper } from "../../ChatWrapper.js";
4
+ import { LlamaContextSequence } from "../LlamaContext/LlamaContext.js";
5
+ import { ChatHistoryItem, ChatModelFunctions, Token } from "../../types.js";
6
+ import { GbnfJsonSchemaToType } from "../../utils/gbnfJson/types.js";
7
+ import { LlamaGrammar } from "../LlamaGrammar.js";
8
+ import { EvaluationPriority } from "../LlamaContext/types.js";
9
+ export type LlamaChatOptions = {
10
+ contextSequence: LlamaContextSequence;
11
+ /** `"auto"` is used by default */
12
+ chatWrapper?: "auto" | ChatWrapper;
13
+ /** Automatically dispose the sequence when the session is disposed */
14
+ autoDisposeSequence?: boolean;
15
+ };
16
+ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunctions | undefined = undefined> = {
17
+ onToken?: (tokens: Token[]) => void;
18
+ signal?: AbortSignal;
19
+ maxTokens?: number;
20
+ /**
21
+ * Temperature is a hyperparameter that controls the randomness of the generated text.
22
+ * It affects the probability distribution of the model's output tokens.
23
+ * A higher temperature (e.g., 1.5) makes the output more random and creative,
24
+ * while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative.
25
+ * The suggested temperature is 0.8, which provides a balance between randomness and determinism.
26
+ * At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run.
27
+ *
28
+ * Set to `0` to disable.
29
+ * Disabled by default (set to `0`).
30
+ */
31
+ temperature?: number;
32
+ /**
33
+ * Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation.
34
+ * An integer number between `1` and the size of the vocabulary.
35
+ * Set to `0` to disable (which uses the full vocabulary).
36
+ *
37
+ * Only relevant when `temperature` is set to a value greater than 0.
38
+ */
39
+ topK?: number;
40
+ /**
41
+ * Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P,
42
+ * and samples the next token only from this set.
43
+ * A float number between `0` and `1`.
44
+ * Set to `1` to disable.
45
+ *
46
+ * Only relevant when `temperature` is set to a value greater than `0`.
47
+ */
48
+ topP?: number;
49
+ /**
50
+ * Trim whitespace from the end of the generated text
51
+ * Disabled by default.
52
+ */
53
+ trimWhitespaceSuffix?: boolean;
54
+ repeatPenalty?: false | LLamaChatRepeatPenalty;
55
+ /**
56
+ * See the parameter `evaluationPriority` on the `LlamaContextSequence.evaluate()` function for more information.
57
+ */
58
+ evaluationPriority?: EvaluationPriority;
59
+ contextShift?: LLamaChatContextShiftOptions;
60
+ /**
61
+ * The evaluation context window returned from the last evaluation.
62
+ * This is an optimization to utilize existing context sequence state better when possible.
63
+ */
64
+ lastEvaluationContextWindow?: {
65
+ /** The history of the last evaluation. */
66
+ history?: ChatHistoryItem[];
67
+ /**
68
+ * Minimum overlap percentage with existing context sequence state to use the last evaluation context window.
69
+ * If the last evaluation context window is not used, a new context will be generated based on the full history,
70
+ * which will decrease the likelihood of another context shift happening so soon.
71
+ */
72
+ minimumOverlapPercentageToPreventContextShift?: number;
73
+ };
74
+ } & ({
75
+ grammar?: LlamaGrammar;
76
+ functions?: never;
77
+ documentFunctionParams?: never;
78
+ } | {
79
+ grammar?: never;
80
+ functions?: Functions | ChatModelFunctions;
81
+ documentFunctionParams?: boolean;
82
+ });
83
+ export type LLamaChatContextShiftOptions = {
84
+ /**
85
+ * The number of tokens to delete from the context window to make space for new ones.
86
+ * Defaults to 10% of the context size.
87
+ */
88
+ size?: number | ((sequence: LlamaContextSequence) => number | Promise<number>);
89
+ /**
90
+ * The strategy to use when deleting tokens from the context window.
91
+ * Defaults to `"eraseFirstResponseAndKeepFirstSystem"`.
92
+ */
93
+ strategy?: "eraseFirstResponseAndKeepFirstSystem" | ((options: {
94
+ chatHistory: ChatHistoryItem[];
95
+ maxTokensCount: number;
96
+ tokenizer(text: string, specialTokens?: boolean): Token[];
97
+ chatWrapper: ChatWrapper;
98
+ lastShiftMetadata?: object | null;
99
+ }) => {
100
+ chatHistory: ChatHistoryItem[];
101
+ metadata?: object | null;
102
+ } | Promise<{
103
+ chatHistory: ChatHistoryItem[];
104
+ metadata?: object | null;
105
+ }>);
106
+ /**
107
+ * The `contextShiftMetadata` returned from the last evaluation.
108
+ * This is an optimization to utilize the existing context state better when possible.
109
+ */
110
+ lastEvaluationMetadata?: object | undefined | null;
111
+ };
112
+ export type LLamaChatRepeatPenalty = {
113
+ /**
114
+ * Number of recent tokens generated by the model to apply penalties to repetition of.
115
+ * Defaults to `64`.
116
+ */
117
+ lastTokens?: number;
118
+ punishTokensFilter?: (tokens: Token[]) => Token[];
119
+ /**
120
+ * Penalize new line tokens.
121
+ * Enabled by default.
122
+ */
123
+ penalizeNewLine?: boolean;
124
+ /**
125
+ * The relative amount to lower the probability of the tokens in `punishTokens` by
126
+ * Defaults to `1.1`.
127
+ * Set to `1` to disable.
128
+ */
129
+ penalty?: number;
130
+ /**
131
+ * For n time a token is in the `punishTokens` array, lower its probability by `n * frequencyPenalty`
132
+ * Disabled by default (`0`).
133
+ * Set to a value between `0` and `1` to enable.
134
+ */
135
+ frequencyPenalty?: number;
136
+ /**
137
+ * Lower the probability of all the tokens in the `punishTokens` array by `presencePenalty`
138
+ * Disabled by default (`0`).
139
+ * Set to a value between `0` and `1` to enable.
140
+ */
141
+ presencePenalty?: number;
142
+ };
143
+ export declare class LlamaChat {
144
+ readonly onDispose: EventRelay<void>;
145
+ constructor({ contextSequence, chatWrapper, autoDisposeSequence }: LlamaChatOptions);
146
+ dispose({ disposeSequence }?: {
147
+ disposeSequence?: boolean;
148
+ }): void;
149
+ /** @hidden */
150
+ [Symbol.dispose](): void;
151
+ get disposed(): boolean;
152
+ get chatWrapper(): ChatWrapper;
153
+ get sequence(): LlamaContextSequence;
154
+ get context(): import("../LlamaContext/LlamaContext.js").LlamaContext;
155
+ get model(): import("../LlamaModel.js").LlamaModel;
156
+ generateResponse<const Functions extends ChatModelFunctions | undefined = undefined>(history: ChatHistoryItem[], { onToken, signal, maxTokens, temperature, topK, topP, grammar, trimWhitespaceSuffix, repeatPenalty, evaluationPriority, functions, documentFunctionParams, contextShift, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift } }?: LLamaChatGenerateResponseOptions<Functions>): Promise<LlamaChatResponse<Functions>>;
157
+ }
158
+ export type LlamaChatResponse<Functions extends ChatModelFunctions | undefined = undefined> = {
159
+ response: string;
160
+ functionCall?: Functions extends ChatModelFunctions ? LlamaChatResponseFunctionCall<Functions> : never;
161
+ lastEvaluation: {
162
+ cleanHistory: ChatHistoryItem[];
163
+ contextWindow: ChatHistoryItem[];
164
+ contextShiftMetadata: any;
165
+ };
166
+ metadata: {
167
+ remainingGenerationAfterStop?: string | Token[];
168
+ stopReason: "eosToken" | "stopGenerationTrigger" | "functionCall" | "maxTokens";
169
+ };
170
+ };
171
+ export type LlamaChatResponseFunctionCall<Functions extends ChatModelFunctions, FunctionCallName extends keyof Functions & string = string & keyof Functions, Params = Functions[FunctionCallName]["params"] extends undefined | null | void ? undefined : GbnfJsonSchemaToType<Functions[FunctionCallName]["params"]>> = {
172
+ functionName: FunctionCallName;
173
+ params: Params;
174
+ raw: string;
175
+ };