modelfusion 0.106.0 → 0.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +8 -49
  3. package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.test.cjs +11 -0
  4. package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.test.js +11 -0
  5. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.cjs +9 -7
  6. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.js +9 -7
  7. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.test.cjs +11 -0
  8. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.test.js +11 -0
  9. package/model-function/generate-text/prompt-template/MistralInstructPromptTemplate.cjs +150 -0
  10. package/model-function/generate-text/prompt-template/MistralInstructPromptTemplate.d.ts +62 -0
  11. package/model-function/generate-text/prompt-template/MistralInstructPromptTemplate.js +143 -0
  12. package/model-function/generate-text/prompt-template/MistralInstructPromptTemplate.test.cjs +60 -0
  13. package/model-function/generate-text/prompt-template/MistralInstructPromptTemplate.test.js +58 -0
  14. package/model-function/generate-text/prompt-template/NeuralChatPromptTemplate.test.cjs +11 -0
  15. package/model-function/generate-text/prompt-template/NeuralChatPromptTemplate.test.js +11 -0
  16. package/model-function/generate-text/prompt-template/TextPromptTemplate.test.cjs +11 -0
  17. package/model-function/generate-text/prompt-template/TextPromptTemplate.test.js +11 -0
  18. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.cjs +11 -0
  19. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.js +11 -0
  20. package/model-function/generate-text/prompt-template/index.cjs +2 -1
  21. package/model-function/generate-text/prompt-template/index.d.ts +1 -0
  22. package/model-function/generate-text/prompt-template/index.js +1 -0
  23. package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.d.ts +3 -3
  24. package/model-provider/llamacpp/{LlamaCppTextGenerationModel.cjs → LlamaCppCompletionModel.cjs} +8 -8
  25. package/model-provider/llamacpp/{LlamaCppTextGenerationModel.d.ts → LlamaCppCompletionModel.d.ts} +26 -26
  26. package/model-provider/llamacpp/{LlamaCppTextGenerationModel.js → LlamaCppCompletionModel.js} +6 -6
  27. package/model-provider/llamacpp/{LlamaCppTextGenerationModel.test.cjs → LlamaCppCompletionModel.test.cjs} +3 -3
  28. package/model-provider/llamacpp/LlamaCppCompletionModel.test.d.ts +1 -0
  29. package/model-provider/llamacpp/{LlamaCppTextGenerationModel.test.js → LlamaCppCompletionModel.test.js} +3 -3
  30. package/model-provider/llamacpp/LlamaCppFacade.cjs +2 -2
  31. package/model-provider/llamacpp/LlamaCppFacade.d.ts +2 -2
  32. package/model-provider/llamacpp/LlamaCppFacade.js +2 -2
  33. package/model-provider/llamacpp/index.cjs +1 -1
  34. package/model-provider/llamacpp/index.d.ts +1 -1
  35. package/model-provider/llamacpp/index.js +1 -1
  36. package/model-provider/mistral/MistralChatModel.cjs +4 -4
  37. package/model-provider/mistral/MistralChatModel.d.ts +6 -6
  38. package/model-provider/mistral/MistralChatModel.js +1 -1
  39. package/model-provider/mistral/index.cjs +3 -3
  40. package/model-provider/mistral/index.d.ts +2 -2
  41. package/model-provider/mistral/index.js +2 -2
  42. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +8 -8
  43. package/model-provider/openai/OpenAIChatFunctionCallStructureGenerationModel.d.ts +1 -1
  44. package/model-provider/openai/OpenAICompletionModel.d.ts +6 -6
  45. package/package.json +1 -1
  46. package/tool/generate-tool-call/index.cjs +1 -0
  47. package/tool/generate-tool-call/index.d.ts +1 -0
  48. package/tool/generate-tool-call/index.js +1 -0
  49. package/tool/generate-tool-call/jsonToolCallPrompt.cjs +30 -0
  50. package/tool/generate-tool-call/jsonToolCallPrompt.d.ts +5 -0
  51. package/tool/generate-tool-call/jsonToolCallPrompt.js +27 -0
  52. /package/{model-provider/llamacpp/LlamaCppTextGenerationModel.test.d.ts → model-function/generate-text/prompt-template/MistralInstructPromptTemplate.test.d.ts} +0 -0
  53. /package/model-provider/mistral/{MistralPromptTemplate.cjs → MistralChatPromptTemplate.cjs} +0 -0
  54. /package/model-provider/mistral/{MistralPromptTemplate.d.ts → MistralChatPromptTemplate.d.ts} +0 -0
  55. /package/model-provider/mistral/{MistralPromptTemplate.js → MistralChatPromptTemplate.js} +0 -0
@@ -0,0 +1,58 @@
1
+ import { chat, instruction, text } from "./MistralInstructPromptTemplate.js";
2
+ describe("text prompt", () => {
3
+ it("should format prompt", () => {
4
+ const prompt = text().format("prompt");
5
+ expect(prompt).toMatchSnapshot();
6
+ });
7
+ });
8
+ describe("instruction prompt", () => {
9
+ it("should format prompt with instruction", () => {
10
+ const prompt = instruction().format({
11
+ instruction: "instruction",
12
+ });
13
+ expect(prompt).toMatchSnapshot();
14
+ });
15
+ it("should format prompt with system and instruction", () => {
16
+ const prompt = instruction().format({
17
+ system: "system",
18
+ instruction: "instruction",
19
+ });
20
+ expect(prompt).toMatchSnapshot();
21
+ });
22
+ it("should format prompt with instruction and response prefix", () => {
23
+ const prompt = instruction().format({
24
+ instruction: "instruction",
25
+ responsePrefix: "response prefix",
26
+ });
27
+ expect(prompt).toMatchSnapshot();
28
+ });
29
+ });
30
+ describe("chat prompt", () => {
31
+ it("should format prompt with user message", () => {
32
+ const prompt = chat().format({
33
+ messages: [{ role: "user", content: "user message" }],
34
+ });
35
+ expect(prompt).toMatchSnapshot();
36
+ });
37
+ it("should format prompt with user-assistant-user messages", () => {
38
+ const prompt = chat().format({
39
+ messages: [
40
+ { role: "user", content: "1st user message" },
41
+ { role: "assistant", content: "assistant message" },
42
+ { role: "user", content: "2nd user message" },
43
+ ],
44
+ });
45
+ expect(prompt).toMatchSnapshot();
46
+ });
47
+ it("should format prompt with system message and user-assistant-user messages", () => {
48
+ const prompt = chat().format({
49
+ system: "you are a chatbot",
50
+ messages: [
51
+ { role: "user", content: "1st user message" },
52
+ { role: "assistant", content: "assistant message" },
53
+ { role: "user", content: "2nd user message" },
54
+ ],
55
+ });
56
+ expect(prompt).toMatchSnapshot();
57
+ });
58
+ });
@@ -46,4 +46,15 @@ describe("chat prompt", () => {
46
46
  });
47
47
  expect(prompt).toMatchSnapshot();
48
48
  });
49
+ it("should format prompt with system message and user-assistant-user messages", () => {
50
+ const prompt = (0, NeuralChatPromptTemplate_js_1.chat)().format({
51
+ system: "you are a chatbot",
52
+ messages: [
53
+ { role: "user", content: "1st user message" },
54
+ { role: "assistant", content: "assistant message" },
55
+ { role: "user", content: "2nd user message" },
56
+ ],
57
+ });
58
+ expect(prompt).toMatchSnapshot();
59
+ });
49
60
  });
@@ -44,4 +44,15 @@ describe("chat prompt", () => {
44
44
  });
45
45
  expect(prompt).toMatchSnapshot();
46
46
  });
47
+ it("should format prompt with system message and user-assistant-user messages", () => {
48
+ const prompt = chat().format({
49
+ system: "you are a chatbot",
50
+ messages: [
51
+ { role: "user", content: "1st user message" },
52
+ { role: "assistant", content: "assistant message" },
53
+ { role: "user", content: "2nd user message" },
54
+ ],
55
+ });
56
+ expect(prompt).toMatchSnapshot();
57
+ });
47
58
  });
@@ -46,4 +46,15 @@ describe("chat prompt", () => {
46
46
  });
47
47
  expect(prompt).toMatchSnapshot();
48
48
  });
49
+ it("should format prompt with system message and user-assistant-user messages", () => {
50
+ const prompt = (0, TextPromptTemplate_js_1.chat)().format({
51
+ system: "you are a chatbot",
52
+ messages: [
53
+ { role: "user", content: "1st user message" },
54
+ { role: "assistant", content: "assistant message" },
55
+ { role: "user", content: "2nd user message" },
56
+ ],
57
+ });
58
+ expect(prompt).toMatchSnapshot();
59
+ });
49
60
  });
@@ -44,4 +44,15 @@ describe("chat prompt", () => {
44
44
  });
45
45
  expect(prompt).toMatchSnapshot();
46
46
  });
47
+ it("should format prompt with system message and user-assistant-user messages", () => {
48
+ const prompt = chat().format({
49
+ system: "you are a chatbot",
50
+ messages: [
51
+ { role: "user", content: "1st user message" },
52
+ { role: "assistant", content: "assistant message" },
53
+ { role: "user", content: "2nd user message" },
54
+ ],
55
+ });
56
+ expect(prompt).toMatchSnapshot();
57
+ });
47
58
  });
@@ -18,4 +18,15 @@ describe("chat prompt", () => {
18
18
  });
19
19
  expect(prompt).toMatchSnapshot();
20
20
  });
21
+ it("should format prompt with system message and user-assistant-user messages", () => {
22
+ const prompt = (0, VicunaPromptTemplate_js_1.chat)().format({
23
+ system: "you are a chatbot",
24
+ messages: [
25
+ { role: "user", content: "1st user message" },
26
+ { role: "assistant", content: "assistant message" },
27
+ { role: "user", content: "2nd user message" },
28
+ ],
29
+ });
30
+ expect(prompt).toMatchSnapshot();
31
+ });
21
32
  });
@@ -16,4 +16,15 @@ describe("chat prompt", () => {
16
16
  });
17
17
  expect(prompt).toMatchSnapshot();
18
18
  });
19
+ it("should format prompt with system message and user-assistant-user messages", () => {
20
+ const prompt = chat().format({
21
+ system: "you are a chatbot",
22
+ messages: [
23
+ { role: "user", content: "1st user message" },
24
+ { role: "assistant", content: "assistant message" },
25
+ { role: "user", content: "2nd user message" },
26
+ ],
27
+ });
28
+ expect(prompt).toMatchSnapshot();
29
+ });
19
30
  });
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.VicunaPrompt = exports.TextPrompt = exports.NeuralChatPrompt = exports.Llama2Prompt = exports.ChatMLPrompt = exports.AlpacaPrompt = void 0;
29
+ exports.VicunaPrompt = exports.TextPrompt = exports.NeuralChatPrompt = exports.MistralInstructPrompt = exports.Llama2Prompt = exports.ChatMLPrompt = exports.AlpacaPrompt = void 0;
30
30
  exports.AlpacaPrompt = __importStar(require("./AlpacaPromptTemplate.cjs"));
31
31
  exports.ChatMLPrompt = __importStar(require("./ChatMLPromptTemplate.cjs"));
32
32
  __exportStar(require("./ChatPrompt.cjs"), exports);
@@ -34,6 +34,7 @@ __exportStar(require("./ContentPart.cjs"), exports);
34
34
  __exportStar(require("./InstructionPrompt.cjs"), exports);
35
35
  __exportStar(require("./InvalidPromptError.cjs"), exports);
36
36
  exports.Llama2Prompt = __importStar(require("./Llama2PromptTemplate.cjs"));
37
+ exports.MistralInstructPrompt = __importStar(require("./MistralInstructPromptTemplate.cjs"));
37
38
  exports.NeuralChatPrompt = __importStar(require("./NeuralChatPromptTemplate.cjs"));
38
39
  exports.TextPrompt = __importStar(require("./TextPromptTemplate.cjs"));
39
40
  exports.VicunaPrompt = __importStar(require("./VicunaPromptTemplate.cjs"));
@@ -5,6 +5,7 @@ export * from "./ContentPart.js";
5
5
  export * from "./InstructionPrompt.js";
6
6
  export * from "./InvalidPromptError.js";
7
7
  export * as Llama2Prompt from "./Llama2PromptTemplate.js";
8
+ export * as MistralInstructPrompt from "./MistralInstructPromptTemplate.js";
8
9
  export * as NeuralChatPrompt from "./NeuralChatPromptTemplate.js";
9
10
  export * as TextPrompt from "./TextPromptTemplate.js";
10
11
  export * as VicunaPrompt from "./VicunaPromptTemplate.js";
@@ -5,6 +5,7 @@ export * from "./ContentPart.js";
5
5
  export * from "./InstructionPrompt.js";
6
6
  export * from "./InvalidPromptError.js";
7
7
  export * as Llama2Prompt from "./Llama2PromptTemplate.js";
8
+ export * as MistralInstructPrompt from "./MistralInstructPromptTemplate.js";
8
9
  export * as NeuralChatPrompt from "./NeuralChatPromptTemplate.js";
9
10
  export * as TextPrompt from "./TextPromptTemplate.js";
10
11
  export * as VicunaPrompt from "./VicunaPromptTemplate.js";
@@ -1,11 +1,11 @@
1
1
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
2
2
  import { ChatPrompt } from "../../model-function/generate-text/prompt-template/ChatPrompt.js";
3
3
  import { InstructionPrompt } from "../../model-function/generate-text/prompt-template/InstructionPrompt.js";
4
- import { LlamaCppTextGenerationPrompt } from "./LlamaCppTextGenerationModel.js";
4
+ import { LlamaCppCompletionPrompt } from "./LlamaCppCompletionModel.js";
5
5
  /**
6
6
  * BakLLaVA 1 uses a Vicuna 1 prompt. This mapping combines it with the LlamaCpp prompt structure.
7
7
  *
8
8
  * @see https://github.com/SkunkworksAI/BakLLaVA
9
9
  */
10
- export declare function instruction(): TextGenerationPromptTemplate<InstructionPrompt, LlamaCppTextGenerationPrompt>;
11
- export declare function chat(): TextGenerationPromptTemplate<ChatPrompt, LlamaCppTextGenerationPrompt>;
10
+ export declare function instruction(): TextGenerationPromptTemplate<InstructionPrompt, LlamaCppCompletionPrompt>;
11
+ export declare function chat(): TextGenerationPromptTemplate<ChatPrompt, LlamaCppCompletionPrompt>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LlamaCppTextGenerationResponseFormat = exports.LlamaCppTextGenerationModel = void 0;
3
+ exports.LlamaCppCompletionResponseFormat = exports.LlamaCppCompletionModel = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
@@ -14,7 +14,7 @@ const parseEventSourceStream_js_1 = require("../../util/streaming/parseEventSour
14
14
  const LlamaCppApiConfiguration_js_1 = require("./LlamaCppApiConfiguration.cjs");
15
15
  const LlamaCppError_js_1 = require("./LlamaCppError.cjs");
16
16
  const LlamaCppTokenizer_js_1 = require("./LlamaCppTokenizer.cjs");
17
- class LlamaCppTextGenerationModel extends AbstractModel_js_1.AbstractModel {
17
+ class LlamaCppCompletionModel extends AbstractModel_js_1.AbstractModel {
18
18
  constructor(settings = {}) {
19
19
  super({ settings });
20
20
  Object.defineProperty(this, "provider", {
@@ -111,7 +111,7 @@ class LlamaCppTextGenerationModel extends AbstractModel_js_1.AbstractModel {
111
111
  async doGenerateTexts(prompt, options) {
112
112
  const response = await this.callAPI(prompt, {
113
113
  ...options,
114
- responseFormat: exports.LlamaCppTextGenerationResponseFormat.json,
114
+ responseFormat: exports.LlamaCppCompletionResponseFormat.json,
115
115
  });
116
116
  return {
117
117
  response,
@@ -135,7 +135,7 @@ class LlamaCppTextGenerationModel extends AbstractModel_js_1.AbstractModel {
135
135
  doStreamText(prompt, options) {
136
136
  return this.callAPI(prompt, {
137
137
  ...options,
138
- responseFormat: exports.LlamaCppTextGenerationResponseFormat.deltaIterable,
138
+ responseFormat: exports.LlamaCppCompletionResponseFormat.deltaIterable,
139
139
  });
140
140
  }
141
141
  extractTextDelta(delta) {
@@ -178,10 +178,10 @@ class LlamaCppTextGenerationModel extends AbstractModel_js_1.AbstractModel {
178
178
  });
179
179
  }
180
180
  withSettings(additionalSettings) {
181
- return new LlamaCppTextGenerationModel(Object.assign({}, this.settings, additionalSettings));
181
+ return new LlamaCppCompletionModel(Object.assign({}, this.settings, additionalSettings));
182
182
  }
183
183
  }
184
- exports.LlamaCppTextGenerationModel = LlamaCppTextGenerationModel;
184
+ exports.LlamaCppCompletionModel = LlamaCppCompletionModel;
185
185
  const llamaCppTextGenerationResponseSchema = zod_1.z.object({
186
186
  content: zod_1.z.string(),
187
187
  stop: zod_1.z.literal(true),
@@ -204,7 +204,7 @@ const llamaCppTextGenerationResponseSchema = zod_1.z.object({
204
204
  seed: zod_1.z.number(),
205
205
  stop: zod_1.z.array(zod_1.z.string()),
206
206
  stream: zod_1.z.boolean(),
207
- temp: zod_1.z.number(),
207
+ temperature: zod_1.z.number().optional(), // optional for backwards compatibility
208
208
  tfs_z: zod_1.z.number(),
209
209
  top_k: zod_1.z.number(),
210
210
  top_p: zod_1.z.number(),
@@ -267,7 +267,7 @@ async function createLlamaCppFullDeltaIterableQueue(stream) {
267
267
  });
268
268
  return queue;
269
269
  }
270
- exports.LlamaCppTextGenerationResponseFormat = {
270
+ exports.LlamaCppCompletionResponseFormat = {
271
271
  /**
272
272
  * Returns the response as a JSON object.
273
273
  */
@@ -8,7 +8,7 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
8
8
  import { TextGenerationModelSettings, TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
9
9
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
10
10
  import { LlamaCppTokenizer } from "./LlamaCppTokenizer.js";
11
- export interface LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE extends number | undefined> extends TextGenerationModelSettings {
11
+ export interface LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE extends number | undefined> extends TextGenerationModelSettings {
12
12
  api?: ApiConfiguration;
13
13
  /**
14
14
  * Specify the context window size of the model that you have loaded in your
@@ -35,7 +35,7 @@ export interface LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE extends
35
35
  ignoreEos?: boolean;
36
36
  logitBias?: Array<[number, number | false]>;
37
37
  }
38
- export interface LlamaCppTextGenerationPrompt {
38
+ export interface LlamaCppCompletionPrompt {
39
39
  /**
40
40
  * Text prompt. Images can be included through references such as `[img-ID]`, e.g. `[img-1]`.
41
41
  */
@@ -45,18 +45,18 @@ export interface LlamaCppTextGenerationPrompt {
45
45
  */
46
46
  images?: Record<number, string>;
47
47
  }
48
- export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends number | undefined> extends AbstractModel<LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>> implements TextStreamingModel<LlamaCppTextGenerationPrompt, LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>> {
49
- constructor(settings?: LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>);
48
+ export declare class LlamaCppCompletionModel<CONTEXT_WINDOW_SIZE extends number | undefined> extends AbstractModel<LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>> implements TextStreamingModel<LlamaCppCompletionPrompt, LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>> {
49
+ constructor(settings?: LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>);
50
50
  readonly provider = "llamacpp";
51
51
  get modelName(): null;
52
52
  get contextWindowSize(): CONTEXT_WINDOW_SIZE;
53
53
  readonly tokenizer: LlamaCppTokenizer;
54
- callAPI<RESPONSE>(prompt: LlamaCppTextGenerationPrompt, options: {
55
- responseFormat: LlamaCppTextGenerationResponseFormatType<RESPONSE>;
54
+ callAPI<RESPONSE>(prompt: LlamaCppCompletionPrompt, options: {
55
+ responseFormat: LlamaCppCompletionResponseFormatType<RESPONSE>;
56
56
  } & FunctionOptions): Promise<RESPONSE>;
57
- get settingsForEvent(): Partial<LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>>;
58
- countPromptTokens(prompt: LlamaCppTextGenerationPrompt): Promise<number>;
59
- doGenerateTexts(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<{
57
+ get settingsForEvent(): Partial<LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>>;
58
+ countPromptTokens(prompt: LlamaCppCompletionPrompt): Promise<number>;
59
+ doGenerateTexts(prompt: LlamaCppCompletionPrompt, options?: FunctionOptions): Promise<{
60
60
  response: {
61
61
  model: string;
62
62
  stop: true;
@@ -81,11 +81,11 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
81
81
  presence_penalty: number;
82
82
  repeat_last_n: number;
83
83
  repeat_penalty: number;
84
- temp: number;
85
84
  tfs_z: number;
86
85
  top_k: number;
87
86
  top_p: number;
88
87
  typical_p: number;
88
+ temperature?: number | undefined;
89
89
  };
90
90
  stopped_eos: boolean;
91
91
  stopped_limit: boolean;
@@ -116,7 +116,7 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
116
116
  totalTokens: number;
117
117
  };
118
118
  }>;
119
- doStreamText(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<AsyncIterable<Delta<{
119
+ doStreamText(prompt: LlamaCppCompletionPrompt, options?: FunctionOptions): Promise<AsyncIterable<Delta<{
120
120
  model: string;
121
121
  stop: true;
122
122
  content: string;
@@ -140,11 +140,11 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
140
140
  presence_penalty: number;
141
141
  repeat_last_n: number;
142
142
  repeat_penalty: number;
143
- temp: number;
144
143
  tfs_z: number;
145
144
  top_k: number;
146
145
  top_p: number;
147
146
  typical_p: number;
147
+ temperature?: number | undefined;
148
148
  };
149
149
  stopped_eos: boolean;
150
150
  stopped_limit: boolean;
@@ -169,16 +169,16 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
169
169
  content: string;
170
170
  }>>>;
171
171
  extractTextDelta(delta: unknown): string;
172
- withTextPrompt(): PromptTemplateTextStreamingModel<string, LlamaCppTextGenerationPrompt, LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, this>;
172
+ withTextPrompt(): PromptTemplateTextStreamingModel<string, LlamaCppCompletionPrompt, LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>, this>;
173
173
  /**
174
174
  * Maps the prompt for a text version of the Llama.cpp prompt template (without image support).
175
175
  */
176
- withTextPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, string>): PromptTemplateTextStreamingModel<INPUT_PROMPT, string, LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, PromptTemplateTextStreamingModel<string, LlamaCppTextGenerationPrompt, LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, this>>;
176
+ withTextPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, string>): PromptTemplateTextStreamingModel<INPUT_PROMPT, string, LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>, PromptTemplateTextStreamingModel<string, LlamaCppCompletionPrompt, LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>, this>>;
177
177
  /**
178
178
  * Maps the prompt for the full Llama.cpp prompt template (incl. image support).
179
179
  */
180
- withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, LlamaCppTextGenerationPrompt>): PromptTemplateTextStreamingModel<INPUT_PROMPT, LlamaCppTextGenerationPrompt, LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, this>;
181
- withSettings(additionalSettings: Partial<LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>>): this;
180
+ withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, LlamaCppCompletionPrompt>): PromptTemplateTextStreamingModel<INPUT_PROMPT, LlamaCppCompletionPrompt, LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>, this>;
181
+ withSettings(additionalSettings: Partial<LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>>): this;
182
182
  }
183
183
  declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
184
184
  content: z.ZodString;
@@ -202,7 +202,7 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
202
202
  seed: z.ZodNumber;
203
203
  stop: z.ZodArray<z.ZodString, "many">;
204
204
  stream: z.ZodBoolean;
205
- temp: z.ZodNumber;
205
+ temperature: z.ZodOptional<z.ZodNumber>;
206
206
  tfs_z: z.ZodNumber;
207
207
  top_k: z.ZodNumber;
208
208
  top_p: z.ZodNumber;
@@ -226,11 +226,11 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
226
226
  presence_penalty: number;
227
227
  repeat_last_n: number;
228
228
  repeat_penalty: number;
229
- temp: number;
230
229
  tfs_z: number;
231
230
  top_k: number;
232
231
  top_p: number;
233
232
  typical_p: number;
233
+ temperature?: number | undefined;
234
234
  }, {
235
235
  model: string;
236
236
  stream: boolean;
@@ -250,11 +250,11 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
250
250
  presence_penalty: number;
251
251
  repeat_last_n: number;
252
252
  repeat_penalty: number;
253
- temp: number;
254
253
  tfs_z: number;
255
254
  top_k: number;
256
255
  top_p: number;
257
256
  typical_p: number;
257
+ temperature?: number | undefined;
258
258
  }>;
259
259
  model: z.ZodString;
260
260
  prompt: z.ZodString;
@@ -318,11 +318,11 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
318
318
  presence_penalty: number;
319
319
  repeat_last_n: number;
320
320
  repeat_penalty: number;
321
- temp: number;
322
321
  tfs_z: number;
323
322
  top_k: number;
324
323
  top_p: number;
325
324
  typical_p: number;
325
+ temperature?: number | undefined;
326
326
  };
327
327
  stopped_eos: boolean;
328
328
  stopped_limit: boolean;
@@ -366,11 +366,11 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
366
366
  presence_penalty: number;
367
367
  repeat_last_n: number;
368
368
  repeat_penalty: number;
369
- temp: number;
370
369
  tfs_z: number;
371
370
  top_k: number;
372
371
  top_p: number;
373
372
  typical_p: number;
373
+ temperature?: number | undefined;
374
374
  };
375
375
  stopped_eos: boolean;
376
376
  stopped_limit: boolean;
@@ -416,11 +416,11 @@ declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema
416
416
  presence_penalty: number;
417
417
  repeat_last_n: number;
418
418
  repeat_penalty: number;
419
- temp: number;
420
419
  tfs_z: number;
421
420
  top_k: number;
422
421
  top_p: number;
423
422
  typical_p: number;
423
+ temperature?: number | undefined;
424
424
  };
425
425
  stopped_eos: boolean;
426
426
  stopped_limit: boolean;
@@ -445,11 +445,11 @@ declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema
445
445
  content: string;
446
446
  }>;
447
447
  export type LlamaCppTextStreamChunk = (typeof llamaCppTextStreamChunkSchema)["_type"];
448
- export type LlamaCppTextGenerationResponseFormatType<T> = {
448
+ export type LlamaCppCompletionResponseFormatType<T> = {
449
449
  stream: boolean;
450
450
  handler: ResponseHandler<T>;
451
451
  };
452
- export declare const LlamaCppTextGenerationResponseFormat: {
452
+ export declare const LlamaCppCompletionResponseFormat: {
453
453
  /**
454
454
  * Returns the response as a JSON object.
455
455
  */
@@ -479,11 +479,11 @@ export declare const LlamaCppTextGenerationResponseFormat: {
479
479
  presence_penalty: number;
480
480
  repeat_last_n: number;
481
481
  repeat_penalty: number;
482
- temp: number;
483
482
  tfs_z: number;
484
483
  top_k: number;
485
484
  top_p: number;
486
485
  typical_p: number;
486
+ temperature?: number | undefined;
487
487
  };
488
488
  stopped_eos: boolean;
489
489
  stopped_limit: boolean;
@@ -537,11 +537,11 @@ export declare const LlamaCppTextGenerationResponseFormat: {
537
537
  presence_penalty: number;
538
538
  repeat_last_n: number;
539
539
  repeat_penalty: number;
540
- temp: number;
541
540
  tfs_z: number;
542
541
  top_k: number;
543
542
  top_p: number;
544
543
  typical_p: number;
544
+ temperature?: number | undefined;
545
545
  };
546
546
  stopped_eos: boolean;
547
547
  stopped_limit: boolean;
@@ -11,7 +11,7 @@ import { parseEventSourceStream } from "../../util/streaming/parseEventSourceStr
11
11
  import { LlamaCppApiConfiguration } from "./LlamaCppApiConfiguration.js";
12
12
  import { failedLlamaCppCallResponseHandler } from "./LlamaCppError.js";
13
13
  import { LlamaCppTokenizer } from "./LlamaCppTokenizer.js";
14
- export class LlamaCppTextGenerationModel extends AbstractModel {
14
+ export class LlamaCppCompletionModel extends AbstractModel {
15
15
  constructor(settings = {}) {
16
16
  super({ settings });
17
17
  Object.defineProperty(this, "provider", {
@@ -108,7 +108,7 @@ export class LlamaCppTextGenerationModel extends AbstractModel {
108
108
  async doGenerateTexts(prompt, options) {
109
109
  const response = await this.callAPI(prompt, {
110
110
  ...options,
111
- responseFormat: LlamaCppTextGenerationResponseFormat.json,
111
+ responseFormat: LlamaCppCompletionResponseFormat.json,
112
112
  });
113
113
  return {
114
114
  response,
@@ -132,7 +132,7 @@ export class LlamaCppTextGenerationModel extends AbstractModel {
132
132
  doStreamText(prompt, options) {
133
133
  return this.callAPI(prompt, {
134
134
  ...options,
135
- responseFormat: LlamaCppTextGenerationResponseFormat.deltaIterable,
135
+ responseFormat: LlamaCppCompletionResponseFormat.deltaIterable,
136
136
  });
137
137
  }
138
138
  extractTextDelta(delta) {
@@ -175,7 +175,7 @@ export class LlamaCppTextGenerationModel extends AbstractModel {
175
175
  });
176
176
  }
177
177
  withSettings(additionalSettings) {
178
- return new LlamaCppTextGenerationModel(Object.assign({}, this.settings, additionalSettings));
178
+ return new LlamaCppCompletionModel(Object.assign({}, this.settings, additionalSettings));
179
179
  }
180
180
  }
181
181
  const llamaCppTextGenerationResponseSchema = z.object({
@@ -200,7 +200,7 @@ const llamaCppTextGenerationResponseSchema = z.object({
200
200
  seed: z.number(),
201
201
  stop: z.array(z.string()),
202
202
  stream: z.boolean(),
203
- temp: z.number(),
203
+ temperature: z.number().optional(), // optional for backwards compatibility
204
204
  tfs_z: z.number(),
205
205
  top_k: z.number(),
206
206
  top_p: z.number(),
@@ -263,7 +263,7 @@ async function createLlamaCppFullDeltaIterableQueue(stream) {
263
263
  });
264
264
  return queue;
265
265
  }
266
- export const LlamaCppTextGenerationResponseFormat = {
266
+ export const LlamaCppCompletionResponseFormat = {
267
267
  /**
268
268
  * Returns the response as a JSON object.
269
269
  */
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const streamText_js_1 = require("../../model-function/generate-text/streamText.cjs");
4
4
  const StreamingTestServer_js_1 = require("../../test/StreamingTestServer.cjs");
5
5
  const arrayFromAsync_js_1 = require("../../test/arrayFromAsync.cjs");
6
- const LlamaCppTextGenerationModel_js_1 = require("./LlamaCppTextGenerationModel.cjs");
6
+ const LlamaCppCompletionModel_js_1 = require("./LlamaCppCompletionModel.cjs");
7
7
  describe("streamText", () => {
8
8
  const server = new StreamingTestServer_js_1.StreamingTestServer("http://127.0.0.1:8080/completion");
9
9
  server.setupTestEnvironment();
@@ -17,7 +17,7 @@ describe("streamText", () => {
17
17
  `"mirostat_eta":0.10000000149011612,"mirostat_tau":5.0,"model":"models/llama-2-7b-chat.Q4_K_M.gguf",` +
18
18
  `"n_ctx":4096,"n_keep":0,"n_predict":-1,"n_probs":0,"penalize_nl":true,"penalty_prompt_tokens":[],` +
19
19
  `"presence_penalty":0.0,"repeat_last_n":64,"repeat_penalty":1.100000023841858,"seed":4294967295,` +
20
- `"stop":[],"stream":true,"temp":0.800000011920929,"tfs_z":1.0,"top_k":40,"top_p":0.949999988079071,` +
20
+ `"stop":[],"stream":true,"temperature":0.800000011920929,"tfs_z":1.0,"top_k":40,"top_p":0.949999988079071,` +
21
21
  `"typical_p":1.0,"use_penalty_prompt_tokens":false},"model":"models/llama-2-7b-chat.Q4_K_M.gguf",` +
22
22
  `"prompt":"hello","slot_id":0,"stop":true,"stopped_eos":true,"stopped_limit":false,` +
23
23
  `"stopped_word":false,"stopping_word":"","timings":{"predicted_ms":1054.704,"predicted_n":69,` +
@@ -26,7 +26,7 @@ describe("streamText", () => {
26
26
  `"prompt_per_token_ms":48.845600000000005},"tokens_cached":74,"tokens_evaluated":5,` +
27
27
  `"tokens_predicted":69,"truncated":false}\n\n`,
28
28
  ];
29
- const stream = await (0, streamText_js_1.streamText)(new LlamaCppTextGenerationModel_js_1.LlamaCppTextGenerationModel().withTextPrompt(), "hello");
29
+ const stream = await (0, streamText_js_1.streamText)(new LlamaCppCompletionModel_js_1.LlamaCppCompletionModel().withTextPrompt(), "hello");
30
30
  // note: space moved to last chunk bc of trimming
31
31
  expect(await (0, arrayFromAsync_js_1.arrayFromAsync)(stream)).toStrictEqual([
32
32
  "Hello",
@@ -1,7 +1,7 @@
1
1
  import { streamText } from "../../model-function/generate-text/streamText.js";
2
2
  import { StreamingTestServer } from "../../test/StreamingTestServer.js";
3
3
  import { arrayFromAsync } from "../../test/arrayFromAsync.js";
4
- import { LlamaCppTextGenerationModel } from "./LlamaCppTextGenerationModel.js";
4
+ import { LlamaCppCompletionModel } from "./LlamaCppCompletionModel.js";
5
5
  describe("streamText", () => {
6
6
  const server = new StreamingTestServer("http://127.0.0.1:8080/completion");
7
7
  server.setupTestEnvironment();
@@ -15,7 +15,7 @@ describe("streamText", () => {
15
15
  `"mirostat_eta":0.10000000149011612,"mirostat_tau":5.0,"model":"models/llama-2-7b-chat.Q4_K_M.gguf",` +
16
16
  `"n_ctx":4096,"n_keep":0,"n_predict":-1,"n_probs":0,"penalize_nl":true,"penalty_prompt_tokens":[],` +
17
17
  `"presence_penalty":0.0,"repeat_last_n":64,"repeat_penalty":1.100000023841858,"seed":4294967295,` +
18
- `"stop":[],"stream":true,"temp":0.800000011920929,"tfs_z":1.0,"top_k":40,"top_p":0.949999988079071,` +
18
+ `"stop":[],"stream":true,"temperature":0.800000011920929,"tfs_z":1.0,"top_k":40,"top_p":0.949999988079071,` +
19
19
  `"typical_p":1.0,"use_penalty_prompt_tokens":false},"model":"models/llama-2-7b-chat.Q4_K_M.gguf",` +
20
20
  `"prompt":"hello","slot_id":0,"stop":true,"stopped_eos":true,"stopped_limit":false,` +
21
21
  `"stopped_word":false,"stopping_word":"","timings":{"predicted_ms":1054.704,"predicted_n":69,` +
@@ -24,7 +24,7 @@ describe("streamText", () => {
24
24
  `"prompt_per_token_ms":48.845600000000005},"tokens_cached":74,"tokens_evaluated":5,` +
25
25
  `"tokens_predicted":69,"truncated":false}\n\n`,
26
26
  ];
27
- const stream = await streamText(new LlamaCppTextGenerationModel().withTextPrompt(), "hello");
27
+ const stream = await streamText(new LlamaCppCompletionModel().withTextPrompt(), "hello");
28
28
  // note: space moved to last chunk bc of trimming
29
29
  expect(await arrayFromAsync(stream)).toStrictEqual([
30
30
  "Hello",
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Tokenizer = exports.TextEmbedder = exports.TextGenerator = void 0;
4
4
  const LlamaCppApiConfiguration_js_1 = require("./LlamaCppApiConfiguration.cjs");
5
5
  const LlamaCppTextEmbeddingModel_js_1 = require("./LlamaCppTextEmbeddingModel.cjs");
6
- const LlamaCppTextGenerationModel_js_1 = require("./LlamaCppTextGenerationModel.cjs");
6
+ const LlamaCppCompletionModel_js_1 = require("./LlamaCppCompletionModel.cjs");
7
7
  const LlamaCppTokenizer_js_1 = require("./LlamaCppTokenizer.cjs");
8
8
  function TextGenerator(settings = {}) {
9
- return new LlamaCppTextGenerationModel_js_1.LlamaCppTextGenerationModel(settings);
9
+ return new LlamaCppCompletionModel_js_1.LlamaCppCompletionModel(settings);
10
10
  }
11
11
  exports.TextGenerator = TextGenerator;
12
12
  function TextEmbedder(settings = {}) {
@@ -1,7 +1,7 @@
1
1
  import { ApiConfiguration } from "../../core/api/ApiConfiguration.js";
2
2
  import { LlamaCppTextEmbeddingModel, LlamaCppTextEmbeddingModelSettings } from "./LlamaCppTextEmbeddingModel.js";
3
- import { LlamaCppTextGenerationModel, LlamaCppTextGenerationModelSettings } from "./LlamaCppTextGenerationModel.js";
3
+ import { LlamaCppCompletionModel, LlamaCppCompletionModelSettings } from "./LlamaCppCompletionModel.js";
4
4
  import { LlamaCppTokenizer } from "./LlamaCppTokenizer.js";
5
- export declare function TextGenerator<CONTEXT_WINDOW_SIZE extends number>(settings?: LlamaCppTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>): LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE>;
5
+ export declare function TextGenerator<CONTEXT_WINDOW_SIZE extends number>(settings?: LlamaCppCompletionModelSettings<CONTEXT_WINDOW_SIZE>): LlamaCppCompletionModel<CONTEXT_WINDOW_SIZE>;
6
6
  export declare function TextEmbedder(settings?: LlamaCppTextEmbeddingModelSettings): LlamaCppTextEmbeddingModel;
7
7
  export declare function Tokenizer(api?: ApiConfiguration): LlamaCppTokenizer;
@@ -1,9 +1,9 @@
1
1
  import { LlamaCppApiConfiguration } from "./LlamaCppApiConfiguration.js";
2
2
  import { LlamaCppTextEmbeddingModel, } from "./LlamaCppTextEmbeddingModel.js";
3
- import { LlamaCppTextGenerationModel, } from "./LlamaCppTextGenerationModel.js";
3
+ import { LlamaCppCompletionModel, } from "./LlamaCppCompletionModel.js";
4
4
  import { LlamaCppTokenizer } from "./LlamaCppTokenizer.js";
5
5
  export function TextGenerator(settings = {}) {
6
- return new LlamaCppTextGenerationModel(settings);
6
+ return new LlamaCppCompletionModel(settings);
7
7
  }
8
8
  export function TextEmbedder(settings = {}) {
9
9
  return new LlamaCppTextEmbeddingModel(settings);