modelfusion 0.105.0 → 0.106.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 +11 -0
- package/README.md +8 -10
- package/core/DefaultRun.cjs +0 -4
- package/core/DefaultRun.d.ts +0 -2
- package/core/DefaultRun.js +0 -4
- package/core/ExtensionFunctionEvent.d.ts +11 -0
- package/core/FunctionEvent.d.ts +2 -2
- package/extension/index.cjs +22 -3
- package/extension/index.d.ts +5 -1
- package/extension/index.js +4 -1
- package/index.cjs +0 -3
- package/index.d.ts +0 -3
- package/index.js +0 -3
- package/model-function/generate-structure/jsonStructurePrompt.cjs +42 -6
- package/model-function/generate-structure/jsonStructurePrompt.d.ts +12 -1
- package/model-function/generate-structure/jsonStructurePrompt.js +42 -5
- package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +2 -1
- package/model-function/generate-text/PromptTemplateTextGenerationModel.js +1 -1
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.cjs +1 -1
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.d.ts +1 -1
- package/model-function/generate-text/prompt-template/Llama2PromptTemplate.js +1 -1
- package/model-function/index.cjs +0 -1
- package/model-function/index.d.ts +0 -1
- package/model-function/index.js +0 -1
- package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +3 -3
- package/model-provider/cohere/CohereTextGenerationModel.d.ts +6 -6
- package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +23 -23
- package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +13 -13
- package/model-provider/ollama/OllamaChatModel.d.ts +9 -8
- package/model-provider/ollama/OllamaChatModel.js +1 -1
- package/model-provider/ollama/OllamaCompletionModel.d.ts +2 -1
- package/model-provider/ollama/OllamaCompletionModel.js +1 -1
- package/model-provider/ollama/OllamaCompletionModel.test.cjs +1 -7
- package/model-provider/ollama/OllamaCompletionModel.test.js +1 -7
- package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +12 -12
- package/model-provider/openai/OpenAITranscriptionModel.d.ts +11 -11
- package/model-provider/openai/index.cjs +0 -1
- package/model-provider/openai/index.d.ts +0 -1
- package/model-provider/openai/index.js +0 -1
- package/model-provider/stability/StabilityImageGenerationModel.d.ts +5 -5
- package/package.json +9 -20
- package/tool/generate-tool-call/TextGenerationToolCallModel.cjs +1 -1
- package/tool/generate-tool-call/TextGenerationToolCallModel.d.ts +1 -1
- package/tool/generate-tool-call/TextGenerationToolCallModel.js +1 -1
- package/tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts +1 -11
- package/tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts +12 -0
- package/tool/generate-tool-calls-or-text/index.cjs +1 -0
- package/tool/generate-tool-calls-or-text/index.d.ts +1 -0
- package/tool/generate-tool-calls-or-text/index.js +1 -0
- package/util/index.cjs +0 -1
- package/util/index.d.ts +0 -1
- package/util/index.js +0 -1
- package/browser/MediaSourceAppender.cjs +0 -54
- package/browser/MediaSourceAppender.d.ts +0 -11
- package/browser/MediaSourceAppender.js +0 -50
- package/browser/convertAudioChunksToBase64.cjs +0 -8
- package/browser/convertAudioChunksToBase64.d.ts +0 -4
- package/browser/convertAudioChunksToBase64.js +0 -4
- package/browser/convertBlobToBase64.cjs +0 -23
- package/browser/convertBlobToBase64.d.ts +0 -1
- package/browser/convertBlobToBase64.js +0 -19
- package/browser/index.cjs +0 -22
- package/browser/index.d.ts +0 -6
- package/browser/index.js +0 -6
- package/browser/invokeFlow.cjs +0 -23
- package/browser/invokeFlow.d.ts +0 -8
- package/browser/invokeFlow.js +0 -19
- package/browser/readEventSource.cjs +0 -29
- package/browser/readEventSource.d.ts +0 -9
- package/browser/readEventSource.js +0 -25
- package/browser/readEventSourceStream.cjs +0 -35
- package/browser/readEventSourceStream.d.ts +0 -7
- package/browser/readEventSourceStream.js +0 -31
- package/composed-function/index.cjs +0 -19
- package/composed-function/index.d.ts +0 -3
- package/composed-function/index.js +0 -3
- package/composed-function/summarize/SummarizationFunction.d.ts +0 -4
- package/composed-function/summarize/summarizeRecursively.cjs +0 -19
- package/composed-function/summarize/summarizeRecursively.d.ts +0 -11
- package/composed-function/summarize/summarizeRecursively.js +0 -15
- package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.cjs +0 -25
- package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.d.ts +0 -24
- package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.js +0 -21
- package/cost/Cost.cjs +0 -38
- package/cost/Cost.d.ts +0 -16
- package/cost/Cost.js +0 -34
- package/cost/CostCalculator.d.ts +0 -8
- package/cost/calculateCost.cjs +0 -28
- package/cost/calculateCost.d.ts +0 -7
- package/cost/calculateCost.js +0 -24
- package/cost/index.cjs +0 -19
- package/cost/index.d.ts +0 -3
- package/cost/index.js +0 -3
- package/guard/GuardEvent.cjs +0 -2
- package/guard/GuardEvent.d.ts +0 -7
- package/guard/GuardEvent.js +0 -1
- package/guard/fixStructure.cjs +0 -75
- package/guard/fixStructure.d.ts +0 -64
- package/guard/fixStructure.js +0 -71
- package/guard/guard.cjs +0 -79
- package/guard/guard.d.ts +0 -29
- package/guard/guard.js +0 -75
- package/guard/index.cjs +0 -19
- package/guard/index.d.ts +0 -3
- package/guard/index.js +0 -3
- package/model-function/SuccessfulModelCall.cjs +0 -10
- package/model-function/SuccessfulModelCall.d.ts +0 -12
- package/model-function/SuccessfulModelCall.js +0 -6
- package/model-provider/openai/OpenAICostCalculator.cjs +0 -89
- package/model-provider/openai/OpenAICostCalculator.d.ts +0 -6
- package/model-provider/openai/OpenAICostCalculator.js +0 -85
- package/server/fastify/AssetStorage.cjs +0 -2
- package/server/fastify/AssetStorage.d.ts +0 -17
- package/server/fastify/AssetStorage.js +0 -1
- package/server/fastify/DefaultFlow.cjs +0 -22
- package/server/fastify/DefaultFlow.d.ts +0 -16
- package/server/fastify/DefaultFlow.js +0 -18
- package/server/fastify/FileSystemAssetStorage.cjs +0 -60
- package/server/fastify/FileSystemAssetStorage.d.ts +0 -19
- package/server/fastify/FileSystemAssetStorage.js +0 -56
- package/server/fastify/FileSystemLogger.cjs +0 -49
- package/server/fastify/FileSystemLogger.d.ts +0 -18
- package/server/fastify/FileSystemLogger.js +0 -45
- package/server/fastify/Flow.cjs +0 -2
- package/server/fastify/Flow.d.ts +0 -9
- package/server/fastify/Flow.js +0 -1
- package/server/fastify/FlowRun.cjs +0 -71
- package/server/fastify/FlowRun.d.ts +0 -28
- package/server/fastify/FlowRun.js +0 -67
- package/server/fastify/FlowSchema.cjs +0 -2
- package/server/fastify/FlowSchema.d.ts +0 -5
- package/server/fastify/FlowSchema.js +0 -1
- package/server/fastify/Logger.cjs +0 -2
- package/server/fastify/Logger.d.ts +0 -13
- package/server/fastify/Logger.js +0 -1
- package/server/fastify/PathProvider.cjs +0 -34
- package/server/fastify/PathProvider.d.ts +0 -12
- package/server/fastify/PathProvider.js +0 -30
- package/server/fastify/index.cjs +0 -24
- package/server/fastify/index.d.ts +0 -8
- package/server/fastify/index.js +0 -8
- package/server/fastify/modelFusionFlowPlugin.cjs +0 -103
- package/server/fastify/modelFusionFlowPlugin.d.ts +0 -12
- package/server/fastify/modelFusionFlowPlugin.js +0 -99
- package/util/getAudioFileExtension.cjs +0 -29
- package/util/getAudioFileExtension.d.ts +0 -1
- package/util/getAudioFileExtension.js +0 -25
- /package/{composed-function/summarize/SummarizationFunction.cjs → core/ExtensionFunctionEvent.cjs} +0 -0
- /package/{composed-function/summarize/SummarizationFunction.js → core/ExtensionFunctionEvent.js} +0 -0
- /package/{cost/CostCalculator.cjs → tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs} +0 -0
- /package/{cost/CostCalculator.js → tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js} +0 -0
@@ -58,14 +58,14 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
|
|
58
58
|
countPromptTokens(prompt: LlamaCppTextGenerationPrompt): Promise<number>;
|
59
59
|
doGenerateTexts(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<{
|
60
60
|
response: {
|
61
|
-
stop: true;
|
62
61
|
model: string;
|
63
|
-
|
62
|
+
stop: true;
|
64
63
|
content: string;
|
64
|
+
prompt: string;
|
65
65
|
generation_settings: {
|
66
|
-
stop: string[];
|
67
66
|
model: string;
|
68
67
|
stream: boolean;
|
68
|
+
stop: string[];
|
69
69
|
seed: number;
|
70
70
|
mirostat: number;
|
71
71
|
frequency_penalty: number;
|
@@ -117,14 +117,14 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
|
|
117
117
|
};
|
118
118
|
}>;
|
119
119
|
doStreamText(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<AsyncIterable<Delta<{
|
120
|
-
stop: true;
|
121
120
|
model: string;
|
122
|
-
|
121
|
+
stop: true;
|
123
122
|
content: string;
|
123
|
+
prompt: string;
|
124
124
|
generation_settings: {
|
125
|
-
stop: string[];
|
126
125
|
model: string;
|
127
126
|
stream: boolean;
|
127
|
+
stop: string[];
|
128
128
|
seed: number;
|
129
129
|
mirostat: number;
|
130
130
|
frequency_penalty: number;
|
@@ -208,9 +208,9 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
|
|
208
208
|
top_p: z.ZodNumber;
|
209
209
|
typical_p: z.ZodNumber;
|
210
210
|
}, "strip", z.ZodTypeAny, {
|
211
|
-
stop: string[];
|
212
211
|
model: string;
|
213
212
|
stream: boolean;
|
213
|
+
stop: string[];
|
214
214
|
seed: number;
|
215
215
|
mirostat: number;
|
216
216
|
frequency_penalty: number;
|
@@ -232,9 +232,9 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
|
|
232
232
|
top_p: number;
|
233
233
|
typical_p: number;
|
234
234
|
}, {
|
235
|
-
stop: string[];
|
236
235
|
model: string;
|
237
236
|
stream: boolean;
|
237
|
+
stop: string[];
|
238
238
|
seed: number;
|
239
239
|
mirostat: number;
|
240
240
|
frequency_penalty: number;
|
@@ -295,14 +295,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
|
|
295
295
|
tokens_predicted: z.ZodNumber;
|
296
296
|
truncated: z.ZodBoolean;
|
297
297
|
}, "strip", z.ZodTypeAny, {
|
298
|
-
stop: true;
|
299
298
|
model: string;
|
300
|
-
|
299
|
+
stop: true;
|
301
300
|
content: string;
|
301
|
+
prompt: string;
|
302
302
|
generation_settings: {
|
303
|
-
stop: string[];
|
304
303
|
model: string;
|
305
304
|
stream: boolean;
|
305
|
+
stop: string[];
|
306
306
|
seed: number;
|
307
307
|
mirostat: number;
|
308
308
|
frequency_penalty: number;
|
@@ -343,14 +343,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
|
|
343
343
|
tokens_predicted: number;
|
344
344
|
truncated: boolean;
|
345
345
|
}, {
|
346
|
-
stop: true;
|
347
346
|
model: string;
|
348
|
-
|
347
|
+
stop: true;
|
349
348
|
content: string;
|
349
|
+
prompt: string;
|
350
350
|
generation_settings: {
|
351
|
-
stop: string[];
|
352
351
|
model: string;
|
353
352
|
stream: boolean;
|
353
|
+
stop: string[];
|
354
354
|
seed: number;
|
355
355
|
mirostat: number;
|
356
356
|
frequency_penalty: number;
|
@@ -393,14 +393,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
|
|
393
393
|
}>;
|
394
394
|
export type LlamaCppTextGenerationResponse = z.infer<typeof llamaCppTextGenerationResponseSchema>;
|
395
395
|
declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema.js").ZodSchema<{
|
396
|
-
stop: true;
|
397
396
|
model: string;
|
398
|
-
|
397
|
+
stop: true;
|
399
398
|
content: string;
|
399
|
+
prompt: string;
|
400
400
|
generation_settings: {
|
401
|
-
stop: string[];
|
402
401
|
model: string;
|
403
402
|
stream: boolean;
|
403
|
+
stop: string[];
|
404
404
|
seed: number;
|
405
405
|
mirostat: number;
|
406
406
|
frequency_penalty: number;
|
@@ -456,14 +456,14 @@ export declare const LlamaCppTextGenerationResponseFormat: {
|
|
456
456
|
json: {
|
457
457
|
stream: false;
|
458
458
|
handler: ResponseHandler<{
|
459
|
-
stop: true;
|
460
459
|
model: string;
|
461
|
-
|
460
|
+
stop: true;
|
462
461
|
content: string;
|
462
|
+
prompt: string;
|
463
463
|
generation_settings: {
|
464
|
-
stop: string[];
|
465
464
|
model: string;
|
466
465
|
stream: boolean;
|
466
|
+
stop: string[];
|
467
467
|
seed: number;
|
468
468
|
mirostat: number;
|
469
469
|
frequency_penalty: number;
|
@@ -514,14 +514,14 @@ export declare const LlamaCppTextGenerationResponseFormat: {
|
|
514
514
|
handler: ({ response }: {
|
515
515
|
response: Response;
|
516
516
|
}) => Promise<AsyncIterable<Delta<{
|
517
|
-
stop: true;
|
518
517
|
model: string;
|
519
|
-
|
518
|
+
stop: true;
|
520
519
|
content: string;
|
520
|
+
prompt: string;
|
521
521
|
generation_settings: {
|
522
|
-
stop: string[];
|
523
522
|
model: string;
|
524
523
|
stream: boolean;
|
524
|
+
stop: string[];
|
525
525
|
seed: number;
|
526
526
|
mirostat: number;
|
527
527
|
frequency_penalty: number;
|
@@ -32,16 +32,16 @@ export declare class MistralTextEmbeddingModel extends AbstractModel<MistralText
|
|
32
32
|
doEmbedValues(texts: string[], options?: FunctionOptions): Promise<{
|
33
33
|
response: {
|
34
34
|
object: string;
|
35
|
-
usage: {
|
36
|
-
prompt_tokens: number;
|
37
|
-
total_tokens: number;
|
38
|
-
};
|
39
|
-
model: string;
|
40
35
|
data: {
|
41
36
|
object: string;
|
42
37
|
embedding: number[];
|
43
38
|
index: number;
|
44
39
|
}[];
|
40
|
+
usage: {
|
41
|
+
prompt_tokens: number;
|
42
|
+
total_tokens: number;
|
43
|
+
};
|
44
|
+
model: string;
|
45
45
|
id: string;
|
46
46
|
};
|
47
47
|
embeddings: number[][];
|
@@ -77,29 +77,29 @@ declare const MistralTextEmbeddingResponseSchema: z.ZodObject<{
|
|
77
77
|
}>;
|
78
78
|
}, "strip", z.ZodTypeAny, {
|
79
79
|
object: string;
|
80
|
-
usage: {
|
81
|
-
prompt_tokens: number;
|
82
|
-
total_tokens: number;
|
83
|
-
};
|
84
|
-
model: string;
|
85
80
|
data: {
|
86
81
|
object: string;
|
87
82
|
embedding: number[];
|
88
83
|
index: number;
|
89
84
|
}[];
|
90
|
-
id: string;
|
91
|
-
}, {
|
92
|
-
object: string;
|
93
85
|
usage: {
|
94
86
|
prompt_tokens: number;
|
95
87
|
total_tokens: number;
|
96
88
|
};
|
97
89
|
model: string;
|
90
|
+
id: string;
|
91
|
+
}, {
|
92
|
+
object: string;
|
98
93
|
data: {
|
99
94
|
object: string;
|
100
95
|
embedding: number[];
|
101
96
|
index: number;
|
102
97
|
}[];
|
98
|
+
usage: {
|
99
|
+
prompt_tokens: number;
|
100
|
+
total_tokens: number;
|
101
|
+
};
|
102
|
+
model: string;
|
103
103
|
id: string;
|
104
104
|
}>;
|
105
105
|
export type MistralTextEmbeddingResponse = z.infer<typeof MistralTextEmbeddingResponseSchema>;
|
@@ -8,7 +8,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
|
|
8
8
|
import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
|
9
9
|
import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
|
10
10
|
import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
|
11
|
-
import { TextGenerationToolCallsOrGenerateTextModel
|
11
|
+
import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
|
12
|
+
import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
|
12
13
|
import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
|
13
14
|
export type OllamaChatMessage = {
|
14
15
|
role: "system" | "user" | "assistant";
|
@@ -38,11 +39,11 @@ export declare class OllamaChatModel extends AbstractModel<OllamaChatModelSettin
|
|
38
39
|
get settingsForEvent(): Partial<OllamaChatModelSettings>;
|
39
40
|
doGenerateTexts(prompt: OllamaChatPrompt, options?: FunctionOptions): Promise<{
|
40
41
|
response: {
|
41
|
-
model: string;
|
42
42
|
message: {
|
43
43
|
role: string;
|
44
44
|
content: string;
|
45
45
|
};
|
46
|
+
model: string;
|
46
47
|
done: true;
|
47
48
|
created_at: string;
|
48
49
|
total_duration: number;
|
@@ -58,11 +59,11 @@ export declare class OllamaChatModel extends AbstractModel<OllamaChatModelSettin
|
|
58
59
|
}[];
|
59
60
|
}>;
|
60
61
|
doStreamText(prompt: OllamaChatPrompt, options?: FunctionOptions): Promise<AsyncIterable<import("../../index.js").Delta<{
|
61
|
-
model: string;
|
62
62
|
message: {
|
63
63
|
role: string;
|
64
64
|
content: string;
|
65
65
|
};
|
66
|
+
model: string;
|
66
67
|
done: false;
|
67
68
|
created_at: string;
|
68
69
|
} | {
|
@@ -115,11 +116,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
|
|
115
116
|
eval_count: z.ZodNumber;
|
116
117
|
eval_duration: z.ZodNumber;
|
117
118
|
}, "strip", z.ZodTypeAny, {
|
118
|
-
model: string;
|
119
119
|
message: {
|
120
120
|
role: string;
|
121
121
|
content: string;
|
122
122
|
};
|
123
|
+
model: string;
|
123
124
|
done: true;
|
124
125
|
created_at: string;
|
125
126
|
total_duration: number;
|
@@ -129,11 +130,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
|
|
129
130
|
load_duration?: number | undefined;
|
130
131
|
prompt_eval_duration?: number | undefined;
|
131
132
|
}, {
|
132
|
-
model: string;
|
133
133
|
message: {
|
134
134
|
role: string;
|
135
135
|
content: string;
|
136
136
|
};
|
137
|
+
model: string;
|
137
138
|
done: true;
|
138
139
|
created_at: string;
|
139
140
|
total_duration: number;
|
@@ -145,11 +146,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
|
|
145
146
|
}>;
|
146
147
|
export type OllamaChatResponse = z.infer<typeof ollamaChatResponseSchema>;
|
147
148
|
declare const ollamaChatStreamChunkSchema: ZodSchema<{
|
148
|
-
model: string;
|
149
149
|
message: {
|
150
150
|
role: string;
|
151
151
|
content: string;
|
152
152
|
};
|
153
|
+
model: string;
|
153
154
|
done: false;
|
154
155
|
created_at: string;
|
155
156
|
} | {
|
@@ -179,11 +180,11 @@ export declare const OllamaChatResponseFormat: {
|
|
179
180
|
requestBodyValues: unknown;
|
180
181
|
response: Response;
|
181
182
|
}) => Promise<{
|
182
|
-
model: string;
|
183
183
|
message: {
|
184
184
|
role: string;
|
185
185
|
content: string;
|
186
186
|
};
|
187
|
+
model: string;
|
187
188
|
done: true;
|
188
189
|
created_at: string;
|
189
190
|
total_duration: number;
|
@@ -203,11 +204,11 @@ export declare const OllamaChatResponseFormat: {
|
|
203
204
|
handler: ({ response }: {
|
204
205
|
response: Response;
|
205
206
|
}) => Promise<AsyncIterable<import("../../index.js").Delta<{
|
206
|
-
model: string;
|
207
207
|
message: {
|
208
208
|
role: string;
|
209
209
|
content: string;
|
210
210
|
};
|
211
|
+
model: string;
|
211
212
|
done: false;
|
212
213
|
created_at: string;
|
213
214
|
} | {
|
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
|
|
8
8
|
import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
|
9
9
|
import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
|
10
10
|
import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
|
11
|
-
import { TextGenerationToolCallsOrGenerateTextModel
|
11
|
+
import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
|
12
12
|
import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
|
13
13
|
import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
|
14
14
|
import { chat, instruction, text } from "./OllamaChatPromptTemplate.js";
|
@@ -8,7 +8,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
|
|
8
8
|
import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
|
9
9
|
import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
|
10
10
|
import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
|
11
|
-
import { TextGenerationToolCallsOrGenerateTextModel
|
11
|
+
import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
|
12
|
+
import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
|
12
13
|
import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
|
13
14
|
export interface OllamaCompletionPrompt {
|
14
15
|
/**
|
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
|
|
8
8
|
import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
|
9
9
|
import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
|
10
10
|
import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
|
11
|
-
import { TextGenerationToolCallsOrGenerateTextModel
|
11
|
+
import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
|
12
12
|
import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
|
13
13
|
import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
|
14
14
|
import { failedOllamaCallResponseHandler } from "./OllamaError.js";
|
@@ -132,13 +132,7 @@ describe("streamStructure", () => {
|
|
132
132
|
raw: true,
|
133
133
|
})
|
134
134
|
.withTextPromptTemplate(TextPrompt.instruction())
|
135
|
-
.asStructureGenerationModel((0,
|
136
|
-
system: "JSON schema: \n" +
|
137
|
-
JSON.stringify(schema.getJsonSchema()) +
|
138
|
-
"\n\n" +
|
139
|
-
"Respond only using JSON that matches the above schema.",
|
140
|
-
instruction,
|
141
|
-
}))), (0, ZodSchema_js_1.zodSchema)(zod_1.z.object({ name: zod_1.z.string() })), "generate a name");
|
135
|
+
.asStructureGenerationModel(jsonStructurePrompt_js_1.jsonStructurePrompt.text()), (0, ZodSchema_js_1.zodSchema)(zod_1.z.object({ name: zod_1.z.string() })), "generate a name");
|
142
136
|
// note: space moved to last chunk bc of trimming
|
143
137
|
expect(await (0, arrayFromAsync_js_1.arrayFromAsync)(stream)).toStrictEqual([
|
144
138
|
{ isComplete: false, value: {} },
|
@@ -107,13 +107,7 @@ describe("streamStructure", () => {
|
|
107
107
|
raw: true,
|
108
108
|
})
|
109
109
|
.withTextPromptTemplate(TextPrompt.instruction())
|
110
|
-
.asStructureGenerationModel(jsonStructurePrompt(
|
111
|
-
system: "JSON schema: \n" +
|
112
|
-
JSON.stringify(schema.getJsonSchema()) +
|
113
|
-
"\n\n" +
|
114
|
-
"Respond only using JSON that matches the above schema.",
|
115
|
-
instruction,
|
116
|
-
}))), zodSchema(z.object({ name: z.string() })), "generate a name");
|
110
|
+
.asStructureGenerationModel(jsonStructurePrompt.text()), zodSchema(z.object({ name: z.string() })), "generate a name");
|
117
111
|
// note: space moved to last chunk bc of trimming
|
118
112
|
expect(await arrayFromAsync(stream)).toStrictEqual([
|
119
113
|
{ isComplete: false, value: {} },
|
@@ -52,16 +52,16 @@ export declare class OpenAITextEmbeddingModel extends AbstractModel<OpenAITextEm
|
|
52
52
|
doEmbedValues(texts: string[], options?: FunctionOptions): Promise<{
|
53
53
|
response: {
|
54
54
|
object: "list";
|
55
|
-
usage: {
|
56
|
-
prompt_tokens: number;
|
57
|
-
total_tokens: number;
|
58
|
-
};
|
59
|
-
model: string;
|
60
55
|
data: {
|
61
56
|
object: "embedding";
|
62
57
|
embedding: number[];
|
63
58
|
index: number;
|
64
59
|
}[];
|
60
|
+
usage: {
|
61
|
+
prompt_tokens: number;
|
62
|
+
total_tokens: number;
|
63
|
+
};
|
64
|
+
model: string;
|
65
65
|
};
|
66
66
|
embeddings: number[][];
|
67
67
|
}>;
|
@@ -95,28 +95,28 @@ declare const openAITextEmbeddingResponseSchema: z.ZodObject<{
|
|
95
95
|
}>;
|
96
96
|
}, "strip", z.ZodTypeAny, {
|
97
97
|
object: "list";
|
98
|
-
usage: {
|
99
|
-
prompt_tokens: number;
|
100
|
-
total_tokens: number;
|
101
|
-
};
|
102
|
-
model: string;
|
103
98
|
data: {
|
104
99
|
object: "embedding";
|
105
100
|
embedding: number[];
|
106
101
|
index: number;
|
107
102
|
}[];
|
108
|
-
}, {
|
109
|
-
object: "list";
|
110
103
|
usage: {
|
111
104
|
prompt_tokens: number;
|
112
105
|
total_tokens: number;
|
113
106
|
};
|
114
107
|
model: string;
|
108
|
+
}, {
|
109
|
+
object: "list";
|
115
110
|
data: {
|
116
111
|
object: "embedding";
|
117
112
|
embedding: number[];
|
118
113
|
index: number;
|
119
114
|
}[];
|
115
|
+
usage: {
|
116
|
+
prompt_tokens: number;
|
117
|
+
total_tokens: number;
|
118
|
+
};
|
119
|
+
model: string;
|
120
120
|
}>;
|
121
121
|
export type OpenAITextEmbeddingResponse = z.infer<typeof openAITextEmbeddingResponseSchema>;
|
122
122
|
export {};
|
@@ -64,6 +64,9 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
|
|
64
64
|
doTranscribe(data: OpenAITranscriptionInput, options?: FunctionOptions): Promise<{
|
65
65
|
response: {
|
66
66
|
text: string;
|
67
|
+
task: "transcribe";
|
68
|
+
language: string;
|
69
|
+
duration: number;
|
67
70
|
segments: {
|
68
71
|
text: string;
|
69
72
|
id: number;
|
@@ -77,9 +80,6 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
|
|
77
80
|
no_speech_prob: number;
|
78
81
|
transient?: boolean | undefined;
|
79
82
|
}[];
|
80
|
-
task: "transcribe";
|
81
|
-
language: string;
|
82
|
-
duration: number;
|
83
83
|
};
|
84
84
|
transcription: string;
|
85
85
|
}>;
|
@@ -141,6 +141,9 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
141
141
|
text: z.ZodString;
|
142
142
|
}, "strip", z.ZodTypeAny, {
|
143
143
|
text: string;
|
144
|
+
task: "transcribe";
|
145
|
+
language: string;
|
146
|
+
duration: number;
|
144
147
|
segments: {
|
145
148
|
text: string;
|
146
149
|
id: number;
|
@@ -154,11 +157,11 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
154
157
|
no_speech_prob: number;
|
155
158
|
transient?: boolean | undefined;
|
156
159
|
}[];
|
160
|
+
}, {
|
161
|
+
text: string;
|
157
162
|
task: "transcribe";
|
158
163
|
language: string;
|
159
164
|
duration: number;
|
160
|
-
}, {
|
161
|
-
text: string;
|
162
165
|
segments: {
|
163
166
|
text: string;
|
164
167
|
id: number;
|
@@ -172,9 +175,6 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
|
|
172
175
|
no_speech_prob: number;
|
173
176
|
transient?: boolean | undefined;
|
174
177
|
}[];
|
175
|
-
task: "transcribe";
|
176
|
-
language: string;
|
177
|
-
duration: number;
|
178
178
|
}>;
|
179
179
|
export type OpenAITranscriptionVerboseJsonResponse = z.infer<typeof openAITranscriptionVerboseJsonSchema>;
|
180
180
|
export type OpenAITranscriptionResponseFormatType<T> = {
|
@@ -192,6 +192,9 @@ export declare const OpenAITranscriptionResponseFormat: {
|
|
192
192
|
type: "verbose_json";
|
193
193
|
handler: ResponseHandler<{
|
194
194
|
text: string;
|
195
|
+
task: "transcribe";
|
196
|
+
language: string;
|
197
|
+
duration: number;
|
195
198
|
segments: {
|
196
199
|
text: string;
|
197
200
|
id: number;
|
@@ -205,9 +208,6 @@ export declare const OpenAITranscriptionResponseFormat: {
|
|
205
208
|
no_speech_prob: number;
|
206
209
|
transient?: boolean | undefined;
|
207
210
|
}[];
|
208
|
-
task: "transcribe";
|
209
|
-
language: string;
|
210
|
-
duration: number;
|
211
211
|
}>;
|
212
212
|
};
|
213
213
|
text: {
|
@@ -34,7 +34,6 @@ __exportStar(require("./OpenAIChatMessage.cjs"), exports);
|
|
34
34
|
__exportStar(require("./OpenAIChatModel.cjs"), exports);
|
35
35
|
exports.OpenAIChatPrompt = __importStar(require("./OpenAIChatPromptTemplate.cjs"));
|
36
36
|
__exportStar(require("./OpenAICompletionModel.cjs"), exports);
|
37
|
-
__exportStar(require("./OpenAICostCalculator.cjs"), exports);
|
38
37
|
exports.openai = __importStar(require("./OpenAIFacade.cjs"));
|
39
38
|
__exportStar(require("./OpenAIImageGenerationModel.cjs"), exports);
|
40
39
|
__exportStar(require("./OpenAISpeechModel.cjs"), exports);
|
@@ -5,7 +5,6 @@ export * from "./OpenAIChatMessage.js";
|
|
5
5
|
export * from "./OpenAIChatModel.js";
|
6
6
|
export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
|
7
7
|
export * from "./OpenAICompletionModel.js";
|
8
|
-
export * from "./OpenAICostCalculator.js";
|
9
8
|
export { OpenAIErrorData } from "./OpenAIError.js";
|
10
9
|
export * as openai from "./OpenAIFacade.js";
|
11
10
|
export * from "./OpenAIImageGenerationModel.js";
|
@@ -5,7 +5,6 @@ export * from "./OpenAIChatMessage.js";
|
|
5
5
|
export * from "./OpenAIChatModel.js";
|
6
6
|
export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
|
7
7
|
export * from "./OpenAICompletionModel.js";
|
8
|
-
export * from "./OpenAICostCalculator.js";
|
9
8
|
export * as openai from "./OpenAIFacade.js";
|
10
9
|
export * from "./OpenAIImageGenerationModel.js";
|
11
10
|
export * from "./OpenAISpeechModel.js";
|
@@ -69,8 +69,8 @@ export declare class StabilityImageGenerationModel extends AbstractModel<Stabili
|
|
69
69
|
doGenerateImages(prompt: StabilityImageGenerationPrompt, options?: FunctionOptions): Promise<{
|
70
70
|
response: {
|
71
71
|
artifacts: {
|
72
|
-
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
73
72
|
base64: string;
|
73
|
+
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
74
74
|
seed: number;
|
75
75
|
}[];
|
76
76
|
};
|
@@ -86,24 +86,24 @@ declare const stabilityImageGenerationResponseSchema: z.ZodObject<{
|
|
86
86
|
seed: z.ZodNumber;
|
87
87
|
finishReason: z.ZodEnum<["SUCCESS", "ERROR", "CONTENT_FILTERED"]>;
|
88
88
|
}, "strip", z.ZodTypeAny, {
|
89
|
-
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
90
89
|
base64: string;
|
90
|
+
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
91
91
|
seed: number;
|
92
92
|
}, {
|
93
|
-
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
94
93
|
base64: string;
|
94
|
+
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
95
95
|
seed: number;
|
96
96
|
}>, "many">;
|
97
97
|
}, "strip", z.ZodTypeAny, {
|
98
98
|
artifacts: {
|
99
|
-
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
100
99
|
base64: string;
|
100
|
+
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
101
101
|
seed: number;
|
102
102
|
}[];
|
103
103
|
}, {
|
104
104
|
artifacts: {
|
105
|
-
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
106
105
|
base64: string;
|
106
|
+
finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
|
107
107
|
seed: number;
|
108
108
|
}[];
|
109
109
|
}>;
|
package/package.json
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"name": "modelfusion",
|
3
3
|
"description": "The TypeScript library for building multi-modal AI applications.",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.106.0",
|
5
5
|
"author": "Lars Grammel",
|
6
6
|
"license": "MIT",
|
7
7
|
"keywords": [
|
8
|
+
"ai",
|
8
9
|
"llm",
|
10
|
+
"multimodal",
|
9
11
|
"embedding",
|
10
12
|
"openai",
|
11
|
-
"huggingface",
|
12
|
-
"gpt-3",
|
13
13
|
"gpt-4",
|
14
|
-
"
|
15
|
-
"
|
16
|
-
"
|
17
|
-
"multimodal"
|
14
|
+
"ollama",
|
15
|
+
"llamacpp",
|
16
|
+
"whisper"
|
18
17
|
],
|
19
18
|
"homepage": "https://modelfusion.dev/",
|
20
19
|
"repository": {
|
@@ -47,21 +46,12 @@
|
|
47
46
|
"types": "./extension/index.d.ts",
|
48
47
|
"import": "./extension/index.js",
|
49
48
|
"require": "./extension/index.cjs"
|
50
|
-
},
|
51
|
-
"./browser": {
|
52
|
-
"types": "./browser/index.d.ts",
|
53
|
-
"import": "./browser/index.js",
|
54
|
-
"require": "./browser/index.cjs"
|
55
|
-
},
|
56
|
-
"./fastify-server": {
|
57
|
-
"types": "./server/fastify/index.d.ts",
|
58
|
-
"import": "./server/fastify/index.js",
|
59
|
-
"require": "./server/fastify/index.cjs"
|
60
49
|
}
|
61
50
|
},
|
62
51
|
"scripts": {
|
63
52
|
"lint": "eslint --ext .ts src",
|
64
53
|
"clean": "rimraf build dist .turbo node_modules",
|
54
|
+
"clean:build": "rimraf build dist",
|
65
55
|
"build": "pnpm build:esm && pnpm build:cjs && pnpm build:copy-files",
|
66
56
|
"build:esm": "tsc --outDir dist/",
|
67
57
|
"build:cjs": "tsc --outDir build/cjs/ -p tsconfig.cjs.json && node bin/prepare-cjs.js",
|
@@ -70,7 +60,7 @@
|
|
70
60
|
"test:watch": "vitest watch --config vitest.config.js",
|
71
61
|
"test:coverage": "vitest run --config vitest.config.js --coverage",
|
72
62
|
"test:coverage:ui": "vitest --config vitest.config.js --coverage --ui",
|
73
|
-
"dist": "pnpm clean && pnpm lint && pnpm test && pnpm build"
|
63
|
+
"dist": "pnpm clean:build && pnpm lint && pnpm test && pnpm build"
|
74
64
|
},
|
75
65
|
"dependencies": {
|
76
66
|
"eventsource-parser": "1.1.1",
|
@@ -90,7 +80,6 @@
|
|
90
80
|
"@vitest/ui": "1.1.0",
|
91
81
|
"eslint": "^8.45.0",
|
92
82
|
"eslint-config-prettier": "9.1.0",
|
93
|
-
"
|
94
|
-
"msw": "2.0.10"
|
83
|
+
"msw": "2.0.11"
|
95
84
|
}
|
96
85
|
}
|
@@ -4,7 +4,7 @@ import { ToolDefinition } from "../ToolDefinition.js";
|
|
4
4
|
import { ToolCallGenerationModel } from "./ToolCallGenerationModel.js";
|
5
5
|
export interface ToolCallPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT> {
|
6
6
|
createPrompt: (prompt: SOURCE_PROMPT, tool: ToolDefinition<string, unknown>) => TARGET_PROMPT;
|
7
|
-
extractToolCall: (response: string) => {
|
7
|
+
extractToolCall: (response: string, tool: ToolDefinition<string, unknown>) => {
|
8
8
|
id: string;
|
9
9
|
args: unknown;
|
10
10
|
} | null;
|