modelfusion 0.98.0 → 0.100.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 (93) hide show
  1. package/README.md +13 -19
  2. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.cjs +1 -1
  3. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.js +1 -1
  4. package/guard/fixStructure.cjs +3 -3
  5. package/guard/fixStructure.d.ts +3 -3
  6. package/guard/fixStructure.js +3 -3
  7. package/model-function/Model.d.ts +2 -2
  8. package/model-function/generate-structure/generateStructure.d.ts +2 -2
  9. package/model-function/generate-structure/streamStructure.d.ts +1 -1
  10. package/model-function/generate-text/PromptTemplateTextGenerationModel.cjs +2 -2
  11. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +2 -2
  12. package/model-function/generate-text/PromptTemplateTextGenerationModel.js +2 -2
  13. package/model-function/generate-text/TextGenerationModel.d.ts +31 -5
  14. package/model-function/generate-text/generateText.cjs +10 -4
  15. package/model-function/generate-text/generateText.d.ts +1 -0
  16. package/model-function/generate-text/generateText.js +10 -4
  17. package/model-function/generate-text/prompt-template/trimChatPrompt.cjs +1 -1
  18. package/model-function/generate-text/prompt-template/trimChatPrompt.js +1 -1
  19. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +27 -31
  20. package/model-provider/anthropic/AnthropicTextGenerationModel.d.ts +2 -2
  21. package/model-provider/anthropic/AnthropicTextGenerationModel.js +27 -31
  22. package/model-provider/cohere/CohereFacade.cjs +1 -1
  23. package/model-provider/cohere/CohereFacade.d.ts +1 -1
  24. package/model-provider/cohere/CohereFacade.js +1 -1
  25. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +3 -3
  26. package/model-provider/cohere/CohereTextGenerationModel.cjs +34 -43
  27. package/model-provider/cohere/CohereTextGenerationModel.d.ts +3 -4
  28. package/model-provider/cohere/CohereTextGenerationModel.js +34 -43
  29. package/model-provider/huggingface/HuggingFaceFacade.cjs +1 -1
  30. package/model-provider/huggingface/HuggingFaceFacade.d.ts +1 -1
  31. package/model-provider/huggingface/HuggingFaceFacade.js +1 -1
  32. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +31 -41
  33. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +3 -4
  34. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +31 -41
  35. package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +4 -4
  36. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +2 -2
  37. package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +4 -4
  38. package/model-provider/mistral/{MistralTextGenerationModel.cjs → MistralChatModel.cjs} +18 -18
  39. package/model-provider/mistral/{MistralTextGenerationModel.d.ts → MistralChatModel.d.ts} +22 -21
  40. package/model-provider/mistral/{MistralTextGenerationModel.js → MistralChatModel.js} +16 -16
  41. package/model-provider/mistral/MistralFacade.cjs +5 -5
  42. package/model-provider/mistral/MistralFacade.d.ts +3 -2
  43. package/model-provider/mistral/MistralFacade.js +3 -3
  44. package/model-provider/mistral/MistralPromptTemplate.d.ts +4 -4
  45. package/model-provider/mistral/index.cjs +1 -1
  46. package/model-provider/mistral/index.d.ts +1 -1
  47. package/model-provider/mistral/index.js +1 -1
  48. package/model-provider/ollama/OllamaApiConfiguration.d.ts +6 -5
  49. package/model-provider/ollama/OllamaChatModel.cjs +303 -0
  50. package/model-provider/ollama/OllamaChatModel.d.ts +171 -0
  51. package/model-provider/ollama/OllamaChatModel.js +299 -0
  52. package/model-provider/ollama/OllamaChatPromptTemplate.cjs +76 -0
  53. package/model-provider/ollama/OllamaChatPromptTemplate.d.ts +20 -0
  54. package/model-provider/ollama/OllamaChatPromptTemplate.js +69 -0
  55. package/model-provider/ollama/{OllamaTextGenerationModel.cjs → OllamaCompletionModel.cjs} +17 -15
  56. package/model-provider/ollama/OllamaCompletionModel.d.ts +159 -0
  57. package/model-provider/ollama/{OllamaTextGenerationModel.js → OllamaCompletionModel.js} +15 -13
  58. package/model-provider/ollama/{OllamaTextGenerationModel.test.cjs → OllamaCompletionModel.test.cjs} +3 -3
  59. package/model-provider/ollama/{OllamaTextGenerationModel.test.js → OllamaCompletionModel.test.js} +3 -3
  60. package/model-provider/ollama/OllamaFacade.cjs +15 -5
  61. package/model-provider/ollama/OllamaFacade.d.ts +7 -2
  62. package/model-provider/ollama/OllamaFacade.js +11 -3
  63. package/model-provider/ollama/OllamaTextGenerationSettings.cjs +2 -0
  64. package/model-provider/ollama/OllamaTextGenerationSettings.d.ts +87 -0
  65. package/model-provider/ollama/OllamaTextGenerationSettings.js +1 -0
  66. package/model-provider/ollama/index.cjs +4 -1
  67. package/model-provider/ollama/index.d.ts +4 -1
  68. package/model-provider/ollama/index.js +4 -1
  69. package/model-provider/openai/OpenAICompletionModel.cjs +48 -53
  70. package/model-provider/openai/OpenAICompletionModel.d.ts +3 -6
  71. package/model-provider/openai/OpenAICompletionModel.js +48 -53
  72. package/model-provider/openai/OpenAIFacade.cjs +6 -4
  73. package/model-provider/openai/OpenAIFacade.d.ts +5 -3
  74. package/model-provider/openai/OpenAIFacade.js +4 -3
  75. package/model-provider/openai/chat/AbstractOpenAIChatModel.cjs +50 -54
  76. package/model-provider/openai/chat/AbstractOpenAIChatModel.d.ts +7 -28
  77. package/model-provider/openai/chat/AbstractOpenAIChatModel.js +50 -54
  78. package/model-provider/openai/chat/OpenAIChatFunctionCallStructureGenerationModel.d.ts +3 -3
  79. package/model-provider/openai/chat/OpenAIChatModel.cjs +4 -4
  80. package/model-provider/openai/chat/OpenAIChatModel.d.ts +3 -3
  81. package/model-provider/openai/chat/OpenAIChatModel.js +4 -4
  82. package/model-provider/openai/chat/OpenAIChatModel.test.cjs +1 -1
  83. package/model-provider/openai/chat/OpenAIChatModel.test.js +1 -1
  84. package/model-provider/openai/chat/OpenAIChatPromptTemplate.d.ts +5 -5
  85. package/model-provider/openai/chat/OpenAIChatPromptTemplate.js +1 -1
  86. package/model-provider/openai-compatible/OpenAICompatibleChatModel.cjs +2 -2
  87. package/model-provider/openai-compatible/OpenAICompatibleChatModel.js +2 -2
  88. package/model-provider/openai-compatible/OpenAICompatibleFacade.cjs +2 -2
  89. package/model-provider/openai-compatible/OpenAICompatibleFacade.d.ts +2 -2
  90. package/model-provider/openai-compatible/OpenAICompatibleFacade.js +2 -2
  91. package/package.json +1 -1
  92. package/model-provider/ollama/OllamaTextGenerationModel.d.ts +0 -230
  93. /package/model-provider/ollama/{OllamaTextGenerationModel.test.d.ts → OllamaCompletionModel.test.d.ts} +0 -0
@@ -144,12 +144,12 @@ exports.calculateOpenAIChatCostInMillicents = calculateOpenAIChatCostInMillicent
144
144
  * const model = new OpenAIChatModel({
145
145
  * model: "gpt-3.5-turbo",
146
146
  * temperature: 0.7,
147
- * maxCompletionTokens: 500,
147
+ * maxGenerationTokens: 500,
148
148
  * });
149
149
  *
150
150
  * const text = await generateText([
151
151
  * model,
152
- * OpenAIChatMessage.system(
152
+ * openai.ChatMessage.system(
153
153
  * "Write a short story about a robot learning to love:"
154
154
  * ),
155
155
  * ]);
@@ -196,13 +196,13 @@ class OpenAIChatModel extends AbstractOpenAIChatModel_js_1.AbstractOpenAIChatMod
196
196
  }
197
197
  get settingsForEvent() {
198
198
  const eventSettingProperties = [
199
+ "maxGenerationTokens",
199
200
  "stopSequences",
200
- "maxCompletionTokens",
201
+ "numberOfGenerations",
201
202
  "functions",
202
203
  "functionCall",
203
204
  "temperature",
204
205
  "topP",
205
- "n",
206
206
  "presencePenalty",
207
207
  "frequencyPenalty",
208
208
  "logitBias",
@@ -117,12 +117,12 @@ export interface OpenAIChatSettings extends TextGenerationModelSettings, Omit<Op
117
117
  * const model = new OpenAIChatModel({
118
118
  * model: "gpt-3.5-turbo",
119
119
  * temperature: 0.7,
120
- * maxCompletionTokens: 500,
120
+ * maxGenerationTokens: 500,
121
121
  * });
122
122
  *
123
123
  * const text = await generateText([
124
124
  * model,
125
- * OpenAIChatMessage.system(
125
+ * openai.ChatMessage.system(
126
126
  * "Write a short story about a robot learning to love:"
127
127
  * ),
128
128
  * ]);
@@ -142,7 +142,7 @@ export declare class OpenAIChatModel extends AbstractOpenAIChatModel<OpenAIChatS
142
142
  asFunctionCallStructureGenerationModel({ fnName, fnDescription, }: {
143
143
  fnName: string;
144
144
  fnDescription?: string;
145
- }): OpenAIChatFunctionCallStructureGenerationModel<TextGenerationPromptTemplate<import("./OpenAIChatMessage.js").OpenAIChatMessage[], import("./OpenAIChatMessage.js").OpenAIChatMessage[]>>;
145
+ }): OpenAIChatFunctionCallStructureGenerationModel<TextGenerationPromptTemplate<OpenAIChatPrompt, OpenAIChatPrompt>>;
146
146
  asStructureGenerationModel<INPUT_PROMPT>(promptTemplate: StructureFromTextPromptTemplate<INPUT_PROMPT, OpenAIChatPrompt>): StructureFromTextStreamingModel<INPUT_PROMPT, OpenAIChatPrompt, this>;
147
147
  /**
148
148
  * Returns this model with a text prompt template.
@@ -138,12 +138,12 @@ export const calculateOpenAIChatCostInMillicents = ({ model, response, }) => {
138
138
  * const model = new OpenAIChatModel({
139
139
  * model: "gpt-3.5-turbo",
140
140
  * temperature: 0.7,
141
- * maxCompletionTokens: 500,
141
+ * maxGenerationTokens: 500,
142
142
  * });
143
143
  *
144
144
  * const text = await generateText([
145
145
  * model,
146
- * OpenAIChatMessage.system(
146
+ * openai.ChatMessage.system(
147
147
  * "Write a short story about a robot learning to love:"
148
148
  * ),
149
149
  * ]);
@@ -190,13 +190,13 @@ export class OpenAIChatModel extends AbstractOpenAIChatModel {
190
190
  }
191
191
  get settingsForEvent() {
192
192
  const eventSettingProperties = [
193
+ "maxGenerationTokens",
193
194
  "stopSequences",
194
- "maxCompletionTokens",
195
+ "numberOfGenerations",
195
196
  "functions",
196
197
  "functionCall",
197
198
  "temperature",
198
199
  "topP",
199
- "n",
200
200
  "presencePenalty",
201
201
  "frequencyPenalty",
202
202
  "logitBias",
@@ -50,7 +50,7 @@ describe("streamText", () => {
50
50
  const stream = await (0, streamText_js_1.streamText)(new OpenAIChatModel_js_1.OpenAIChatModel({
51
51
  api: new OpenAIApiConfiguration_js_1.OpenAIApiConfiguration({ apiKey: "test" }),
52
52
  model: "gpt-3.5-turbo",
53
- n: 2,
53
+ numberOfGenerations: 2,
54
54
  }).withTextPrompt(), "test prompt");
55
55
  const chunks = [];
56
56
  for await (const part of stream) {
@@ -48,7 +48,7 @@ describe("streamText", () => {
48
48
  const stream = await streamText(new OpenAIChatModel({
49
49
  api: new OpenAIApiConfiguration({ apiKey: "test" }),
50
50
  model: "gpt-3.5-turbo",
51
- n: 2,
51
+ numberOfGenerations: 2,
52
52
  }).withTextPrompt(), "test prompt");
53
53
  const chunks = [];
54
54
  for await (const part of stream) {
@@ -1,20 +1,20 @@
1
1
  import { TextGenerationPromptTemplate } from "../../../model-function/generate-text/TextGenerationPromptTemplate.js";
2
2
  import { MultiModalChatPrompt, TextChatPrompt } from "../../../model-function/generate-text/prompt-template/ChatPrompt.js";
3
3
  import { MultiModalInstructionPrompt, TextInstructionPrompt } from "../../../model-function/generate-text/prompt-template/InstructionPrompt.js";
4
- import { OpenAIChatMessage } from "./OpenAIChatMessage.js";
4
+ import { OpenAIChatPrompt } from "./AbstractOpenAIChatModel.js";
5
5
  /**
6
6
  * OpenAIMessage[] identity chat format.
7
7
  */
8
- export declare function identity(): TextGenerationPromptTemplate<Array<OpenAIChatMessage>, Array<OpenAIChatMessage>>;
8
+ export declare function identity(): TextGenerationPromptTemplate<OpenAIChatPrompt, OpenAIChatPrompt>;
9
9
  /**
10
10
  * Formats a text prompt as an OpenAI chat prompt.
11
11
  */
12
- export declare function text(): TextGenerationPromptTemplate<string, Array<OpenAIChatMessage>>;
12
+ export declare function text(): TextGenerationPromptTemplate<string, OpenAIChatPrompt>;
13
13
  /**
14
14
  * Formats an instruction prompt as an OpenAI chat prompt.
15
15
  */
16
- export declare function instruction(): TextGenerationPromptTemplate<MultiModalInstructionPrompt | TextInstructionPrompt, Array<OpenAIChatMessage>>;
16
+ export declare function instruction(): TextGenerationPromptTemplate<MultiModalInstructionPrompt | TextInstructionPrompt, OpenAIChatPrompt>;
17
17
  /**
18
18
  * Formats a chat prompt as an OpenAI chat prompt.
19
19
  */
20
- export declare function chat(): TextGenerationPromptTemplate<MultiModalChatPrompt | TextChatPrompt, Array<OpenAIChatMessage>>;
20
+ export declare function chat(): TextGenerationPromptTemplate<MultiModalChatPrompt | TextChatPrompt, OpenAIChatPrompt>;
@@ -1,4 +1,4 @@
1
- import { validateChatPrompt } from "../../../model-function/generate-text/prompt-template/ChatPrompt.js";
1
+ import { validateChatPrompt, } from "../../../model-function/generate-text/prompt-template/ChatPrompt.js";
2
2
  import { OpenAIChatMessage } from "./OpenAIChatMessage.js";
3
3
  /**
4
4
  * OpenAIMessage[] identity chat format.
@@ -44,12 +44,12 @@ class OpenAICompatibleChatModel extends AbstractOpenAIChatModel_js_1.AbstractOpe
44
44
  get settingsForEvent() {
45
45
  const eventSettingProperties = [
46
46
  "stopSequences",
47
- "maxCompletionTokens",
47
+ "maxGenerationTokens",
48
+ "numberOfGenerations",
48
49
  "functions",
49
50
  "functionCall",
50
51
  "temperature",
51
52
  "topP",
52
- "n",
53
53
  "presencePenalty",
54
54
  "frequencyPenalty",
55
55
  "logitBias",
@@ -41,12 +41,12 @@ export class OpenAICompatibleChatModel extends AbstractOpenAIChatModel {
41
41
  get settingsForEvent() {
42
42
  const eventSettingProperties = [
43
43
  "stopSequences",
44
- "maxCompletionTokens",
44
+ "maxGenerationTokens",
45
+ "numberOfGenerations",
45
46
  "functions",
46
47
  "functionCall",
47
48
  "temperature",
48
49
  "topP",
49
- "n",
50
50
  "presencePenalty",
51
51
  "frequencyPenalty",
52
52
  "logitBias",
@@ -14,12 +14,12 @@ const OpenAICompatibleChatModel_js_1 = require("./OpenAICompatibleChatModel.cjs"
14
14
  * const model = openaicompatible.ChatTextGenerator({
15
15
  * model: "provider-specific-model-name",
16
16
  * temperature: 0.7,
17
- * maxCompletionTokens: 500,
17
+ * maxGenerationTokens: 500,
18
18
  * });
19
19
  *
20
20
  * const text = await generateText([
21
21
  * model,
22
- * OpenAIChatMessage.system(
22
+ * openai.ChatMessage.system(
23
23
  * "Write a short story about a robot learning to love:"
24
24
  * ),
25
25
  * ]);
@@ -11,12 +11,12 @@ import { OpenAICompatibleChatModel, OpenAICompatibleChatSettings } from "./OpenA
11
11
  * const model = openaicompatible.ChatTextGenerator({
12
12
  * model: "provider-specific-model-name",
13
13
  * temperature: 0.7,
14
- * maxCompletionTokens: 500,
14
+ * maxGenerationTokens: 500,
15
15
  * });
16
16
  *
17
17
  * const text = await generateText([
18
18
  * model,
19
- * OpenAIChatMessage.system(
19
+ * openai.ChatMessage.system(
20
20
  * "Write a short story about a robot learning to love:"
21
21
  * ),
22
22
  * ]);
@@ -11,12 +11,12 @@ import { OpenAICompatibleChatModel, } from "./OpenAICompatibleChatModel.js";
11
11
  * const model = openaicompatible.ChatTextGenerator({
12
12
  * model: "provider-specific-model-name",
13
13
  * temperature: 0.7,
14
- * maxCompletionTokens: 500,
14
+ * maxGenerationTokens: 500,
15
15
  * });
16
16
  *
17
17
  * const text = await generateText([
18
18
  * model,
19
- * OpenAIChatMessage.system(
19
+ * openai.ChatMessage.system(
20
20
  * "Write a short story about a robot learning to love:"
21
21
  * ),
22
22
  * ]);
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.98.0",
4
+ "version": "0.100.0",
5
5
  "author": "Lars Grammel",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -1,230 +0,0 @@
1
- import { z } from "zod";
2
- import { FunctionOptions } from "../../core/FunctionOptions.js";
3
- import { ApiConfiguration } from "../../core/api/ApiConfiguration.js";
4
- import { ResponseHandler } from "../../core/api/postToApi.js";
5
- import { AbstractModel } from "../../model-function/AbstractModel.js";
6
- import { Delta } from "../../model-function/Delta.js";
7
- import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
8
- import { TextGenerationModelSettings, TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
9
- import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
10
- import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel, ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
12
- /**
13
- * @see https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion
14
- */
15
- export interface OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE extends number | undefined> extends TextGenerationModelSettings {
16
- api?: ApiConfiguration;
17
- /**
18
- * The name of the model to use. For example, 'mistral'.
19
- *
20
- * @see https://ollama.ai/library
21
- */
22
- model: string;
23
- /**
24
- * The temperature of the model. Increasing the temperature will make the model
25
- * answer more creatively. (Default: 0.8)
26
- */
27
- temperature?: number;
28
- /**
29
- * Specify the context window size of the model that you have loaded in your
30
- * Ollama server. (Default: 2048)
31
- */
32
- contextWindowSize?: CONTEXT_WINDOW_SIZE;
33
- /**
34
- * Enable Mirostat sampling for controlling perplexity.
35
- * (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)
36
- */
37
- mirostat?: number;
38
- /**
39
- * Influences how quickly the algorithm responds to feedback from the generated text.
40
- * A lower learning rate will result in slower adjustments,
41
- * while a higher learning rate will make the algorithm more responsive. (Default: 0.1)
42
- */
43
- mirostatEta?: number;
44
- /**
45
- * Controls the balance between coherence and diversity of the output.
46
- * A lower value will result in more focused and coherent text. (Default: 5.0)
47
- */
48
- mirostatTau?: number;
49
- /**
50
- * The number of GQA groups in the transformer layer. Required for some models,
51
- * for example it is 8 for llama2:70b
52
- */
53
- numGqa?: number;
54
- /**
55
- * The number of layers to send to the GPU(s). On macOS it defaults to 1 to
56
- * enable metal support, 0 to disable.
57
- */
58
- numGpu?: number;
59
- /**
60
- * Sets the number of threads to use during computation. By default, Ollama will
61
- * detect this for optimal performance. It is recommended to set this value to the
62
- * number of physical CPU cores your system has (as opposed to the logical number of cores).
63
- */
64
- numThreads?: number;
65
- /**
66
- * Sets how far back for the model to look back to prevent repetition.
67
- * (Default: 64, 0 = disabled, -1 = num_ctx)
68
- */
69
- repeatLastN?: number;
70
- /**
71
- * Sets how strongly to penalize repetitions. A higher value (e.g., 1.5)
72
- * will penalize repetitions more strongly, while a lower value (e.g., 0.9)
73
- * will be more lenient. (Default: 1.1)
74
- */
75
- repeatPenalty?: number;
76
- /**
77
- * Sets the random number seed to use for generation. Setting this to a
78
- * specific number will make the model generate the same text for the same prompt.
79
- * (Default: 0)
80
- */
81
- seed?: number;
82
- /**
83
- * Tail free sampling is used to reduce the impact of less probable tokens
84
- * from the output. A higher value (e.g., 2.0) will reduce the impact more,
85
- * while a value of 1.0 disables this setting. (default: 1)
86
- */
87
- tfsZ?: number;
88
- /**
89
- * Reduces the probability of generating nonsense. A higher value (e.g. 100)
90
- * will give more diverse answers, while a lower value (e.g. 10) will be more
91
- * conservative. (Default: 40)
92
- */
93
- topK?: number;
94
- /**
95
- * Works together with top-k. A higher value (e.g., 0.95) will lead to more
96
- * diverse text, while a lower value (e.g., 0.5) will generate more focused
97
- * and conservative text. (Default: 0.9)
98
- */
99
- topP?: number;
100
- /**
101
- * When set to true, no formatting will be applied to the prompt and no context
102
- * will be returned.
103
- */
104
- raw?: boolean;
105
- /**
106
- * The format to return a response in. Currently the only accepted value is 'json'.
107
- * Leave undefined to return a string.
108
- */
109
- format?: "json";
110
- system?: string;
111
- template?: string;
112
- context?: number[];
113
- }
114
- export interface OllamaTextGenerationPrompt {
115
- /**
116
- * Text prompt.
117
- */
118
- prompt: string;
119
- /**
120
- Images. Supports base64-encoded `png` and `jpeg` images up to 100MB in size.
121
- */
122
- images?: Record<number, string>;
123
- }
124
- export declare class OllamaTextGenerationModel<CONTEXT_WINDOW_SIZE extends number | undefined> extends AbstractModel<OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>> implements TextStreamingModel<OllamaTextGenerationPrompt, OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>> {
125
- constructor(settings: OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>);
126
- readonly provider = "ollama";
127
- get modelName(): string;
128
- readonly tokenizer: undefined;
129
- readonly countPromptTokens: undefined;
130
- get contextWindowSize(): CONTEXT_WINDOW_SIZE;
131
- callAPI<RESPONSE>(prompt: OllamaTextGenerationPrompt, options: {
132
- responseFormat: OllamaTextGenerationResponseFormatType<RESPONSE>;
133
- } & FunctionOptions): Promise<RESPONSE>;
134
- get settingsForEvent(): Partial<OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>>;
135
- doGenerateText(prompt: OllamaTextGenerationPrompt, options?: FunctionOptions): Promise<{
136
- response: {
137
- response: string;
138
- model: string;
139
- done: true;
140
- total_duration: number;
141
- prompt_eval_count: number;
142
- eval_count: number;
143
- eval_duration: number;
144
- load_duration?: number | undefined;
145
- context?: number[] | undefined;
146
- };
147
- text: string;
148
- }>;
149
- doStreamText(prompt: OllamaTextGenerationPrompt, options?: FunctionOptions): Promise<AsyncIterable<Delta<string>>>;
150
- asToolCallGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallPromptTemplate<INPUT_PROMPT, OllamaTextGenerationPrompt>): TextGenerationToolCallModel<INPUT_PROMPT, OllamaTextGenerationPrompt, this>;
151
- asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsOrGenerateTextPromptTemplate<INPUT_PROMPT, OllamaTextGenerationPrompt>): TextGenerationToolCallsOrGenerateTextModel<INPUT_PROMPT, OllamaTextGenerationPrompt, this>;
152
- withTextPrompt(): PromptTemplateTextStreamingModel<string, OllamaTextGenerationPrompt, OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, this>;
153
- withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, OllamaTextGenerationPrompt>): PromptTemplateTextStreamingModel<INPUT_PROMPT, OllamaTextGenerationPrompt, OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>, this>;
154
- withSettings(additionalSettings: Partial<OllamaTextGenerationModelSettings<CONTEXT_WINDOW_SIZE>>): this;
155
- }
156
- declare const ollamaTextGenerationResponseSchema: z.ZodObject<{
157
- done: z.ZodLiteral<true>;
158
- model: z.ZodString;
159
- response: z.ZodString;
160
- total_duration: z.ZodNumber;
161
- load_duration: z.ZodOptional<z.ZodNumber>;
162
- prompt_eval_count: z.ZodNumber;
163
- eval_count: z.ZodNumber;
164
- eval_duration: z.ZodNumber;
165
- context: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
166
- }, "strip", z.ZodTypeAny, {
167
- response: string;
168
- model: string;
169
- done: true;
170
- total_duration: number;
171
- prompt_eval_count: number;
172
- eval_count: number;
173
- eval_duration: number;
174
- load_duration?: number | undefined;
175
- context?: number[] | undefined;
176
- }, {
177
- response: string;
178
- model: string;
179
- done: true;
180
- total_duration: number;
181
- prompt_eval_count: number;
182
- eval_count: number;
183
- eval_duration: number;
184
- load_duration?: number | undefined;
185
- context?: number[] | undefined;
186
- }>;
187
- export type OllamaTextGenerationResponse = z.infer<typeof ollamaTextGenerationResponseSchema>;
188
- export type OllamaTextGenerationDelta = {
189
- content: string;
190
- isComplete: boolean;
191
- delta: string;
192
- };
193
- export type OllamaTextGenerationResponseFormatType<T> = {
194
- stream: boolean;
195
- handler: ResponseHandler<T>;
196
- };
197
- export declare const OllamaTextGenerationResponseFormat: {
198
- /**
199
- * Returns the response as a JSON object.
200
- */
201
- json: {
202
- stream: false;
203
- handler: ({ response, url, requestBodyValues }: {
204
- url: string;
205
- requestBodyValues: unknown;
206
- response: Response;
207
- }) => Promise<{
208
- response: string;
209
- model: string;
210
- done: true;
211
- total_duration: number;
212
- prompt_eval_count: number;
213
- eval_count: number;
214
- eval_duration: number;
215
- load_duration?: number | undefined;
216
- context?: number[] | undefined;
217
- }>;
218
- };
219
- /**
220
- * Returns an async iterable over the full deltas (all choices, including full current state at time of event)
221
- * of the response stream.
222
- */
223
- deltaIterable: {
224
- stream: true;
225
- handler: ({ response }: {
226
- response: Response;
227
- }) => Promise<AsyncIterable<Delta<string>>>;
228
- };
229
- };
230
- export {};