modelfusion 0.46.0 → 0.47.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 (133) hide show
  1. package/README.md +23 -2
  2. package/index.cjs +0 -1
  3. package/index.d.ts +0 -1
  4. package/index.js +0 -1
  5. package/model-function/ModelFunctionPromise.cjs +37 -0
  6. package/model-function/ModelFunctionPromise.d.ts +18 -0
  7. package/model-function/ModelFunctionPromise.js +33 -0
  8. package/{prompt → model-function}/PromptFormat.d.ts +0 -5
  9. package/model-function/describe-image/describeImage.cjs +3 -2
  10. package/model-function/describe-image/describeImage.d.ts +1 -1
  11. package/model-function/describe-image/describeImage.js +3 -2
  12. package/model-function/embed/embed.cjs +5 -4
  13. package/model-function/embed/embed.d.ts +1 -1
  14. package/model-function/embed/embed.js +5 -4
  15. package/model-function/executeCall.cjs +3 -46
  16. package/model-function/executeCall.d.ts +5 -18
  17. package/model-function/executeCall.js +1 -43
  18. package/model-function/generate-image/ImageGenerationModel.d.ts +2 -0
  19. package/model-function/generate-image/ImageGenerationPromise.cjs +50 -0
  20. package/model-function/generate-image/ImageGenerationPromise.d.ts +22 -0
  21. package/model-function/generate-image/ImageGenerationPromise.js +46 -0
  22. package/model-function/generate-image/PromptFormatImageGenerationModel.cjs +44 -0
  23. package/model-function/generate-image/PromptFormatImageGenerationModel.d.ts +20 -0
  24. package/model-function/generate-image/PromptFormatImageGenerationModel.js +40 -0
  25. package/model-function/generate-image/generateImage.cjs +3 -2
  26. package/model-function/generate-image/generateImage.d.ts +2 -2
  27. package/model-function/generate-image/generateImage.js +3 -2
  28. package/model-function/generate-structure/generateStructure.cjs +3 -2
  29. package/model-function/generate-structure/generateStructure.d.ts +1 -1
  30. package/model-function/generate-structure/generateStructure.js +3 -2
  31. package/model-function/generate-structure/generateStructureOrText.cjs +3 -2
  32. package/model-function/generate-structure/generateStructureOrText.d.ts +1 -1
  33. package/model-function/generate-structure/generateStructureOrText.js +3 -2
  34. package/{prompt → model-function/generate-text}/AlpacaPromptFormat.d.ts +2 -2
  35. package/{prompt → model-function/generate-text}/Llama2PromptFormat.cjs +1 -1
  36. package/model-function/generate-text/Llama2PromptFormat.d.ts +13 -0
  37. package/{prompt → model-function/generate-text}/Llama2PromptFormat.js +1 -1
  38. package/{prompt → model-function/generate-text}/PromptFormatTextGenerationModel.d.ts +7 -7
  39. package/{prompt → model-function/generate-text}/PromptFormatTextStreamingModel.d.ts +6 -6
  40. package/model-function/generate-text/TextGenerationModel.d.ts +3 -3
  41. package/model-function/generate-text/TextGenerationPromptFormat.cjs +2 -0
  42. package/model-function/generate-text/TextGenerationPromptFormat.d.ts +11 -0
  43. package/model-function/generate-text/TextGenerationPromptFormat.js +1 -0
  44. package/{prompt → model-function/generate-text}/TextPromptFormat.cjs +1 -1
  45. package/{prompt → model-function/generate-text}/TextPromptFormat.d.ts +4 -4
  46. package/{prompt → model-function/generate-text}/TextPromptFormat.js +1 -1
  47. package/{prompt → model-function/generate-text}/VicunaPromptFormat.cjs +1 -1
  48. package/{prompt → model-function/generate-text}/VicunaPromptFormat.d.ts +3 -3
  49. package/{prompt → model-function/generate-text}/VicunaPromptFormat.js +1 -1
  50. package/model-function/generate-text/generateText.cjs +6 -3
  51. package/model-function/generate-text/generateText.d.ts +1 -1
  52. package/model-function/generate-text/generateText.js +6 -3
  53. package/{prompt → model-function/generate-text}/index.cjs +9 -4
  54. package/model-function/generate-text/index.d.ts +16 -0
  55. package/model-function/generate-text/index.js +16 -0
  56. package/{prompt/chat → model-function/generate-text}/trimChatPrompt.d.ts +1 -1
  57. package/model-function/index.cjs +3 -5
  58. package/model-function/index.d.ts +3 -5
  59. package/model-function/index.js +3 -5
  60. package/model-function/synthesize-speech/synthesizeSpeech.cjs +3 -2
  61. package/model-function/synthesize-speech/synthesizeSpeech.d.ts +1 -1
  62. package/model-function/synthesize-speech/synthesizeSpeech.js +3 -2
  63. package/model-function/transcribe-speech/transcribe.cjs +3 -2
  64. package/model-function/transcribe-speech/transcribe.d.ts +1 -1
  65. package/model-function/transcribe-speech/transcribe.js +3 -2
  66. package/model-provider/anthropic/AnthropicPromptFormat.cjs +1 -1
  67. package/model-provider/anthropic/AnthropicPromptFormat.d.ts +5 -5
  68. package/model-provider/anthropic/AnthropicPromptFormat.js +1 -1
  69. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +1 -1
  70. package/model-provider/anthropic/AnthropicTextGenerationModel.d.ts +3 -3
  71. package/model-provider/anthropic/AnthropicTextGenerationModel.js +1 -1
  72. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +11 -0
  73. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +12 -12
  74. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +11 -0
  75. package/model-provider/automatic1111/Automatic1111ImageGenerationPrompt.cjs +12 -0
  76. package/model-provider/automatic1111/Automatic1111ImageGenerationPrompt.d.ts +10 -0
  77. package/model-provider/automatic1111/Automatic1111ImageGenerationPrompt.js +8 -0
  78. package/model-provider/automatic1111/index.cjs +1 -0
  79. package/model-provider/automatic1111/index.d.ts +1 -0
  80. package/model-provider/automatic1111/index.js +1 -0
  81. package/model-provider/cohere/CohereTextGenerationModel.cjs +2 -2
  82. package/model-provider/cohere/CohereTextGenerationModel.d.ts +3 -3
  83. package/model-provider/cohere/CohereTextGenerationModel.js +2 -2
  84. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +2 -2
  85. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +5 -5
  86. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +2 -2
  87. package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +1 -1
  88. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +3 -3
  89. package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +1 -1
  90. package/model-provider/openai/OpenAIImageGenerationModel.cjs +8 -1
  91. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +6 -3
  92. package/model-provider/openai/OpenAIImageGenerationModel.js +8 -1
  93. package/model-provider/openai/OpenAITextGenerationModel.cjs +2 -2
  94. package/model-provider/openai/OpenAITextGenerationModel.d.ts +3 -3
  95. package/model-provider/openai/OpenAITextGenerationModel.js +2 -2
  96. package/model-provider/openai/chat/OpenAIChatModel.cjs +1 -1
  97. package/model-provider/openai/chat/OpenAIChatModel.d.ts +3 -3
  98. package/model-provider/openai/chat/OpenAIChatModel.js +1 -1
  99. package/model-provider/openai/chat/OpenAIChatPromptFormat.cjs +1 -1
  100. package/model-provider/openai/chat/OpenAIChatPromptFormat.d.ts +5 -5
  101. package/model-provider/openai/chat/OpenAIChatPromptFormat.js +1 -1
  102. package/model-provider/stability/StabilityImageGenerationModel.cjs +11 -0
  103. package/model-provider/stability/StabilityImageGenerationModel.d.ts +15 -14
  104. package/model-provider/stability/StabilityImageGenerationModel.js +11 -0
  105. package/model-provider/stability/StabilityImageGenerationPrompt.cjs +12 -0
  106. package/model-provider/stability/StabilityImageGenerationPrompt.d.ts +9 -0
  107. package/model-provider/stability/StabilityImageGenerationPrompt.js +8 -0
  108. package/model-provider/stability/index.cjs +1 -0
  109. package/model-provider/stability/index.d.ts +1 -0
  110. package/model-provider/stability/index.js +1 -0
  111. package/package.json +1 -1
  112. package/prompt/Llama2PromptFormat.d.ts +0 -13
  113. package/prompt/index.d.ts +0 -11
  114. package/prompt/index.js +0 -11
  115. /package/{prompt → model-function}/PromptFormat.cjs +0 -0
  116. /package/{prompt → model-function}/PromptFormat.js +0 -0
  117. /package/{prompt → model-function/generate-text}/AlpacaPromptFormat.cjs +0 -0
  118. /package/{prompt → model-function/generate-text}/AlpacaPromptFormat.js +0 -0
  119. /package/{prompt/chat → model-function/generate-text}/ChatPrompt.cjs +0 -0
  120. /package/{prompt/chat → model-function/generate-text}/ChatPrompt.d.ts +0 -0
  121. /package/{prompt/chat → model-function/generate-text}/ChatPrompt.js +0 -0
  122. /package/{prompt → model-function/generate-text}/InstructionPrompt.cjs +0 -0
  123. /package/{prompt → model-function/generate-text}/InstructionPrompt.d.ts +0 -0
  124. /package/{prompt → model-function/generate-text}/InstructionPrompt.js +0 -0
  125. /package/{prompt → model-function/generate-text}/PromptFormatTextGenerationModel.cjs +0 -0
  126. /package/{prompt → model-function/generate-text}/PromptFormatTextGenerationModel.js +0 -0
  127. /package/{prompt → model-function/generate-text}/PromptFormatTextStreamingModel.cjs +0 -0
  128. /package/{prompt → model-function/generate-text}/PromptFormatTextStreamingModel.js +0 -0
  129. /package/{prompt/chat → model-function/generate-text}/trimChatPrompt.cjs +0 -0
  130. /package/{prompt/chat → model-function/generate-text}/trimChatPrompt.js +0 -0
  131. /package/{prompt/chat → model-function/generate-text}/validateChatPrompt.cjs +0 -0
  132. /package/{prompt/chat → model-function/generate-text}/validateChatPrompt.d.ts +0 -0
  133. /package/{prompt/chat → model-function/generate-text}/validateChatPrompt.js +0 -0
@@ -0,0 +1,20 @@
1
+ import { FunctionOptions } from "../../core/FunctionOptions.js";
2
+ import { PromptFormat } from "../PromptFormat.js";
3
+ import { ImageGenerationModel, ImageGenerationModelSettings } from "./ImageGenerationModel.js";
4
+ export declare class PromptFormatImageGenerationModel<PROMPT, MODEL_PROMPT, SETTINGS extends ImageGenerationModelSettings, MODEL extends ImageGenerationModel<MODEL_PROMPT, SETTINGS>> implements ImageGenerationModel<PROMPT, SETTINGS> {
5
+ readonly model: MODEL;
6
+ readonly promptFormat: PromptFormat<PROMPT, MODEL_PROMPT>;
7
+ constructor({ model, promptFormat, }: {
8
+ model: MODEL;
9
+ promptFormat: PromptFormat<PROMPT, MODEL_PROMPT>;
10
+ });
11
+ get modelInformation(): import("../ModelInformation.js").ModelInformation;
12
+ get settings(): SETTINGS;
13
+ doGenerateImage(prompt: PROMPT, options?: FunctionOptions): PromiseLike<{
14
+ response: unknown;
15
+ base64Image: string;
16
+ }>;
17
+ get settingsForEvent(): Partial<SETTINGS>;
18
+ withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, PROMPT>): PromptFormatImageGenerationModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
19
+ withSettings(additionalSettings: Partial<SETTINGS>): this;
20
+ }
@@ -0,0 +1,40 @@
1
+ export class PromptFormatImageGenerationModel {
2
+ constructor({ model, promptFormat, }) {
3
+ Object.defineProperty(this, "model", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: void 0
8
+ });
9
+ Object.defineProperty(this, "promptFormat", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ this.model = model;
16
+ this.promptFormat = promptFormat;
17
+ }
18
+ get modelInformation() {
19
+ return this.model.modelInformation;
20
+ }
21
+ get settings() {
22
+ return this.model.settings;
23
+ }
24
+ doGenerateImage(prompt, options) {
25
+ const mappedPrompt = this.promptFormat.format(prompt);
26
+ return this.model.doGenerateImage(mappedPrompt, options);
27
+ }
28
+ get settingsForEvent() {
29
+ return this.model.settingsForEvent;
30
+ }
31
+ withPromptFormat(promptFormat) {
32
+ return new PromptFormatImageGenerationModel({ model: this, promptFormat });
33
+ }
34
+ withSettings(additionalSettings) {
35
+ return new PromptFormatImageGenerationModel({
36
+ model: this.model.withSettings(additionalSettings),
37
+ promptFormat: this.promptFormat,
38
+ });
39
+ }
40
+ }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImage = void 0;
4
4
  const executeCall_js_1 = require("../executeCall.cjs");
5
+ const ImageGenerationPromise_js_1 = require("./ImageGenerationPromise.cjs");
5
6
  /**
6
7
  * Generates a base64-encoded image using a prompt.
7
8
  * The prompt format depends on the model.
@@ -18,7 +19,7 @@ const executeCall_js_1 = require("../executeCall.cjs");
18
19
  * );
19
20
  */
20
21
  function generateImage(model, prompt, options) {
21
- return (0, executeCall_js_1.executeCall)({
22
+ return new ImageGenerationPromise_js_1.ImageGenerationPromise((0, executeCall_js_1.executeCall)({
22
23
  functionType: "image-generation",
23
24
  input: prompt,
24
25
  model,
@@ -30,6 +31,6 @@ function generateImage(model, prompt, options) {
30
31
  extractedValue: result.base64Image,
31
32
  };
32
33
  },
33
- });
34
+ }));
34
35
  }
35
36
  exports.generateImage = generateImage;
@@ -1,6 +1,6 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
- import { ModelFunctionPromise } from "../executeCall.js";
3
2
  import { ImageGenerationModel, ImageGenerationModelSettings } from "./ImageGenerationModel.js";
3
+ import { ImageGenerationPromise } from "./ImageGenerationPromise.js";
4
4
  /**
5
5
  * Generates a base64-encoded image using a prompt.
6
6
  * The prompt format depends on the model.
@@ -16,4 +16,4 @@ import { ImageGenerationModel, ImageGenerationModelSettings } from "./ImageGener
16
16
  * ]
17
17
  * );
18
18
  */
19
- export declare function generateImage<PROMPT>(model: ImageGenerationModel<PROMPT, ImageGenerationModelSettings>, prompt: PROMPT, options?: FunctionOptions): ModelFunctionPromise<string>;
19
+ export declare function generateImage<PROMPT>(model: ImageGenerationModel<PROMPT, ImageGenerationModelSettings>, prompt: PROMPT, options?: FunctionOptions): ImageGenerationPromise;
@@ -1,4 +1,5 @@
1
1
  import { executeCall } from "../executeCall.js";
2
+ import { ImageGenerationPromise } from "./ImageGenerationPromise.js";
2
3
  /**
3
4
  * Generates a base64-encoded image using a prompt.
4
5
  * The prompt format depends on the model.
@@ -15,7 +16,7 @@ import { executeCall } from "../executeCall.js";
15
16
  * );
16
17
  */
17
18
  export function generateImage(model, prompt, options) {
18
- return executeCall({
19
+ return new ImageGenerationPromise(executeCall({
19
20
  functionType: "image-generation",
20
21
  input: prompt,
21
22
  model,
@@ -27,5 +28,5 @@ export function generateImage(model, prompt, options) {
27
28
  extractedValue: result.base64Image,
28
29
  };
29
30
  },
30
- });
31
+ }));
31
32
  }
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateStructure = void 0;
4
4
  const executeCall_js_1 = require("../executeCall.cjs");
5
+ const ModelFunctionPromise_js_1 = require("../ModelFunctionPromise.cjs");
5
6
  const StructureValidationError_js_1 = require("./StructureValidationError.cjs");
6
7
  function generateStructure(model, structureDefinition, prompt, options) {
7
8
  // Note: PROMPT must not be a function.
8
9
  const expandedPrompt = typeof prompt === "function"
9
10
  ? prompt(structureDefinition)
10
11
  : prompt;
11
- return (0, executeCall_js_1.executeCall)({
12
+ return new ModelFunctionPromise_js_1.ModelFunctionPromise((0, executeCall_js_1.executeCall)({
12
13
  functionType: "structure-generation",
13
14
  input: expandedPrompt,
14
15
  model,
@@ -32,6 +33,6 @@ function generateStructure(model, structureDefinition, prompt, options) {
32
33
  usage: result.usage,
33
34
  };
34
35
  },
35
- });
36
+ }));
36
37
  }
37
38
  exports.generateStructure = generateStructure;
@@ -1,5 +1,5 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { StructureDefinition } from "../../core/structure/StructureDefinition.js";
3
- import { ModelFunctionPromise } from "../executeCall.js";
3
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
4
4
  import { StructureGenerationModel, StructureGenerationModelSettings } from "./StructureGenerationModel.js";
5
5
  export declare function generateStructure<STRUCTURE, PROMPT, NAME extends string, SETTINGS extends StructureGenerationModelSettings>(model: StructureGenerationModel<PROMPT, SETTINGS>, structureDefinition: StructureDefinition<NAME, STRUCTURE>, prompt: PROMPT | ((structureDefinition: StructureDefinition<NAME, STRUCTURE>) => PROMPT), options?: FunctionOptions): ModelFunctionPromise<STRUCTURE>;
@@ -1,11 +1,12 @@
1
1
  import { executeCall } from "../executeCall.js";
2
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
2
3
  import { StructureValidationError } from "./StructureValidationError.js";
3
4
  export function generateStructure(model, structureDefinition, prompt, options) {
4
5
  // Note: PROMPT must not be a function.
5
6
  const expandedPrompt = typeof prompt === "function"
6
7
  ? prompt(structureDefinition)
7
8
  : prompt;
8
- return executeCall({
9
+ return new ModelFunctionPromise(executeCall({
9
10
  functionType: "structure-generation",
10
11
  input: expandedPrompt,
11
12
  model,
@@ -29,5 +30,5 @@ export function generateStructure(model, structureDefinition, prompt, options) {
29
30
  usage: result.usage,
30
31
  };
31
32
  },
32
- });
33
+ }));
33
34
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateStructureOrText = void 0;
4
4
  const executeCall_js_1 = require("../executeCall.cjs");
5
+ const ModelFunctionPromise_js_1 = require("../ModelFunctionPromise.cjs");
5
6
  const NoSuchStructureError_js_1 = require("./NoSuchStructureError.cjs");
6
7
  const StructureValidationError_js_1 = require("./StructureValidationError.cjs");
7
8
  function generateStructureOrText(model, structureDefinitions, prompt, options) {
@@ -9,7 +10,7 @@ function generateStructureOrText(model, structureDefinitions, prompt, options) {
9
10
  const expandedPrompt = typeof prompt === "function"
10
11
  ? prompt(structureDefinitions)
11
12
  : prompt;
12
- return (0, executeCall_js_1.executeCall)({
13
+ return new ModelFunctionPromise_js_1.ModelFunctionPromise((0, executeCall_js_1.executeCall)({
13
14
  functionType: "structure-or-text-generation",
14
15
  input: expandedPrompt,
15
16
  model,
@@ -48,6 +49,6 @@ function generateStructureOrText(model, structureDefinitions, prompt, options) {
48
49
  usage: result.usage,
49
50
  };
50
51
  },
51
- });
52
+ }));
52
53
  }
53
54
  exports.generateStructureOrText = generateStructureOrText;
@@ -1,6 +1,6 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { StructureDefinition } from "../../core/structure/StructureDefinition.js";
3
- import { ModelFunctionPromise } from "../executeCall.js";
3
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
4
4
  import { StructureOrTextGenerationModel, StructureOrTextGenerationModelSettings } from "./StructureOrTextGenerationModel.js";
5
5
  type StructureDefinitionArray<T extends StructureDefinition<any, any>[]> = T;
6
6
  type ToStructureDefinitionMap<T extends StructureDefinitionArray<StructureDefinition<any, any>[]>> = {
@@ -1,4 +1,5 @@
1
1
  import { executeCall } from "../executeCall.js";
2
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
2
3
  import { NoSuchStructureError } from "./NoSuchStructureError.js";
3
4
  import { StructureValidationError } from "./StructureValidationError.js";
4
5
  export function generateStructureOrText(model, structureDefinitions, prompt, options) {
@@ -6,7 +7,7 @@ export function generateStructureOrText(model, structureDefinitions, prompt, opt
6
7
  const expandedPrompt = typeof prompt === "function"
7
8
  ? prompt(structureDefinitions)
8
9
  : prompt;
9
- return executeCall({
10
+ return new ModelFunctionPromise(executeCall({
10
11
  functionType: "structure-or-text-generation",
11
12
  input: expandedPrompt,
12
13
  model,
@@ -45,5 +46,5 @@ export function generateStructureOrText(model, structureDefinitions, prompt, opt
45
46
  usage: result.usage,
46
47
  };
47
48
  },
48
- });
49
+ }));
49
50
  }
@@ -1,5 +1,5 @@
1
1
  import { InstructionPrompt } from "./InstructionPrompt.js";
2
- import { PromptFormat } from "./PromptFormat.js";
2
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
3
3
  /**
4
4
  * Formats an instruction prompt as an Alpaca prompt.
5
5
  *
@@ -8,4 +8,4 @@ import { PromptFormat } from "./PromptFormat.js";
8
8
  *
9
9
  * @see https://github.com/tatsu-lab/stanford_alpaca#data-release
10
10
  */
11
- export declare function mapInstructionPromptToAlpacaFormat(): PromptFormat<InstructionPrompt, string>;
11
+ export declare function mapInstructionPromptToAlpacaFormat(): TextGenerationPromptFormat<InstructionPrompt, string>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapChatPromptToLlama2Format = exports.mapInstructionPromptToLlama2Format = void 0;
4
- const validateChatPrompt_js_1 = require("./chat/validateChatPrompt.cjs");
4
+ const validateChatPrompt_js_1 = require("./validateChatPrompt.cjs");
5
5
  // see https://github.com/facebookresearch/llama/blob/6c7fe276574e78057f917549435a2554000a876d/llama/generation.py#L44
6
6
  const BEGIN_SEGMENT = "<s>";
7
7
  const END_SEGMENT = "</s>\n";
@@ -0,0 +1,13 @@
1
+ import { ChatPrompt } from "./ChatPrompt.js";
2
+ import { InstructionPrompt } from "./InstructionPrompt.js";
3
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
4
+ /**
5
+ * Formats an instruction prompt as a Llama 2 prompt.
6
+ *
7
+ * @see https://www.philschmid.de/llama-2#how-to-prompt-llama-2-chat
8
+ */
9
+ export declare function mapInstructionPromptToLlama2Format(): TextGenerationPromptFormat<InstructionPrompt, string>;
10
+ /**
11
+ * Formats a chat prompt as a Llama 2 prompt.
12
+ */
13
+ export declare function mapChatPromptToLlama2Format(): TextGenerationPromptFormat<ChatPrompt, string>;
@@ -1,4 +1,4 @@
1
- import { validateChatPrompt } from "./chat/validateChatPrompt.js";
1
+ import { validateChatPrompt } from "./validateChatPrompt.js";
2
2
  // see https://github.com/facebookresearch/llama/blob/6c7fe276574e78057f917549435a2554000a876d/llama/generation.py#L44
3
3
  const BEGIN_SEGMENT = "<s>";
4
4
  const END_SEGMENT = "</s>\n";
@@ -1,14 +1,14 @@
1
- import { FunctionOptions } from "../core/FunctionOptions.js";
2
- import { TextGenerationModel, TextGenerationModelSettings } from "../model-function/generate-text/TextGenerationModel.js";
3
- import { PromptFormat } from "./PromptFormat.js";
1
+ import { FunctionOptions } from "../../core/FunctionOptions.js";
2
+ import { TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
3
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
4
4
  export declare class PromptFormatTextGenerationModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextGenerationModel<MODEL_PROMPT, SETTINGS>> implements TextGenerationModel<PROMPT, SETTINGS> {
5
5
  readonly model: MODEL;
6
- readonly promptFormat: PromptFormat<PROMPT, MODEL_PROMPT>;
6
+ readonly promptFormat: TextGenerationPromptFormat<PROMPT, MODEL_PROMPT>;
7
7
  constructor({ model, promptFormat, }: {
8
8
  model: MODEL;
9
- promptFormat: PromptFormat<PROMPT, MODEL_PROMPT>;
9
+ promptFormat: TextGenerationPromptFormat<PROMPT, MODEL_PROMPT>;
10
10
  });
11
- get modelInformation(): import("../index.js").ModelInformation;
11
+ get modelInformation(): import("../ModelInformation.js").ModelInformation;
12
12
  get settings(): SETTINGS;
13
13
  get tokenizer(): MODEL["tokenizer"];
14
14
  get contextWindowSize(): MODEL["contextWindowSize"];
@@ -23,6 +23,6 @@ export declare class PromptFormatTextGenerationModel<PROMPT, MODEL_PROMPT, SETTI
23
23
  } | undefined;
24
24
  }>;
25
25
  get settingsForEvent(): Partial<SETTINGS>;
26
- withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, PROMPT>): PromptFormatTextGenerationModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
26
+ withPromptFormat<INPUT_PROMPT>(promptFormat: TextGenerationPromptFormat<INPUT_PROMPT, PROMPT>): PromptFormatTextGenerationModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
27
27
  withSettings(additionalSettings: Partial<SETTINGS>): this;
28
28
  }
@@ -1,13 +1,13 @@
1
- import { FunctionOptions } from "../core/FunctionOptions.js";
2
- import { TextGenerationModelSettings, TextStreamingModel } from "../model-function/generate-text/TextGenerationModel.js";
3
- import { PromptFormat } from "./PromptFormat.js";
1
+ import { FunctionOptions } from "../../core/FunctionOptions.js";
4
2
  import { PromptFormatTextGenerationModel } from "./PromptFormatTextGenerationModel.js";
3
+ import { TextGenerationModelSettings, TextStreamingModel } from "./TextGenerationModel.js";
4
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
5
5
  export declare class PromptFormatTextStreamingModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextStreamingModel<MODEL_PROMPT, SETTINGS>> extends PromptFormatTextGenerationModel<PROMPT, MODEL_PROMPT, SETTINGS, MODEL> implements TextStreamingModel<PROMPT, SETTINGS> {
6
6
  constructor(options: {
7
7
  model: MODEL;
8
- promptFormat: PromptFormat<PROMPT, MODEL_PROMPT>;
8
+ promptFormat: TextGenerationPromptFormat<PROMPT, MODEL_PROMPT>;
9
9
  });
10
- doStreamText(prompt: PROMPT, options?: FunctionOptions): PromiseLike<AsyncIterable<import("../index.js").Delta<string>>>;
11
- withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, PROMPT>): PromptFormatTextStreamingModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
10
+ doStreamText(prompt: PROMPT, options?: FunctionOptions): PromiseLike<AsyncIterable<import("../Delta.js").Delta<string>>>;
11
+ withPromptFormat<INPUT_PROMPT>(promptFormat: TextGenerationPromptFormat<INPUT_PROMPT, PROMPT>): PromptFormatTextStreamingModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
12
12
  withSettings(additionalSettings: Partial<SETTINGS>): this;
13
13
  }
@@ -1,8 +1,8 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
- import { PromptFormat } from "../../prompt/PromptFormat.js";
3
2
  import { Delta } from "../Delta.js";
4
3
  import { Model, ModelSettings } from "../Model.js";
5
4
  import { BasicTokenizer, FullTokenizer } from "../tokenize-text/Tokenizer.js";
5
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
6
6
  export interface TextGenerationModelSettings extends ModelSettings {
7
7
  /**
8
8
  * Maximum number of tokens to generate.
@@ -43,9 +43,9 @@ export interface TextGenerationModel<PROMPT, SETTINGS extends TextGenerationMode
43
43
  totalTokens: number;
44
44
  };
45
45
  }>;
46
- withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, PROMPT>): TextGenerationModel<INPUT_PROMPT, SETTINGS>;
46
+ withPromptFormat<INPUT_PROMPT>(promptFormat: TextGenerationPromptFormat<INPUT_PROMPT, PROMPT>): TextGenerationModel<INPUT_PROMPT, SETTINGS>;
47
47
  }
48
48
  export interface TextStreamingModel<PROMPT, SETTINGS extends TextGenerationModelSettings = TextGenerationModelSettings> extends TextGenerationModel<PROMPT, SETTINGS> {
49
49
  doStreamText(prompt: PROMPT, options?: FunctionOptions): PromiseLike<AsyncIterable<Delta<string>>>;
50
- withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, PROMPT>): TextStreamingModel<INPUT_PROMPT, SETTINGS>;
50
+ withPromptFormat<INPUT_PROMPT>(promptFormat: TextGenerationPromptFormat<INPUT_PROMPT, PROMPT>): TextStreamingModel<INPUT_PROMPT, SETTINGS>;
51
51
  }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { PromptFormat } from "../PromptFormat.js";
2
+ /**
3
+ * Prompt formats format a source prompt into the structure of a target prompt.
4
+ */
5
+ export interface TextGenerationPromptFormat<SOURCE_PROMPT, TARGET_PROMPT> extends PromptFormat<SOURCE_PROMPT, TARGET_PROMPT> {
6
+ /**
7
+ * The texts that should be used as default stop sequences.
8
+ * This is e.g. important for chat formats.
9
+ */
10
+ stopSequences: string[];
11
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapChatPromptToTextFormat = exports.mapInstructionPromptToTextFormat = void 0;
4
- const validateChatPrompt_js_1 = require("./chat/validateChatPrompt.cjs");
4
+ const validateChatPrompt_js_1 = require("./validateChatPrompt.cjs");
5
5
  /**
6
6
  * Formats an instruction prompt as a basic text prompt.
7
7
  */
@@ -1,10 +1,10 @@
1
- import { PromptFormat } from "./PromptFormat.js";
1
+ import { ChatPrompt } from "./ChatPrompt.js";
2
2
  import { InstructionPrompt } from "./InstructionPrompt.js";
3
- import { ChatPrompt } from "./chat/ChatPrompt.js";
3
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
4
4
  /**
5
5
  * Formats an instruction prompt as a basic text prompt.
6
6
  */
7
- export declare const mapInstructionPromptToTextFormat: () => PromptFormat<InstructionPrompt, string>;
7
+ export declare const mapInstructionPromptToTextFormat: () => TextGenerationPromptFormat<InstructionPrompt, string>;
8
8
  /**
9
9
  * Formats a chat prompt as a basic text prompt.
10
10
  *
@@ -14,4 +14,4 @@ export declare const mapInstructionPromptToTextFormat: () => PromptFormat<Instru
14
14
  export declare const mapChatPromptToTextFormat: (options?: {
15
15
  user?: string;
16
16
  ai?: string;
17
- }) => PromptFormat<ChatPrompt, string>;
17
+ }) => TextGenerationPromptFormat<ChatPrompt, string>;
@@ -1,4 +1,4 @@
1
- import { validateChatPrompt } from "./chat/validateChatPrompt.js";
1
+ import { validateChatPrompt } from "./validateChatPrompt.js";
2
2
  /**
3
3
  * Formats an instruction prompt as a basic text prompt.
4
4
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapChatPromptToVicunaFormat = void 0;
4
- const validateChatPrompt_js_1 = require("./chat/validateChatPrompt.cjs");
4
+ const validateChatPrompt_js_1 = require("./validateChatPrompt.cjs");
5
5
  const DEFAULT_SYSTEM_PROMPT = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.";
6
6
  /**
7
7
  * Formats a chat prompt as a Vicuna prompt.
@@ -1,5 +1,5 @@
1
- import { PromptFormat } from "./PromptFormat.js";
2
- import { ChatPrompt } from "./chat/ChatPrompt.js";
1
+ import { ChatPrompt } from "./ChatPrompt.js";
2
+ import { TextGenerationPromptFormat } from "./TextGenerationPromptFormat.js";
3
3
  /**
4
4
  * Formats a chat prompt as a Vicuna prompt.
5
5
  *
@@ -13,4 +13,4 @@ import { ChatPrompt } from "./chat/ChatPrompt.js";
13
13
  * ASSISTANT:
14
14
  * ```
15
15
  */
16
- export declare function mapChatPromptToVicunaFormat(): PromptFormat<ChatPrompt, string>;
16
+ export declare function mapChatPromptToVicunaFormat(): TextGenerationPromptFormat<ChatPrompt, string>;
@@ -1,4 +1,4 @@
1
- import { validateChatPrompt } from "./chat/validateChatPrompt.js";
1
+ import { validateChatPrompt } from "./validateChatPrompt.js";
2
2
  const DEFAULT_SYSTEM_PROMPT = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.";
3
3
  /**
4
4
  * Formats a chat prompt as a Vicuna prompt.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateText = void 0;
4
4
  const executeCall_js_1 = require("../executeCall.cjs");
5
+ const ModelFunctionPromise_js_1 = require("../ModelFunctionPromise.cjs");
5
6
  /**
6
7
  * Generates a text using a prompt.
7
8
  * The prompt format depends on the model.
@@ -16,7 +17,7 @@ const executeCall_js_1 = require("../executeCall.cjs");
16
17
  * );
17
18
  */
18
19
  function generateText(model, prompt, options) {
19
- return (0, executeCall_js_1.executeCall)({
20
+ return new ModelFunctionPromise_js_1.ModelFunctionPromise((0, executeCall_js_1.executeCall)({
20
21
  functionType: "text-generation",
21
22
  input: prompt,
22
23
  model,
@@ -26,10 +27,12 @@ function generateText(model, prompt, options) {
26
27
  const shouldTrimWhitespace = model.settings.trimWhitespace ?? true;
27
28
  return {
28
29
  response: result.response,
29
- extractedValue: shouldTrimWhitespace ? result.text.trim() : result.text,
30
+ extractedValue: shouldTrimWhitespace
31
+ ? result.text.trim()
32
+ : result.text,
30
33
  usage: result.usage,
31
34
  };
32
35
  },
33
- });
36
+ }));
34
37
  }
35
38
  exports.generateText = generateText;
@@ -1,5 +1,5 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
- import { ModelFunctionPromise } from "../executeCall.js";
2
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
3
3
  import { TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
4
4
  /**
5
5
  * Generates a text using a prompt.
@@ -1,4 +1,5 @@
1
1
  import { executeCall } from "../executeCall.js";
2
+ import { ModelFunctionPromise } from "../ModelFunctionPromise.js";
2
3
  /**
3
4
  * Generates a text using a prompt.
4
5
  * The prompt format depends on the model.
@@ -13,7 +14,7 @@ import { executeCall } from "../executeCall.js";
13
14
  * );
14
15
  */
15
16
  export function generateText(model, prompt, options) {
16
- return executeCall({
17
+ return new ModelFunctionPromise(executeCall({
17
18
  functionType: "text-generation",
18
19
  input: prompt,
19
20
  model,
@@ -23,9 +24,11 @@ export function generateText(model, prompt, options) {
23
24
  const shouldTrimWhitespace = model.settings.trimWhitespace ?? true;
24
25
  return {
25
26
  response: result.response,
26
- extractedValue: shouldTrimWhitespace ? result.text.trim() : result.text,
27
+ extractedValue: shouldTrimWhitespace
28
+ ? result.text.trim()
29
+ : result.text,
27
30
  usage: result.usage,
28
31
  };
29
32
  },
30
- });
33
+ }));
31
34
  }
@@ -15,13 +15,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./AlpacaPromptFormat.cjs"), exports);
18
+ __exportStar(require("./ChatPrompt.cjs"), exports);
18
19
  __exportStar(require("./InstructionPrompt.cjs"), exports);
19
20
  __exportStar(require("./Llama2PromptFormat.cjs"), exports);
20
- __exportStar(require("./PromptFormat.cjs"), exports);
21
21
  __exportStar(require("./PromptFormatTextGenerationModel.cjs"), exports);
22
22
  __exportStar(require("./PromptFormatTextStreamingModel.cjs"), exports);
23
+ __exportStar(require("./TextGenerationEvent.cjs"), exports);
24
+ __exportStar(require("./TextGenerationModel.cjs"), exports);
25
+ __exportStar(require("./TextGenerationPromptFormat.cjs"), exports);
23
26
  __exportStar(require("./TextPromptFormat.cjs"), exports);
27
+ __exportStar(require("./TextStreamingEvent.cjs"), exports);
24
28
  __exportStar(require("./VicunaPromptFormat.cjs"), exports);
25
- __exportStar(require("./chat/ChatPrompt.cjs"), exports);
26
- __exportStar(require("./chat/trimChatPrompt.cjs"), exports);
27
- __exportStar(require("./chat/validateChatPrompt.cjs"), exports);
29
+ __exportStar(require("./generateText.cjs"), exports);
30
+ __exportStar(require("./streamText.cjs"), exports);
31
+ __exportStar(require("./trimChatPrompt.cjs"), exports);
32
+ __exportStar(require("./validateChatPrompt.cjs"), exports);
@@ -0,0 +1,16 @@
1
+ export * from "./AlpacaPromptFormat.js";
2
+ export * from "./ChatPrompt.js";
3
+ export * from "./InstructionPrompt.js";
4
+ export * from "./Llama2PromptFormat.js";
5
+ export * from "./PromptFormatTextGenerationModel.js";
6
+ export * from "./PromptFormatTextStreamingModel.js";
7
+ export * from "./TextGenerationEvent.js";
8
+ export * from "./TextGenerationModel.js";
9
+ export * from "./TextGenerationPromptFormat.js";
10
+ export * from "./TextPromptFormat.js";
11
+ export * from "./TextStreamingEvent.js";
12
+ export * from "./VicunaPromptFormat.js";
13
+ export * from "./generateText.js";
14
+ export * from "./streamText.js";
15
+ export * from "./trimChatPrompt.js";
16
+ export * from "./validateChatPrompt.js";
@@ -0,0 +1,16 @@
1
+ export * from "./AlpacaPromptFormat.js";
2
+ export * from "./ChatPrompt.js";
3
+ export * from "./InstructionPrompt.js";
4
+ export * from "./Llama2PromptFormat.js";
5
+ export * from "./PromptFormatTextGenerationModel.js";
6
+ export * from "./PromptFormatTextStreamingModel.js";
7
+ export * from "./TextGenerationEvent.js";
8
+ export * from "./TextGenerationModel.js";
9
+ export * from "./TextGenerationPromptFormat.js";
10
+ export * from "./TextPromptFormat.js";
11
+ export * from "./TextStreamingEvent.js";
12
+ export * from "./VicunaPromptFormat.js";
13
+ export * from "./generateText.js";
14
+ export * from "./streamText.js";
15
+ export * from "./trimChatPrompt.js";
16
+ export * from "./validateChatPrompt.js";
@@ -1,5 +1,5 @@
1
- import { HasContextWindowSize, HasTokenizer, TextGenerationModel, TextGenerationModelSettings } from "../../model-function/generate-text/TextGenerationModel.js";
2
1
  import { ChatPrompt } from "./ChatPrompt.js";
2
+ import { HasContextWindowSize, HasTokenizer, TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
3
3
  /**
4
4
  * Keeps only the most recent messages in the prompt, while leaving enough space for the completion.
5
5
  *
@@ -19,6 +19,7 @@ __exportStar(require("./Model.cjs"), exports);
19
19
  __exportStar(require("./ModelCallEvent.cjs"), exports);
20
20
  __exportStar(require("./ModelCallMetadata.cjs"), exports);
21
21
  __exportStar(require("./ModelInformation.cjs"), exports);
22
+ __exportStar(require("./PromptFormat.cjs"), exports);
22
23
  __exportStar(require("./SuccessfulModelCall.cjs"), exports);
23
24
  __exportStar(require("./describe-image/ImageDescriptionEvent.cjs"), exports);
24
25
  __exportStar(require("./describe-image/ImageDescriptionModel.cjs"), exports);
@@ -28,6 +29,7 @@ __exportStar(require("./embed/EmbeddingModel.cjs"), exports);
28
29
  __exportStar(require("./embed/embed.cjs"), exports);
29
30
  __exportStar(require("./generate-image/ImageGenerationEvent.cjs"), exports);
30
31
  __exportStar(require("./generate-image/ImageGenerationModel.cjs"), exports);
32
+ __exportStar(require("./generate-image/PromptFormatImageGenerationModel.cjs"), exports);
31
33
  __exportStar(require("./generate-image/generateImage.cjs"), exports);
32
34
  __exportStar(require("./generate-structure/NoSuchStructureError.cjs"), exports);
33
35
  __exportStar(require("./generate-structure/StructureFromTextGenerationModel.cjs"), exports);
@@ -40,11 +42,7 @@ __exportStar(require("./generate-structure/StructureValidationError.cjs"), expor
40
42
  __exportStar(require("./generate-structure/generateStructure.cjs"), exports);
41
43
  __exportStar(require("./generate-structure/generateStructureOrText.cjs"), exports);
42
44
  __exportStar(require("./generate-structure/streamStructure.cjs"), exports);
43
- __exportStar(require("./generate-text/TextGenerationEvent.cjs"), exports);
44
- __exportStar(require("./generate-text/TextGenerationModel.cjs"), exports);
45
- __exportStar(require("./generate-text/TextStreamingEvent.cjs"), exports);
46
- __exportStar(require("./generate-text/generateText.cjs"), exports);
47
- __exportStar(require("./generate-text/streamText.cjs"), exports);
45
+ __exportStar(require("./generate-text/index.cjs"), exports);
48
46
  __exportStar(require("./synthesize-speech/SpeechSynthesisEvent.cjs"), exports);
49
47
  __exportStar(require("./synthesize-speech/SpeechSynthesisModel.cjs"), exports);
50
48
  __exportStar(require("./synthesize-speech/synthesizeSpeech.cjs"), exports);