modelfusion 0.103.0 → 0.105.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.
- package/CHANGELOG.md +56 -0
- package/model-function/Delta.d.ts +1 -2
- package/model-function/executeStreamCall.cjs +6 -4
- package/model-function/executeStreamCall.d.ts +2 -2
- package/model-function/executeStreamCall.js +6 -4
- package/model-function/generate-speech/streamSpeech.cjs +1 -2
- package/model-function/generate-speech/streamSpeech.js +1 -2
- package/model-function/generate-structure/StructureFromTextStreamingModel.cjs +25 -29
- package/model-function/generate-structure/StructureFromTextStreamingModel.d.ts +3 -1
- package/model-function/generate-structure/StructureFromTextStreamingModel.js +25 -29
- package/model-function/generate-structure/StructureGenerationModel.d.ts +2 -0
- package/model-function/generate-structure/streamStructure.cjs +7 -8
- package/model-function/generate-structure/streamStructure.d.ts +1 -1
- package/model-function/generate-structure/streamStructure.js +7 -8
- package/model-function/generate-text/PromptTemplateFullTextModel.cjs +35 -0
- package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +41 -0
- package/model-function/generate-text/PromptTemplateFullTextModel.js +31 -0
- package/model-function/generate-text/PromptTemplateTextStreamingModel.cjs +3 -0
- package/model-function/generate-text/PromptTemplateTextStreamingModel.d.ts +2 -1
- package/model-function/generate-text/PromptTemplateTextStreamingModel.js +3 -0
- package/model-function/generate-text/TextGenerationModel.d.ts +2 -1
- package/model-function/generate-text/index.cjs +1 -0
- package/model-function/generate-text/index.d.ts +1 -0
- package/model-function/generate-text/index.js +1 -0
- package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.cjs +2 -1
- package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.d.ts +2 -2
- package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.js +2 -1
- package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.cjs +9 -5
- package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.d.ts +4 -4
- package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.js +9 -5
- package/model-function/generate-text/prompt-template/ChatPrompt.cjs +38 -20
- package/model-function/generate-text/prompt-template/ChatPrompt.d.ts +33 -34
- package/model-function/generate-text/prompt-template/ChatPrompt.js +37 -18
- package/model-function/generate-text/prompt-template/ContentPart.cjs +11 -0
- package/model-function/generate-text/prompt-template/ContentPart.d.ts +30 -0
- package/model-function/generate-text/prompt-template/ContentPart.js +7 -0
- package/model-function/generate-text/prompt-template/InstructionPrompt.d.ts +7 -22
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.cjs +40 -6
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.d.ts +16 -4
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.js +38 -5
- package/model-function/generate-text/prompt-template/NeuralChatPromptTemplate.cjs +10 -5
- package/model-function/generate-text/prompt-template/NeuralChatPromptTemplate.d.ts +4 -4
- package/model-function/generate-text/prompt-template/NeuralChatPromptTemplate.js +10 -5
- package/model-function/generate-text/prompt-template/TextPromptTemplate.cjs +8 -5
- package/model-function/generate-text/prompt-template/TextPromptTemplate.d.ts +4 -4
- package/model-function/generate-text/prompt-template/TextPromptTemplate.js +8 -5
- package/model-function/generate-text/prompt-template/VicunaPromptTemplate.cjs +8 -4
- package/model-function/generate-text/prompt-template/VicunaPromptTemplate.d.ts +2 -2
- package/model-function/generate-text/prompt-template/VicunaPromptTemplate.js +8 -4
- package/model-function/generate-text/prompt-template/index.cjs +1 -1
- package/model-function/generate-text/prompt-template/index.d.ts +1 -1
- package/model-function/generate-text/prompt-template/index.js +1 -1
- package/model-function/generate-text/prompt-template/trimChatPrompt.cjs +0 -2
- package/model-function/generate-text/prompt-template/trimChatPrompt.d.ts +4 -4
- package/model-function/generate-text/prompt-template/trimChatPrompt.js +0 -2
- package/model-function/generate-text/streamText.cjs +27 -28
- package/model-function/generate-text/streamText.d.ts +1 -0
- package/model-function/generate-text/streamText.js +27 -28
- package/model-provider/anthropic/AnthropicPromptTemplate.cjs +9 -4
- package/model-provider/anthropic/AnthropicPromptTemplate.d.ts +4 -4
- package/model-provider/anthropic/AnthropicPromptTemplate.js +9 -4
- package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +8 -14
- package/model-provider/anthropic/AnthropicTextGenerationModel.d.ts +13 -4
- package/model-provider/anthropic/AnthropicTextGenerationModel.js +8 -14
- package/model-provider/anthropic/AnthropicTextGenerationModel.test.cjs +44 -0
- package/model-provider/anthropic/AnthropicTextGenerationModel.test.js +42 -0
- package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +1 -1
- package/model-provider/cohere/CohereTextGenerationModel.cjs +6 -44
- package/model-provider/cohere/CohereTextGenerationModel.d.ts +47 -13
- package/model-provider/cohere/CohereTextGenerationModel.js +7 -45
- package/model-provider/cohere/CohereTextGenerationModel.test.cjs +33 -0
- package/model-provider/cohere/CohereTextGenerationModel.test.js +31 -0
- package/model-provider/elevenlabs/ElevenLabsSpeechModel.cjs +1 -2
- package/model-provider/elevenlabs/ElevenLabsSpeechModel.js +1 -2
- package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.cjs +29 -17
- package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.d.ts +4 -4
- package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.js +29 -17
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +7 -14
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +157 -6
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +8 -15
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.test.cjs +37 -0
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.test.d.ts +1 -0
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.test.js +35 -0
- package/model-provider/mistral/MistralChatModel.cjs +30 -104
- package/model-provider/mistral/MistralChatModel.d.ts +49 -16
- package/model-provider/mistral/MistralChatModel.js +30 -104
- package/model-provider/mistral/MistralChatModel.test.cjs +51 -0
- package/model-provider/mistral/MistralChatModel.test.d.ts +1 -0
- package/model-provider/mistral/MistralChatModel.test.js +49 -0
- package/model-provider/mistral/MistralPromptTemplate.cjs +13 -5
- package/model-provider/mistral/MistralPromptTemplate.d.ts +4 -4
- package/model-provider/mistral/MistralPromptTemplate.js +13 -5
- package/model-provider/ollama/OllamaChatModel.cjs +7 -43
- package/model-provider/ollama/OllamaChatModel.d.ts +63 -11
- package/model-provider/ollama/OllamaChatModel.js +7 -43
- package/model-provider/ollama/OllamaChatModel.test.cjs +27 -0
- package/model-provider/ollama/OllamaChatModel.test.d.ts +1 -0
- package/model-provider/ollama/OllamaChatModel.test.js +25 -0
- package/model-provider/ollama/OllamaChatPromptTemplate.cjs +43 -17
- package/model-provider/ollama/OllamaChatPromptTemplate.d.ts +4 -4
- package/model-provider/ollama/OllamaChatPromptTemplate.js +43 -17
- package/model-provider/ollama/OllamaCompletionModel.cjs +22 -43
- package/model-provider/ollama/OllamaCompletionModel.d.ts +65 -9
- package/model-provider/ollama/OllamaCompletionModel.js +23 -44
- package/model-provider/ollama/OllamaCompletionModel.test.cjs +101 -13
- package/model-provider/ollama/OllamaCompletionModel.test.js +78 -13
- package/model-provider/openai/{chat/AbstractOpenAIChatModel.cjs → AbstractOpenAIChatModel.cjs} +71 -15
- package/model-provider/openai/{chat/AbstractOpenAIChatModel.d.ts → AbstractOpenAIChatModel.d.ts} +273 -19
- package/model-provider/openai/{chat/AbstractOpenAIChatModel.js → AbstractOpenAIChatModel.js} +71 -15
- package/model-provider/openai/{chat/OpenAIChatFunctionCallStructureGenerationModel.cjs → OpenAIChatFunctionCallStructureGenerationModel.cjs} +18 -2
- package/model-provider/openai/{chat/OpenAIChatFunctionCallStructureGenerationModel.d.ts → OpenAIChatFunctionCallStructureGenerationModel.d.ts} +41 -11
- package/model-provider/openai/{chat/OpenAIChatFunctionCallStructureGenerationModel.js → OpenAIChatFunctionCallStructureGenerationModel.js} +18 -2
- package/model-provider/openai/{chat/OpenAIChatMessage.d.ts → OpenAIChatMessage.d.ts} +3 -3
- package/model-provider/openai/{chat/OpenAIChatModel.cjs → OpenAIChatModel.cjs} +5 -5
- package/model-provider/openai/{chat/OpenAIChatModel.d.ts → OpenAIChatModel.d.ts} +12 -12
- package/model-provider/openai/{chat/OpenAIChatModel.js → OpenAIChatModel.js} +5 -5
- package/model-provider/openai/OpenAIChatModel.test.cjs +94 -0
- package/model-provider/openai/OpenAIChatModel.test.d.ts +1 -0
- package/model-provider/openai/OpenAIChatModel.test.js +92 -0
- package/model-provider/openai/OpenAIChatPromptTemplate.cjs +114 -0
- package/model-provider/openai/OpenAIChatPromptTemplate.d.ts +20 -0
- package/model-provider/openai/OpenAIChatPromptTemplate.js +107 -0
- package/model-provider/openai/OpenAICompletionModel.cjs +32 -84
- package/model-provider/openai/OpenAICompletionModel.d.ts +29 -12
- package/model-provider/openai/OpenAICompletionModel.js +33 -85
- package/model-provider/openai/OpenAICompletionModel.test.cjs +53 -0
- package/model-provider/openai/OpenAICompletionModel.test.d.ts +1 -0
- package/model-provider/openai/OpenAICompletionModel.test.js +51 -0
- package/model-provider/openai/OpenAICostCalculator.cjs +1 -1
- package/model-provider/openai/OpenAICostCalculator.js +1 -1
- package/model-provider/openai/OpenAIFacade.cjs +2 -2
- package/model-provider/openai/OpenAIFacade.d.ts +3 -3
- package/model-provider/openai/OpenAIFacade.js +2 -2
- package/model-provider/openai/OpenAITranscriptionModel.d.ts +6 -6
- package/model-provider/openai/TikTokenTokenizer.d.ts +1 -1
- package/model-provider/openai/{chat/countOpenAIChatMessageTokens.cjs → countOpenAIChatMessageTokens.cjs} +2 -2
- package/model-provider/openai/{chat/countOpenAIChatMessageTokens.js → countOpenAIChatMessageTokens.js} +2 -2
- package/model-provider/openai/index.cjs +6 -6
- package/model-provider/openai/index.d.ts +5 -6
- package/model-provider/openai/index.js +5 -5
- package/model-provider/openai-compatible/OpenAICompatibleChatModel.cjs +4 -4
- package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +6 -6
- package/model-provider/openai-compatible/OpenAICompatibleChatModel.js +4 -4
- package/model-provider/stability/StabilityImageGenerationModel.d.ts +1 -1
- package/package.json +5 -5
- package/test/JsonTestServer.cjs +33 -0
- package/test/JsonTestServer.d.ts +7 -0
- package/test/JsonTestServer.js +29 -0
- package/test/StreamingTestServer.cjs +55 -0
- package/test/StreamingTestServer.d.ts +7 -0
- package/test/StreamingTestServer.js +51 -0
- package/test/arrayFromAsync.cjs +13 -0
- package/test/arrayFromAsync.d.ts +1 -0
- package/test/arrayFromAsync.js +9 -0
- package/util/streaming/createEventSourceResponseHandler.cjs +9 -0
- package/util/streaming/createEventSourceResponseHandler.d.ts +4 -0
- package/util/streaming/createEventSourceResponseHandler.js +5 -0
- package/util/streaming/createJsonStreamResponseHandler.cjs +9 -0
- package/util/streaming/createJsonStreamResponseHandler.d.ts +4 -0
- package/util/streaming/createJsonStreamResponseHandler.js +5 -0
- package/util/streaming/parseEventSourceStreamAsAsyncIterable.cjs +52 -0
- package/util/streaming/parseEventSourceStreamAsAsyncIterable.d.ts +6 -0
- package/util/streaming/parseEventSourceStreamAsAsyncIterable.js +48 -0
- package/util/streaming/parseJsonStreamAsAsyncIterable.cjs +21 -0
- package/util/streaming/parseJsonStreamAsAsyncIterable.d.ts +6 -0
- package/util/streaming/parseJsonStreamAsAsyncIterable.js +17 -0
- package/model-function/generate-text/prompt-template/Content.cjs +0 -2
- package/model-function/generate-text/prompt-template/Content.d.ts +0 -20
- package/model-provider/openai/chat/OpenAIChatModel.test.cjs +0 -61
- package/model-provider/openai/chat/OpenAIChatModel.test.js +0 -59
- package/model-provider/openai/chat/OpenAIChatPromptTemplate.cjs +0 -72
- package/model-provider/openai/chat/OpenAIChatPromptTemplate.d.ts +0 -20
- package/model-provider/openai/chat/OpenAIChatPromptTemplate.js +0 -65
- package/model-provider/openai/chat/OpenAIChatStreamIterable.cjs +0 -156
- package/model-provider/openai/chat/OpenAIChatStreamIterable.d.ts +0 -19
- package/model-provider/openai/chat/OpenAIChatStreamIterable.js +0 -152
- /package/{model-function/generate-text/prompt-template/Content.js → model-provider/anthropic/AnthropicTextGenerationModel.test.d.ts} +0 -0
- /package/model-provider/{openai/chat/OpenAIChatModel.test.d.ts → cohere/CohereTextGenerationModel.test.d.ts} +0 -0
- /package/model-provider/openai/{chat/OpenAIChatMessage.cjs → OpenAIChatMessage.cjs} +0 -0
- /package/model-provider/openai/{chat/OpenAIChatMessage.js → OpenAIChatMessage.js} +0 -0
- /package/model-provider/openai/{chat/countOpenAIChatMessageTokens.d.ts → countOpenAIChatMessageTokens.d.ts} +0 -0
@@ -7,7 +7,7 @@ const OpenAISpeechModel_js_1 = require("./OpenAISpeechModel.cjs");
|
|
7
7
|
const OpenAITextEmbeddingModel_js_1 = require("./OpenAITextEmbeddingModel.cjs");
|
8
8
|
const OpenAITranscriptionModel_js_1 = require("./OpenAITranscriptionModel.cjs");
|
9
9
|
const TikTokenTokenizer_js_1 = require("./TikTokenTokenizer.cjs");
|
10
|
-
const OpenAIChatModel_js_1 = require("./
|
10
|
+
const OpenAIChatModel_js_1 = require("./OpenAIChatModel.cjs");
|
11
11
|
/**
|
12
12
|
* Create a text generation model that calls the OpenAI text completion API.
|
13
13
|
*
|
@@ -148,5 +148,5 @@ function Tokenizer(settings) {
|
|
148
148
|
return new TikTokenTokenizer_js_1.TikTokenTokenizer(settings);
|
149
149
|
}
|
150
150
|
exports.Tokenizer = Tokenizer;
|
151
|
-
var OpenAIChatMessage_js_1 = require("./
|
151
|
+
var OpenAIChatMessage_js_1 = require("./OpenAIChatMessage.cjs");
|
152
152
|
Object.defineProperty(exports, "ChatMessage", { enumerable: true, get: function () { return OpenAIChatMessage_js_1.OpenAIChatMessage; } });
|
@@ -4,7 +4,7 @@ import { OpenAISpeechModel, OpenAISpeechModelSettings } from "./OpenAISpeechMode
|
|
4
4
|
import { OpenAITextEmbeddingModel, OpenAITextEmbeddingModelSettings } from "./OpenAITextEmbeddingModel.js";
|
5
5
|
import { OpenAITranscriptionModel, OpenAITranscriptionModelSettings } from "./OpenAITranscriptionModel.js";
|
6
6
|
import { TikTokenTokenizer, TikTokenTokenizerSettings } from "./TikTokenTokenizer.js";
|
7
|
-
import { OpenAIChatModel, OpenAIChatSettings } from "./
|
7
|
+
import { OpenAIChatModel, OpenAIChatSettings } from "./OpenAIChatModel.js";
|
8
8
|
/**
|
9
9
|
* Create a text generation model that calls the OpenAI text completion API.
|
10
10
|
*
|
@@ -124,5 +124,5 @@ export declare function ImageGenerator(settings: OpenAIImageGenerationSettings):
|
|
124
124
|
* @returns A new instance of {@link TikTokenTokenizer}.
|
125
125
|
*/
|
126
126
|
export declare function Tokenizer(settings: TikTokenTokenizerSettings): TikTokenTokenizer;
|
127
|
-
export { OpenAIChatMessage as ChatMessage } from "./
|
128
|
-
export { OpenAIChatPrompt as ChatPrompt } from "./
|
127
|
+
export { OpenAIChatMessage as ChatMessage } from "./OpenAIChatMessage.js";
|
128
|
+
export { OpenAIChatPrompt as ChatPrompt } from "./AbstractOpenAIChatModel.js";
|
@@ -4,7 +4,7 @@ import { OpenAISpeechModel, } from "./OpenAISpeechModel.js";
|
|
4
4
|
import { OpenAITextEmbeddingModel, } from "./OpenAITextEmbeddingModel.js";
|
5
5
|
import { OpenAITranscriptionModel, } from "./OpenAITranscriptionModel.js";
|
6
6
|
import { TikTokenTokenizer, } from "./TikTokenTokenizer.js";
|
7
|
-
import { OpenAIChatModel } from "./
|
7
|
+
import { OpenAIChatModel } from "./OpenAIChatModel.js";
|
8
8
|
/**
|
9
9
|
* Create a text generation model that calls the OpenAI text completion API.
|
10
10
|
*
|
@@ -138,4 +138,4 @@ export function ImageGenerator(settings) {
|
|
138
138
|
export function Tokenizer(settings) {
|
139
139
|
return new TikTokenTokenizer(settings);
|
140
140
|
}
|
141
|
-
export { OpenAIChatMessage as ChatMessage } from "./
|
141
|
+
export { OpenAIChatMessage as ChatMessage } from "./OpenAIChatMessage.js";
|
@@ -66,8 +66,8 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
|
|
66
66
|
text: string;
|
67
67
|
segments: {
|
68
68
|
text: string;
|
69
|
-
temperature: number;
|
70
69
|
id: number;
|
70
|
+
temperature: number;
|
71
71
|
tokens: number[];
|
72
72
|
seek: number;
|
73
73
|
start: number;
|
@@ -115,8 +115,8 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
115
115
|
transient: z.ZodOptional<z.ZodBoolean>;
|
116
116
|
}, "strip", z.ZodTypeAny, {
|
117
117
|
text: string;
|
118
|
-
temperature: number;
|
119
118
|
id: number;
|
119
|
+
temperature: number;
|
120
120
|
tokens: number[];
|
121
121
|
seek: number;
|
122
122
|
start: number;
|
@@ -127,8 +127,8 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
127
127
|
transient?: boolean | undefined;
|
128
128
|
}, {
|
129
129
|
text: string;
|
130
|
-
temperature: number;
|
131
130
|
id: number;
|
131
|
+
temperature: number;
|
132
132
|
tokens: number[];
|
133
133
|
seek: number;
|
134
134
|
start: number;
|
@@ -143,8 +143,8 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
143
143
|
text: string;
|
144
144
|
segments: {
|
145
145
|
text: string;
|
146
|
-
temperature: number;
|
147
146
|
id: number;
|
147
|
+
temperature: number;
|
148
148
|
tokens: number[];
|
149
149
|
seek: number;
|
150
150
|
start: number;
|
@@ -161,8 +161,8 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
161
161
|
text: string;
|
162
162
|
segments: {
|
163
163
|
text: string;
|
164
|
-
temperature: number;
|
165
164
|
id: number;
|
165
|
+
temperature: number;
|
166
166
|
tokens: number[];
|
167
167
|
seek: number;
|
168
168
|
start: number;
|
@@ -194,8 +194,8 @@ export declare const OpenAITranscriptionResponseFormat: {
|
|
194
194
|
text: string;
|
195
195
|
segments: {
|
196
196
|
text: string;
|
197
|
-
temperature: number;
|
198
197
|
id: number;
|
198
|
+
temperature: number;
|
199
199
|
tokens: number[];
|
200
200
|
seek: number;
|
201
201
|
start: number;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { FullTokenizer } from "../../model-function/tokenize-text/Tokenizer.js";
|
2
2
|
import { OpenAITextEmbeddingModelType } from "./OpenAITextEmbeddingModel.js";
|
3
3
|
import { OpenAICompletionBaseModelType } from "./OpenAICompletionModel.js";
|
4
|
-
import { OpenAIChatBaseModelType } from "./
|
4
|
+
import { OpenAIChatBaseModelType } from "./OpenAIChatModel.js";
|
5
5
|
export type TikTokenTokenizerSettings = {
|
6
6
|
model: OpenAIChatBaseModelType | OpenAICompletionBaseModelType | OpenAITextEmbeddingModelType;
|
7
7
|
};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.countOpenAIChatPromptTokens = exports.countOpenAIChatMessageTokens = exports.OPENAI_CHAT_MESSAGE_BASE_TOKEN_COUNT = exports.OPENAI_CHAT_PROMPT_BASE_TOKEN_COUNT = void 0;
|
4
|
-
const countTokens_js_1 = require("
|
5
|
-
const TikTokenTokenizer_js_1 = require("
|
4
|
+
const countTokens_js_1 = require("../../model-function/tokenize-text/countTokens.cjs");
|
5
|
+
const TikTokenTokenizer_js_1 = require("./TikTokenTokenizer.cjs");
|
6
6
|
const OpenAIChatModel_js_1 = require("./OpenAIChatModel.cjs");
|
7
7
|
/**
|
8
8
|
* Prompt tokens that are included automatically for every full
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { countTokens } from "
|
2
|
-
import { TikTokenTokenizer } from "
|
1
|
+
import { countTokens } from "../../model-function/tokenize-text/countTokens.js";
|
2
|
+
import { TikTokenTokenizer } from "./TikTokenTokenizer.js";
|
3
3
|
import { getOpenAIChatModelInformation, } from "./OpenAIChatModel.js";
|
4
4
|
/**
|
5
5
|
* Prompt tokens that are included automatically for every full
|
@@ -26,9 +26,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
26
|
return result;
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.
|
29
|
+
exports.openai = exports.OpenAIChatPrompt = void 0;
|
30
|
+
__exportStar(require("./AbstractOpenAIChatModel.cjs"), exports);
|
30
31
|
__exportStar(require("./AzureOpenAIApiConfiguration.cjs"), exports);
|
31
32
|
__exportStar(require("./OpenAIApiConfiguration.cjs"), exports);
|
33
|
+
__exportStar(require("./OpenAIChatMessage.cjs"), exports);
|
34
|
+
__exportStar(require("./OpenAIChatModel.cjs"), exports);
|
35
|
+
exports.OpenAIChatPrompt = __importStar(require("./OpenAIChatPromptTemplate.cjs"));
|
32
36
|
__exportStar(require("./OpenAICompletionModel.cjs"), exports);
|
33
37
|
__exportStar(require("./OpenAICostCalculator.cjs"), exports);
|
34
38
|
exports.openai = __importStar(require("./OpenAIFacade.cjs"));
|
@@ -37,8 +41,4 @@ __exportStar(require("./OpenAISpeechModel.cjs"), exports);
|
|
37
41
|
__exportStar(require("./OpenAITextEmbeddingModel.cjs"), exports);
|
38
42
|
__exportStar(require("./OpenAITranscriptionModel.cjs"), exports);
|
39
43
|
__exportStar(require("./TikTokenTokenizer.cjs"), exports);
|
40
|
-
__exportStar(require("./
|
41
|
-
__exportStar(require("./chat/OpenAIChatMessage.cjs"), exports);
|
42
|
-
__exportStar(require("./chat/OpenAIChatModel.cjs"), exports);
|
43
|
-
exports.OpenAIChatPrompt = __importStar(require("./chat/OpenAIChatPromptTemplate.cjs"));
|
44
|
-
__exportStar(require("./chat/countOpenAIChatMessageTokens.cjs"), exports);
|
44
|
+
__exportStar(require("./countOpenAIChatMessageTokens.cjs"), exports);
|
@@ -1,5 +1,9 @@
|
|
1
|
+
export * from "./AbstractOpenAIChatModel.js";
|
1
2
|
export * from "./AzureOpenAIApiConfiguration.js";
|
2
3
|
export * from "./OpenAIApiConfiguration.js";
|
4
|
+
export * from "./OpenAIChatMessage.js";
|
5
|
+
export * from "./OpenAIChatModel.js";
|
6
|
+
export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
|
3
7
|
export * from "./OpenAICompletionModel.js";
|
4
8
|
export * from "./OpenAICostCalculator.js";
|
5
9
|
export { OpenAIErrorData } from "./OpenAIError.js";
|
@@ -9,9 +13,4 @@ export * from "./OpenAISpeechModel.js";
|
|
9
13
|
export * from "./OpenAITextEmbeddingModel.js";
|
10
14
|
export * from "./OpenAITranscriptionModel.js";
|
11
15
|
export * from "./TikTokenTokenizer.js";
|
12
|
-
export * from "./
|
13
|
-
export * from "./chat/OpenAIChatMessage.js";
|
14
|
-
export * from "./chat/OpenAIChatModel.js";
|
15
|
-
export * as OpenAIChatPrompt from "./chat/OpenAIChatPromptTemplate.js";
|
16
|
-
export { OpenAIChatDelta } from "./chat/OpenAIChatStreamIterable.js";
|
17
|
-
export * from "./chat/countOpenAIChatMessageTokens.js";
|
16
|
+
export * from "./countOpenAIChatMessageTokens.js";
|
@@ -1,5 +1,9 @@
|
|
1
|
+
export * from "./AbstractOpenAIChatModel.js";
|
1
2
|
export * from "./AzureOpenAIApiConfiguration.js";
|
2
3
|
export * from "./OpenAIApiConfiguration.js";
|
4
|
+
export * from "./OpenAIChatMessage.js";
|
5
|
+
export * from "./OpenAIChatModel.js";
|
6
|
+
export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
|
3
7
|
export * from "./OpenAICompletionModel.js";
|
4
8
|
export * from "./OpenAICostCalculator.js";
|
5
9
|
export * as openai from "./OpenAIFacade.js";
|
@@ -8,8 +12,4 @@ export * from "./OpenAISpeechModel.js";
|
|
8
12
|
export * from "./OpenAITextEmbeddingModel.js";
|
9
13
|
export * from "./OpenAITranscriptionModel.js";
|
10
14
|
export * from "./TikTokenTokenizer.js";
|
11
|
-
export * from "./
|
12
|
-
export * from "./chat/OpenAIChatMessage.js";
|
13
|
-
export * from "./chat/OpenAIChatModel.js";
|
14
|
-
export * as OpenAIChatPrompt from "./chat/OpenAIChatPromptTemplate.js";
|
15
|
-
export * from "./chat/countOpenAIChatMessageTokens.js";
|
15
|
+
export * from "./countOpenAIChatMessageTokens.js";
|
@@ -2,10 +2,10 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.OpenAICompatibleChatModel = void 0;
|
4
4
|
const StructureFromTextStreamingModel_js_1 = require("../../model-function/generate-structure/StructureFromTextStreamingModel.cjs");
|
5
|
-
const
|
5
|
+
const PromptTemplateFullTextModel_js_1 = require("../../model-function/generate-text/PromptTemplateFullTextModel.cjs");
|
6
6
|
const TextGenerationModel_js_1 = require("../../model-function/generate-text/TextGenerationModel.cjs");
|
7
|
-
const AbstractOpenAIChatModel_js_1 = require("../openai/
|
8
|
-
const OpenAIChatPromptTemplate_js_1 = require("../openai/
|
7
|
+
const AbstractOpenAIChatModel_js_1 = require("../openai/AbstractOpenAIChatModel.cjs");
|
8
|
+
const OpenAIChatPromptTemplate_js_1 = require("../openai/OpenAIChatPromptTemplate.cjs");
|
9
9
|
/**
|
10
10
|
* Create a text generation model that calls an API that is compatible with OpenAI's chat API.
|
11
11
|
*
|
@@ -82,7 +82,7 @@ class OpenAICompatibleChatModel extends AbstractOpenAIChatModel_js_1.AbstractOpe
|
|
82
82
|
return this.withPromptTemplate((0, OpenAIChatPromptTemplate_js_1.chat)());
|
83
83
|
}
|
84
84
|
withPromptTemplate(promptTemplate) {
|
85
|
-
return new
|
85
|
+
return new PromptTemplateFullTextModel_js_1.PromptTemplateFullTextModel({
|
86
86
|
model: this.withSettings({
|
87
87
|
stopSequences: [
|
88
88
|
...(this.settings.stopSequences ?? []),
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { StructureFromTextPromptTemplate } from "../../model-function/generate-structure/StructureFromTextPromptTemplate.js";
|
2
2
|
import { StructureFromTextStreamingModel } from "../../model-function/generate-structure/StructureFromTextStreamingModel.js";
|
3
|
-
import {
|
3
|
+
import { PromptTemplateFullTextModel } from "../../model-function/generate-text/PromptTemplateFullTextModel.js";
|
4
4
|
import { TextGenerationModelSettings, TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
|
5
5
|
import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
|
6
6
|
import { ToolCallGenerationModel } from "../../tool/generate-tool-call/ToolCallGenerationModel.js";
|
7
7
|
import { ToolCallsOrTextGenerationModel } from "../../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js";
|
8
|
-
import { AbstractOpenAIChatCallSettings, AbstractOpenAIChatModel, OpenAIChatPrompt } from "../openai/
|
8
|
+
import { AbstractOpenAIChatCallSettings, AbstractOpenAIChatModel, OpenAIChatPrompt } from "../openai/AbstractOpenAIChatModel.js";
|
9
9
|
export type OpenAICompatibleProviderName = `openaicompatible` | `openaicompatible-${string}`;
|
10
10
|
export interface OpenAICompatibleChatSettings extends TextGenerationModelSettings, Omit<AbstractOpenAIChatCallSettings, "stop" | "maxTokens"> {
|
11
11
|
provider?: OpenAICompatibleProviderName;
|
@@ -31,15 +31,15 @@ export declare class OpenAICompatibleChatModel extends AbstractOpenAIChatModel<O
|
|
31
31
|
/**
|
32
32
|
* Returns this model with a text prompt template.
|
33
33
|
*/
|
34
|
-
withTextPrompt():
|
34
|
+
withTextPrompt(): PromptTemplateFullTextModel<string, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
|
35
35
|
/**
|
36
36
|
* Returns this model with an instruction prompt template.
|
37
37
|
*/
|
38
|
-
withInstructionPrompt():
|
38
|
+
withInstructionPrompt(): PromptTemplateFullTextModel<import("../../index.js").InstructionPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
|
39
39
|
/**
|
40
40
|
* Returns this model with a chat prompt template.
|
41
41
|
*/
|
42
|
-
withChatPrompt():
|
43
|
-
withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, OpenAIChatPrompt>):
|
42
|
+
withChatPrompt(): PromptTemplateFullTextModel<import("../../index.js").ChatPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
|
43
|
+
withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, OpenAIChatPrompt>): PromptTemplateFullTextModel<INPUT_PROMPT, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
|
44
44
|
withSettings(additionalSettings: Partial<OpenAICompatibleChatSettings>): this;
|
45
45
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { StructureFromTextStreamingModel } from "../../model-function/generate-structure/StructureFromTextStreamingModel.js";
|
2
|
-
import {
|
2
|
+
import { PromptTemplateFullTextModel } from "../../model-function/generate-text/PromptTemplateFullTextModel.js";
|
3
3
|
import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
|
4
|
-
import { AbstractOpenAIChatModel, } from "../openai/
|
5
|
-
import { chat, instruction, text
|
4
|
+
import { AbstractOpenAIChatModel, } from "../openai/AbstractOpenAIChatModel.js";
|
5
|
+
import { chat, instruction, text } from "../openai/OpenAIChatPromptTemplate.js";
|
6
6
|
/**
|
7
7
|
* Create a text generation model that calls an API that is compatible with OpenAI's chat API.
|
8
8
|
*
|
@@ -79,7 +79,7 @@ export class OpenAICompatibleChatModel extends AbstractOpenAIChatModel {
|
|
79
79
|
return this.withPromptTemplate(chat());
|
80
80
|
}
|
81
81
|
withPromptTemplate(promptTemplate) {
|
82
|
-
return new
|
82
|
+
return new PromptTemplateFullTextModel({
|
83
83
|
model: this.withSettings({
|
84
84
|
stopSequences: [
|
85
85
|
...(this.settings.stopSequences ?? []),
|
@@ -78,7 +78,7 @@ export declare class StabilityImageGenerationModel extends AbstractModel<Stabili
|
|
78
78
|
}>;
|
79
79
|
withTextPrompt(): PromptTemplateImageGenerationModel<string, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
|
80
80
|
withPromptTemplate<INPUT_PROMPT>(promptTemplate: PromptTemplate<INPUT_PROMPT, StabilityImageGenerationPrompt>): PromptTemplateImageGenerationModel<INPUT_PROMPT, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
|
81
|
-
withSettings(additionalSettings: StabilityImageGenerationSettings): this;
|
81
|
+
withSettings(additionalSettings: Partial<StabilityImageGenerationSettings>): this;
|
82
82
|
}
|
83
83
|
declare const stabilityImageGenerationResponseSchema: z.ZodObject<{
|
84
84
|
artifacts: z.ZodArray<z.ZodObject<{
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "modelfusion",
|
3
3
|
"description": "The TypeScript library for building multi-modal AI applications.",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.105.0",
|
5
5
|
"author": "Lars Grammel",
|
6
6
|
"license": "MIT",
|
7
7
|
"keywords": [
|
@@ -61,15 +61,15 @@
|
|
61
61
|
},
|
62
62
|
"scripts": {
|
63
63
|
"lint": "eslint --ext .ts src",
|
64
|
-
"clean": "rimraf build dist .turbo",
|
64
|
+
"clean": "rimraf build dist .turbo node_modules",
|
65
65
|
"build": "pnpm build:esm && pnpm build:cjs && pnpm build:copy-files",
|
66
66
|
"build:esm": "tsc --outDir dist/",
|
67
67
|
"build:cjs": "tsc --outDir build/cjs/ -p tsconfig.cjs.json && node bin/prepare-cjs.js",
|
68
68
|
"build:copy-files": "copyfiles --flat package.json ../../README.md ../../LICENSE ../../CHANGELOG.md dist",
|
69
69
|
"test": "vitest --config vitest.config.js --run src",
|
70
|
-
"test:watch": "vitest watch--config vitest.config.js",
|
71
|
-
"test:coverage": "vitest run --coverage",
|
72
|
-
"test:coverage:ui": "vitest
|
70
|
+
"test:watch": "vitest watch --config vitest.config.js",
|
71
|
+
"test:coverage": "vitest run --config vitest.config.js --coverage",
|
72
|
+
"test:coverage:ui": "vitest --config vitest.config.js --coverage --ui",
|
73
73
|
"dist": "pnpm clean && pnpm lint && pnpm test && pnpm build"
|
74
74
|
},
|
75
75
|
"dependencies": {
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.JsonTestServer = void 0;
|
4
|
+
const msw_1 = require("msw");
|
5
|
+
const node_1 = require("msw/node");
|
6
|
+
class JsonTestServer {
|
7
|
+
constructor(url) {
|
8
|
+
Object.defineProperty(this, "server", {
|
9
|
+
enumerable: true,
|
10
|
+
configurable: true,
|
11
|
+
writable: true,
|
12
|
+
value: void 0
|
13
|
+
});
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
15
|
+
Object.defineProperty(this, "responseBodyJson", {
|
16
|
+
enumerable: true,
|
17
|
+
configurable: true,
|
18
|
+
writable: true,
|
19
|
+
value: {}
|
20
|
+
});
|
21
|
+
const responseBodyJson = () => this.responseBodyJson;
|
22
|
+
this.server = (0, node_1.setupServer)(msw_1.http.post(url, () => msw_1.HttpResponse.json(responseBodyJson())));
|
23
|
+
}
|
24
|
+
setupTestEnvironment() {
|
25
|
+
beforeAll(() => this.server.listen());
|
26
|
+
beforeEach(() => {
|
27
|
+
this.responseBodyJson = {};
|
28
|
+
});
|
29
|
+
afterEach(() => this.server.resetHandlers());
|
30
|
+
afterAll(() => this.server.close());
|
31
|
+
}
|
32
|
+
}
|
33
|
+
exports.JsonTestServer = JsonTestServer;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { HttpResponse, http } from "msw";
|
2
|
+
import { setupServer } from "msw/node";
|
3
|
+
export class JsonTestServer {
|
4
|
+
constructor(url) {
|
5
|
+
Object.defineProperty(this, "server", {
|
6
|
+
enumerable: true,
|
7
|
+
configurable: true,
|
8
|
+
writable: true,
|
9
|
+
value: void 0
|
10
|
+
});
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
12
|
+
Object.defineProperty(this, "responseBodyJson", {
|
13
|
+
enumerable: true,
|
14
|
+
configurable: true,
|
15
|
+
writable: true,
|
16
|
+
value: {}
|
17
|
+
});
|
18
|
+
const responseBodyJson = () => this.responseBodyJson;
|
19
|
+
this.server = setupServer(http.post(url, () => HttpResponse.json(responseBodyJson())));
|
20
|
+
}
|
21
|
+
setupTestEnvironment() {
|
22
|
+
beforeAll(() => this.server.listen());
|
23
|
+
beforeEach(() => {
|
24
|
+
this.responseBodyJson = {};
|
25
|
+
});
|
26
|
+
afterEach(() => this.server.resetHandlers());
|
27
|
+
afterAll(() => this.server.close());
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.StreamingTestServer = void 0;
|
4
|
+
const msw_1 = require("msw");
|
5
|
+
const node_1 = require("msw/node");
|
6
|
+
class StreamingTestServer {
|
7
|
+
constructor(url) {
|
8
|
+
Object.defineProperty(this, "server", {
|
9
|
+
enumerable: true,
|
10
|
+
configurable: true,
|
11
|
+
writable: true,
|
12
|
+
value: void 0
|
13
|
+
});
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
15
|
+
Object.defineProperty(this, "responseChunks", {
|
16
|
+
enumerable: true,
|
17
|
+
configurable: true,
|
18
|
+
writable: true,
|
19
|
+
value: []
|
20
|
+
});
|
21
|
+
const responseChunks = () => this.responseChunks;
|
22
|
+
this.server = (0, node_1.setupServer)(msw_1.http.post(url, () => {
|
23
|
+
const encoder = new TextEncoder();
|
24
|
+
const stream = new ReadableStream({
|
25
|
+
async start(controller) {
|
26
|
+
try {
|
27
|
+
for (const chunk of responseChunks()) {
|
28
|
+
controller.enqueue(encoder.encode(chunk));
|
29
|
+
}
|
30
|
+
}
|
31
|
+
finally {
|
32
|
+
controller.close();
|
33
|
+
}
|
34
|
+
},
|
35
|
+
});
|
36
|
+
return new msw_1.HttpResponse(stream, {
|
37
|
+
status: 200,
|
38
|
+
headers: {
|
39
|
+
"Content-Type": "text/event-stream",
|
40
|
+
"Cache-Control": "no-cache",
|
41
|
+
Connection: "keep-alive",
|
42
|
+
},
|
43
|
+
});
|
44
|
+
}));
|
45
|
+
}
|
46
|
+
setupTestEnvironment() {
|
47
|
+
beforeAll(() => this.server.listen());
|
48
|
+
beforeEach(() => {
|
49
|
+
this.responseChunks = [];
|
50
|
+
});
|
51
|
+
afterEach(() => this.server.resetHandlers());
|
52
|
+
afterAll(() => this.server.close());
|
53
|
+
}
|
54
|
+
}
|
55
|
+
exports.StreamingTestServer = StreamingTestServer;
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { HttpResponse, http } from "msw";
|
2
|
+
import { setupServer } from "msw/node";
|
3
|
+
export class StreamingTestServer {
|
4
|
+
constructor(url) {
|
5
|
+
Object.defineProperty(this, "server", {
|
6
|
+
enumerable: true,
|
7
|
+
configurable: true,
|
8
|
+
writable: true,
|
9
|
+
value: void 0
|
10
|
+
});
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
12
|
+
Object.defineProperty(this, "responseChunks", {
|
13
|
+
enumerable: true,
|
14
|
+
configurable: true,
|
15
|
+
writable: true,
|
16
|
+
value: []
|
17
|
+
});
|
18
|
+
const responseChunks = () => this.responseChunks;
|
19
|
+
this.server = setupServer(http.post(url, () => {
|
20
|
+
const encoder = new TextEncoder();
|
21
|
+
const stream = new ReadableStream({
|
22
|
+
async start(controller) {
|
23
|
+
try {
|
24
|
+
for (const chunk of responseChunks()) {
|
25
|
+
controller.enqueue(encoder.encode(chunk));
|
26
|
+
}
|
27
|
+
}
|
28
|
+
finally {
|
29
|
+
controller.close();
|
30
|
+
}
|
31
|
+
},
|
32
|
+
});
|
33
|
+
return new HttpResponse(stream, {
|
34
|
+
status: 200,
|
35
|
+
headers: {
|
36
|
+
"Content-Type": "text/event-stream",
|
37
|
+
"Cache-Control": "no-cache",
|
38
|
+
Connection: "keep-alive",
|
39
|
+
},
|
40
|
+
});
|
41
|
+
}));
|
42
|
+
}
|
43
|
+
setupTestEnvironment() {
|
44
|
+
beforeAll(() => this.server.listen());
|
45
|
+
beforeEach(() => {
|
46
|
+
this.responseChunks = [];
|
47
|
+
});
|
48
|
+
afterEach(() => this.server.resetHandlers());
|
49
|
+
afterAll(() => this.server.close());
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.arrayFromAsync = void 0;
|
4
|
+
// TODO once Array.fromAsync is in Node.js,
|
5
|
+
// use Array.fromAsync instead of this function
|
6
|
+
async function arrayFromAsync(iterable) {
|
7
|
+
const result = [];
|
8
|
+
for await (const item of iterable) {
|
9
|
+
result.push(item);
|
10
|
+
}
|
11
|
+
return result;
|
12
|
+
}
|
13
|
+
exports.arrayFromAsync = arrayFromAsync;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function arrayFromAsync<T>(iterable: AsyncIterable<T>): Promise<T[]>;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createEventSourceResponseHandler = void 0;
|
4
|
+
const parseEventSourceStreamAsAsyncIterable_js_1 = require("./parseEventSourceStreamAsAsyncIterable.cjs");
|
5
|
+
const createEventSourceResponseHandler = (schema) => ({ response }) => (0, parseEventSourceStreamAsAsyncIterable_js_1.parseEventSourceStreamAsAsyncIterable)({
|
6
|
+
stream: response.body,
|
7
|
+
schema,
|
8
|
+
});
|
9
|
+
exports.createEventSourceResponseHandler = createEventSourceResponseHandler;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createJsonStreamResponseHandler = void 0;
|
4
|
+
const parseJsonStreamAsAsyncIterable_js_1 = require("./parseJsonStreamAsAsyncIterable.cjs");
|
5
|
+
const createJsonStreamResponseHandler = (schema) => ({ response }) => (0, parseJsonStreamAsAsyncIterable_js_1.parseJsonStreamAsAsyncIterable)({
|
6
|
+
stream: response.body,
|
7
|
+
schema,
|
8
|
+
});
|
9
|
+
exports.createJsonStreamResponseHandler = createJsonStreamResponseHandler;
|