@chainfuse/ai-tools 0.2.8 → 0.3.1
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/dist/models.d.mts
CHANGED
|
@@ -8,13 +8,13 @@ type ValidProviders = keyof ProvidersReturnType;
|
|
|
8
8
|
type ProviderLanguageModels = {
|
|
9
9
|
[P in ValidProviders]: Parameters<ProvidersReturnType[P]['languageModel']>[0];
|
|
10
10
|
};
|
|
11
|
-
type
|
|
11
|
+
type ProviderTextEmbeddingModels = {
|
|
12
12
|
[P in ValidProviders]: Parameters<ProvidersReturnType[P]['textEmbeddingModel']>[0];
|
|
13
13
|
};
|
|
14
14
|
export declare class AiModel extends AiBase {
|
|
15
15
|
wrappedLanguageModel<P extends ValidProviders>(args: AiRequestConfig, provider: P, model: ProviderLanguageModels[P]): Promise<ReturnType<typeof wrapLanguageModel>>;
|
|
16
16
|
wrappedLanguageModel(args: AiRequestConfig, model: LanguageModelValues): Promise<ReturnType<typeof wrapLanguageModel>>;
|
|
17
|
-
wrappedTextEmbeddingModel<P extends ValidProviders>(args: AiRequestConfig, provider: P, model:
|
|
17
|
+
wrappedTextEmbeddingModel<P extends ValidProviders>(args: AiRequestConfig, provider: P, model: ProviderTextEmbeddingModels[P]): Promise<Parameters<typeof embed | typeof embedMany>[0]['model']>;
|
|
18
18
|
wrappedTextEmbeddingModel(args: AiRequestConfig, model: TextEmbeddingModelValues): Promise<Parameters<typeof embed | typeof embedMany>[0]['model']>;
|
|
19
19
|
private get middleware();
|
|
20
20
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Helpers } from '@chainfuse/helpers';
|
|
2
2
|
import { AiModels, enabledCloudflareLlmProviders } from '@chainfuse/types';
|
|
3
|
-
import { APICallError,
|
|
3
|
+
import { APICallError, customProvider, TypeValidationError, wrapLanguageModel } from 'ai';
|
|
4
4
|
import { ZodError } from 'zod';
|
|
5
5
|
import { AiBase } from '../base.mjs';
|
|
6
6
|
import { AzureServerSelector } from '../serverSelector/azure.mjs';
|
|
@@ -66,6 +66,15 @@ export class AiCustomProviders extends AiBase {
|
|
|
66
66
|
});
|
|
67
67
|
return acc;
|
|
68
68
|
}, Promise.resolve({})),
|
|
69
|
+
// imageModels: await server!.imageModelAvailability.reduce(
|
|
70
|
+
// async (accPromise, model) => {
|
|
71
|
+
// const acc = await accPromise;
|
|
72
|
+
// // @ts-expect-error override for types
|
|
73
|
+
// acc[model as AzureImageModels] = (await raw.azOpenai(args, server!)).imageModel(model);
|
|
74
|
+
// return acc;
|
|
75
|
+
// },
|
|
76
|
+
// Promise.resolve({} as Record<AzureImageModels, Awaited<ReturnType<AiRawProviders['azOpenai']>>>),
|
|
77
|
+
// ),
|
|
69
78
|
// @ts-expect-error override for types
|
|
70
79
|
textEmbeddingModels: await server.textEmbeddingModelAvailability.reduce(async (accPromise, model) => {
|
|
71
80
|
const acc = await accPromise;
|
|
@@ -165,13 +174,11 @@ export class AiCustomProviders extends AiBase {
|
|
|
165
174
|
const fallbackProvider = await new AiRawProviders(this.config).googleAi(args);
|
|
166
175
|
return customProvider({
|
|
167
176
|
languageModels: {
|
|
168
|
-
// provider:actual model name:extra
|
|
169
177
|
[AiModels.LanguageModels.GoogleGenerativeAi.gemini_flash_beta_search.split(':').slice(1).join(':')]: fallbackProvider(AiModels.LanguageModels.GoogleGenerativeAi.gemini_flash_beta_search.split(':')[1], { useSearchGrounding: true }),
|
|
170
178
|
[AiModels.LanguageModels.GoogleGenerativeAi.gemini_flash_search.split(':').slice(1).join(':')]: fallbackProvider(AiModels.LanguageModels.GoogleGenerativeAi.gemini_flash_search.split(':')[1], { useSearchGrounding: true }),
|
|
171
179
|
[AiModels.LanguageModels.GoogleGenerativeAi.gemini_pro_search.split(':').slice(1).join(':')]: fallbackProvider(AiModels.LanguageModels.GoogleGenerativeAi.gemini_pro_search.split(':')[1], { useSearchGrounding: true }),
|
|
172
180
|
},
|
|
173
181
|
fallbackProvider,
|
|
174
|
-
// GoogleGenerativeAi
|
|
175
182
|
});
|
|
176
183
|
}
|
|
177
184
|
}
|
|
@@ -5,11 +5,11 @@ import type { Provider } from 'ai';
|
|
|
5
5
|
export interface AzureOpenAIProvider extends Provider {
|
|
6
6
|
(deploymentId: AzureChatModels, settings?: OpenAIChatSettings): LanguageModelV1;
|
|
7
7
|
/**
|
|
8
|
-
|
|
8
|
+
* Creates an Azure OpenAI chat model for text generation.
|
|
9
9
|
*/
|
|
10
10
|
languageModel(deploymentId: AzureChatModels, settings?: OpenAIChatSettings): LanguageModelV1;
|
|
11
11
|
/**
|
|
12
|
-
|
|
12
|
+
* Creates an Azure OpenAI model for text embeddings.
|
|
13
13
|
*/
|
|
14
14
|
textEmbeddingModel(deploymentId: AzureEmbeddingModels, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
|
|
15
15
|
}
|
|
@@ -10,7 +10,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
10
10
|
},
|
|
11
11
|
region: PrivacyRegion.Australian_Privacy_Principles,
|
|
12
12
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
13
|
-
|
|
13
|
+
imageModelAvailability: ['dall-e-3'],
|
|
14
|
+
textEmbeddingModelAvailability: ['text-embedding-3-large', 'text-embedding-3-small'],
|
|
14
15
|
},
|
|
15
16
|
{
|
|
16
17
|
id: 'OpenAi-BR-SaoPauloState',
|
|
@@ -20,6 +21,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
20
21
|
},
|
|
21
22
|
region: PrivacyRegion.Brazil_General_Data_protection_Law,
|
|
22
23
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
24
|
+
imageModelAvailability: [],
|
|
23
25
|
textEmbeddingModelAvailability: [],
|
|
24
26
|
},
|
|
25
27
|
{
|
|
@@ -30,6 +32,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
30
32
|
},
|
|
31
33
|
region: PrivacyRegion.Canada_Personal_Information_Protection_and_Electronic_Documents_Act,
|
|
32
34
|
languageModelAvailability: [],
|
|
35
|
+
imageModelAvailability: [],
|
|
33
36
|
textEmbeddingModelAvailability: [],
|
|
34
37
|
},
|
|
35
38
|
{
|
|
@@ -40,6 +43,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
40
43
|
},
|
|
41
44
|
region: PrivacyRegion.Canada_Personal_Information_Protection_and_Electronic_Documents_Act,
|
|
42
45
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
46
|
+
imageModelAvailability: [],
|
|
43
47
|
textEmbeddingModelAvailability: ['text-embedding-3-small', 'text-embedding-3-large'],
|
|
44
48
|
},
|
|
45
49
|
{
|
|
@@ -49,6 +53,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
49
53
|
lon: -79.8164,
|
|
50
54
|
},
|
|
51
55
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
56
|
+
imageModelAvailability: ['dall-e-3'],
|
|
52
57
|
textEmbeddingModelAvailability: ['text-embedding-3-small', 'text-embedding-3-large'],
|
|
53
58
|
},
|
|
54
59
|
{
|
|
@@ -57,7 +62,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
57
62
|
lat: 36.6681,
|
|
58
63
|
lon: -78.3889,
|
|
59
64
|
},
|
|
60
|
-
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
65
|
+
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini', 'o1', 'o3-mini'],
|
|
66
|
+
imageModelAvailability: [],
|
|
61
67
|
textEmbeddingModelAvailability: ['text-embedding-3-small', 'text-embedding-3-large'],
|
|
62
68
|
},
|
|
63
69
|
{
|
|
@@ -68,6 +74,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
68
74
|
},
|
|
69
75
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
70
76
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
77
|
+
imageModelAvailability: [],
|
|
71
78
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
72
79
|
},
|
|
73
80
|
{
|
|
@@ -78,6 +85,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
78
85
|
},
|
|
79
86
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
80
87
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
88
|
+
imageModelAvailability: [],
|
|
81
89
|
textEmbeddingModelAvailability: [],
|
|
82
90
|
},
|
|
83
91
|
{
|
|
@@ -88,7 +96,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
88
96
|
},
|
|
89
97
|
region: PrivacyRegion.Japan_Act_on_the_Protection_of_Personal_Information,
|
|
90
98
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
91
|
-
|
|
99
|
+
imageModelAvailability: [],
|
|
100
|
+
textEmbeddingModelAvailability: ['text-embedding-3-large', 'text-embedding-3-small'],
|
|
92
101
|
},
|
|
93
102
|
{
|
|
94
103
|
id: 'OpenAi-KR-Seoul',
|
|
@@ -98,6 +107,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
98
107
|
},
|
|
99
108
|
region: PrivacyRegion.Korean_Personal_Information_Protection_Act,
|
|
100
109
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
110
|
+
imageModelAvailability: [],
|
|
101
111
|
textEmbeddingModelAvailability: [],
|
|
102
112
|
},
|
|
103
113
|
{
|
|
@@ -107,6 +117,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
107
117
|
lon: -87.6278,
|
|
108
118
|
},
|
|
109
119
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
120
|
+
imageModelAvailability: [],
|
|
110
121
|
textEmbeddingModelAvailability: [],
|
|
111
122
|
},
|
|
112
123
|
{
|
|
@@ -117,6 +128,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
117
128
|
},
|
|
118
129
|
region: PrivacyRegion.Norwegian_Personal_Data_Act,
|
|
119
130
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
131
|
+
imageModelAvailability: [],
|
|
120
132
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
121
133
|
},
|
|
122
134
|
{
|
|
@@ -127,7 +139,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
127
139
|
},
|
|
128
140
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
129
141
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
130
|
-
|
|
142
|
+
imageModelAvailability: [],
|
|
143
|
+
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
131
144
|
},
|
|
132
145
|
{
|
|
133
146
|
id: 'OpenAi-ZA-Johannesburg',
|
|
@@ -137,6 +150,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
137
150
|
},
|
|
138
151
|
region: PrivacyRegion.SouthAfrica_Protection_Personal_Information_Act,
|
|
139
152
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
153
|
+
imageModelAvailability: [],
|
|
140
154
|
textEmbeddingModelAvailability: [],
|
|
141
155
|
},
|
|
142
156
|
{
|
|
@@ -146,6 +160,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
146
160
|
lon: -98.5,
|
|
147
161
|
},
|
|
148
162
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
163
|
+
imageModelAvailability: [],
|
|
149
164
|
textEmbeddingModelAvailability: [],
|
|
150
165
|
},
|
|
151
166
|
{
|
|
@@ -156,8 +171,19 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
156
171
|
},
|
|
157
172
|
region: PrivacyRegion.Indian_Personal_Protection,
|
|
158
173
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
174
|
+
imageModelAvailability: [],
|
|
159
175
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
160
176
|
},
|
|
177
|
+
{
|
|
178
|
+
id: 'OpenAi-SG-Singapore',
|
|
179
|
+
coordinate: {
|
|
180
|
+
lat: 1.283,
|
|
181
|
+
lon: 103.833,
|
|
182
|
+
},
|
|
183
|
+
languageModelAvailability: [],
|
|
184
|
+
imageModelAvailability: [],
|
|
185
|
+
textEmbeddingModelAvailability: [],
|
|
186
|
+
},
|
|
161
187
|
{
|
|
162
188
|
id: 'OpenAi-EU-Gavle',
|
|
163
189
|
coordinate: {
|
|
@@ -165,7 +191,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
165
191
|
lon: 17.14127,
|
|
166
192
|
},
|
|
167
193
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
168
|
-
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o-mini', 'gpt-4o'],
|
|
194
|
+
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o-mini', 'gpt-4o', 'o1', 'o3-mini'],
|
|
195
|
+
imageModelAvailability: ['dall-e-3'],
|
|
169
196
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
170
197
|
},
|
|
171
198
|
{
|
|
@@ -176,6 +203,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
176
203
|
},
|
|
177
204
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
178
205
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o'],
|
|
206
|
+
imageModelAvailability: [],
|
|
179
207
|
textEmbeddingModelAvailability: [],
|
|
180
208
|
},
|
|
181
209
|
{
|
|
@@ -186,6 +214,17 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
186
214
|
},
|
|
187
215
|
region: PrivacyRegion.Swiss_Federal_Act_on_Data_Protection,
|
|
188
216
|
languageModelAvailability: [],
|
|
217
|
+
imageModelAvailability: [],
|
|
218
|
+
textEmbeddingModelAvailability: [],
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
id: 'OpenAi-AE-Dubai',
|
|
222
|
+
coordinate: {
|
|
223
|
+
lat: 25.266666,
|
|
224
|
+
lon: 55.316666,
|
|
225
|
+
},
|
|
226
|
+
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o-mini'],
|
|
227
|
+
imageModelAvailability: [],
|
|
189
228
|
textEmbeddingModelAvailability: [],
|
|
190
229
|
},
|
|
191
230
|
{
|
|
@@ -196,7 +235,8 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
196
235
|
},
|
|
197
236
|
region: PrivacyRegion.Swiss_Federal_Act_on_Data_Protection,
|
|
198
237
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
199
|
-
|
|
238
|
+
imageModelAvailability: [],
|
|
239
|
+
textEmbeddingModelAvailability: ['text-embedding-3-large', 'text-embedding-3-small'],
|
|
200
240
|
},
|
|
201
241
|
{
|
|
202
242
|
id: 'OpenAi-UK-London',
|
|
@@ -206,6 +246,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
206
246
|
},
|
|
207
247
|
region: PrivacyRegion.UK_General_Data_Protection_Regulation,
|
|
208
248
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
249
|
+
imageModelAvailability: [],
|
|
209
250
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
210
251
|
},
|
|
211
252
|
{
|
|
@@ -216,6 +257,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
216
257
|
},
|
|
217
258
|
region: PrivacyRegion.General_Data_Protection_Regulation,
|
|
218
259
|
languageModelAvailability: ['gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
260
|
+
imageModelAvailability: [],
|
|
219
261
|
textEmbeddingModelAvailability: [],
|
|
220
262
|
},
|
|
221
263
|
{
|
|
@@ -225,6 +267,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
225
267
|
lon: -122.417,
|
|
226
268
|
},
|
|
227
269
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
270
|
+
imageModelAvailability: [],
|
|
228
271
|
textEmbeddingModelAvailability: [],
|
|
229
272
|
},
|
|
230
273
|
{
|
|
@@ -234,6 +277,7 @@ export class AzureServerSelector extends ServerSelector {
|
|
|
234
277
|
lon: -112.074036,
|
|
235
278
|
},
|
|
236
279
|
languageModelAvailability: ['gpt-35-turbo', 'gpt-4-turbo', 'gpt-4o', 'gpt-4o-mini'],
|
|
280
|
+
imageModelAvailability: [],
|
|
237
281
|
textEmbeddingModelAvailability: ['text-embedding-3-large'],
|
|
238
282
|
},
|
|
239
283
|
]);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { AzureChatModels, AzureEmbeddingModels, Coordinate } from '@chainfuse/types';
|
|
1
|
+
import type { AzureChatModels, AzureEmbeddingModels, AzureImageModels, Coordinate } from '@chainfuse/types';
|
|
2
2
|
import type { PrivacyRegion } from './base.mjs';
|
|
3
3
|
export interface Server {
|
|
4
4
|
id: string;
|
|
5
5
|
coordinate: Coordinate;
|
|
6
6
|
region?: PrivacyRegion;
|
|
7
7
|
languageModelAvailability: AzureChatModels[] | string[];
|
|
8
|
+
imageModelAvailability: AzureImageModels[] | string[];
|
|
8
9
|
textEmbeddingModelAvailability: AzureEmbeddingModels[] | string[];
|
|
9
10
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainfuse/ai-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "ChainFuse",
|
|
6
6
|
"homepage": "https://github.com/ChainFuse/packages/tree/main/packages/ai-tools#readme",
|
|
@@ -48,21 +48,21 @@
|
|
|
48
48
|
},
|
|
49
49
|
"prettier": "@demosjarco/prettier-config",
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@ai-sdk/anthropic": "^1.1.
|
|
52
|
-
"@ai-sdk/azure": "^1.1.
|
|
53
|
-
"@ai-sdk/google": "^1.1.
|
|
51
|
+
"@ai-sdk/anthropic": "^1.1.6",
|
|
52
|
+
"@ai-sdk/azure": "^1.1.9",
|
|
53
|
+
"@ai-sdk/google": "^1.1.8",
|
|
54
54
|
"@ai-sdk/openai": "^1.0.5",
|
|
55
|
-
"@ai-sdk/openai-compatible": "^0.1.
|
|
56
|
-
"@chainfuse/helpers": "^1.1.
|
|
57
|
-
"@chainfuse/types": "^1.6.
|
|
58
|
-
"ai": "^4.1.
|
|
55
|
+
"@ai-sdk/openai-compatible": "^0.1.8",
|
|
56
|
+
"@chainfuse/helpers": "^1.1.2",
|
|
57
|
+
"@chainfuse/types": "^1.6.2",
|
|
58
|
+
"ai": "^4.1.16",
|
|
59
59
|
"chalk": "^5.4.1",
|
|
60
60
|
"haversine-distance": "^1.2.3",
|
|
61
61
|
"workers-ai-provider": "^0.0.10"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@cloudflare/workers-types": "^4.
|
|
65
|
-
"openai": "^4.
|
|
64
|
+
"@cloudflare/workers-types": "^4.20250129.0",
|
|
65
|
+
"openai": "^4.82.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "5798b5c3f0920b026ba9e4fc0f3d3eac8ea3fe7f"
|
|
68
68
|
}
|