@ai-sdk/azure 4.0.0-beta.3 → 4.0.0-beta.31
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 +246 -8
- package/README.md +2 -0
- package/dist/index.d.ts +15 -15
- package/dist/index.js +39 -50
- package/dist/index.js.map +1 -1
- package/package.json +8 -10
- package/src/azure-openai-provider.ts +22 -21
- package/dist/index.d.mts +0 -130
- package/dist/index.mjs +0 -140
- package/dist/index.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,243 @@
|
|
|
1
1
|
# @ai-sdk/azure
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.31
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [b3976a2]
|
|
8
|
+
- Updated dependencies [ff5eba1]
|
|
9
|
+
- @ai-sdk/provider-utils@5.0.0-beta.20
|
|
10
|
+
- @ai-sdk/openai@4.0.0-beta.31
|
|
11
|
+
- @ai-sdk/provider@4.0.0-beta.12
|
|
12
|
+
|
|
13
|
+
## 4.0.0-beta.30
|
|
14
|
+
|
|
15
|
+
### Major Changes
|
|
16
|
+
|
|
17
|
+
- ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [ef992f8]
|
|
22
|
+
- @ai-sdk/openai@4.0.0-beta.30
|
|
23
|
+
- @ai-sdk/provider@4.0.0-beta.11
|
|
24
|
+
- @ai-sdk/provider-utils@5.0.0-beta.19
|
|
25
|
+
|
|
26
|
+
## 4.0.0-beta.29
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [90e2d8a]
|
|
31
|
+
- @ai-sdk/provider-utils@5.0.0-beta.18
|
|
32
|
+
- @ai-sdk/openai@4.0.0-beta.29
|
|
33
|
+
|
|
34
|
+
## 4.0.0-beta.28
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- Updated dependencies [3ae1786]
|
|
39
|
+
- @ai-sdk/provider-utils@5.0.0-beta.17
|
|
40
|
+
- @ai-sdk/openai@4.0.0-beta.28
|
|
41
|
+
|
|
42
|
+
## 4.0.0-beta.27
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [176466a]
|
|
47
|
+
- @ai-sdk/provider@4.0.0-beta.10
|
|
48
|
+
- @ai-sdk/openai@4.0.0-beta.27
|
|
49
|
+
- @ai-sdk/provider-utils@5.0.0-beta.16
|
|
50
|
+
|
|
51
|
+
## 4.0.0-beta.26
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Updated dependencies [e311194]
|
|
56
|
+
- @ai-sdk/provider@4.0.0-beta.9
|
|
57
|
+
- @ai-sdk/openai@4.0.0-beta.26
|
|
58
|
+
- @ai-sdk/provider-utils@5.0.0-beta.15
|
|
59
|
+
|
|
60
|
+
## 4.0.0-beta.25
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [34bd95d]
|
|
65
|
+
- Updated dependencies [008271d]
|
|
66
|
+
- @ai-sdk/provider@4.0.0-beta.8
|
|
67
|
+
- @ai-sdk/openai@4.0.0-beta.25
|
|
68
|
+
- @ai-sdk/provider-utils@5.0.0-beta.14
|
|
69
|
+
|
|
70
|
+
## 4.0.0-beta.24
|
|
71
|
+
|
|
72
|
+
### Patch Changes
|
|
73
|
+
|
|
74
|
+
- Updated dependencies [b0c2869]
|
|
75
|
+
- Updated dependencies [7e26e81]
|
|
76
|
+
- @ai-sdk/provider-utils@5.0.0-beta.13
|
|
77
|
+
- @ai-sdk/openai@4.0.0-beta.24
|
|
78
|
+
|
|
79
|
+
## 4.0.0-beta.23
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- Updated dependencies [46d1149]
|
|
84
|
+
- @ai-sdk/provider-utils@5.0.0-beta.12
|
|
85
|
+
- @ai-sdk/openai@4.0.0-beta.23
|
|
86
|
+
|
|
87
|
+
## 4.0.0-beta.22
|
|
88
|
+
|
|
89
|
+
### Patch Changes
|
|
90
|
+
|
|
91
|
+
- Updated dependencies [6fd51c0]
|
|
92
|
+
- @ai-sdk/provider-utils@5.0.0-beta.11
|
|
93
|
+
- @ai-sdk/provider@4.0.0-beta.7
|
|
94
|
+
- @ai-sdk/openai@4.0.0-beta.22
|
|
95
|
+
|
|
96
|
+
## 4.0.0-beta.21
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
|
|
101
|
+
- Updated dependencies [c29a26f]
|
|
102
|
+
- @ai-sdk/provider-utils@5.0.0-beta.10
|
|
103
|
+
- @ai-sdk/provider@4.0.0-beta.6
|
|
104
|
+
- @ai-sdk/openai@4.0.0-beta.21
|
|
105
|
+
|
|
106
|
+
## 4.0.0-beta.20
|
|
107
|
+
|
|
108
|
+
### Patch Changes
|
|
109
|
+
|
|
110
|
+
- 38fc777: Add AI Gateway hint to provider READMEs
|
|
111
|
+
- Updated dependencies [38fc777]
|
|
112
|
+
- @ai-sdk/openai@4.0.0-beta.20
|
|
113
|
+
|
|
114
|
+
## 4.0.0-beta.19
|
|
115
|
+
|
|
116
|
+
### Patch Changes
|
|
117
|
+
|
|
118
|
+
- Updated dependencies [2e17091]
|
|
119
|
+
- @ai-sdk/provider-utils@5.0.0-beta.9
|
|
120
|
+
- @ai-sdk/openai@4.0.0-beta.19
|
|
121
|
+
|
|
122
|
+
## 4.0.0-beta.18
|
|
123
|
+
|
|
124
|
+
### Patch Changes
|
|
125
|
+
|
|
126
|
+
- Updated dependencies [986c6fd]
|
|
127
|
+
- Updated dependencies [493295c]
|
|
128
|
+
- @ai-sdk/provider-utils@5.0.0-beta.8
|
|
129
|
+
- @ai-sdk/openai@4.0.0-beta.18
|
|
130
|
+
|
|
131
|
+
## 4.0.0-beta.17
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- Updated dependencies [817a1a6]
|
|
136
|
+
- @ai-sdk/openai@4.0.0-beta.17
|
|
137
|
+
|
|
138
|
+
## 4.0.0-beta.16
|
|
139
|
+
|
|
140
|
+
### Patch Changes
|
|
141
|
+
|
|
142
|
+
- Updated dependencies [1f509d4]
|
|
143
|
+
- @ai-sdk/provider-utils@5.0.0-beta.7
|
|
144
|
+
- @ai-sdk/provider@4.0.0-beta.5
|
|
145
|
+
- @ai-sdk/openai@4.0.0-beta.16
|
|
146
|
+
|
|
147
|
+
## 4.0.0-beta.15
|
|
148
|
+
|
|
149
|
+
### Patch Changes
|
|
150
|
+
|
|
151
|
+
- Updated dependencies [365da1a]
|
|
152
|
+
- @ai-sdk/openai@4.0.0-beta.15
|
|
153
|
+
|
|
154
|
+
## 4.0.0-beta.14
|
|
155
|
+
|
|
156
|
+
### Patch Changes
|
|
157
|
+
|
|
158
|
+
- Updated dependencies [e6376c2]
|
|
159
|
+
- @ai-sdk/openai@4.0.0-beta.14
|
|
160
|
+
|
|
161
|
+
## 4.0.0-beta.13
|
|
162
|
+
|
|
163
|
+
### Patch Changes
|
|
164
|
+
|
|
165
|
+
- Updated dependencies [3887c70]
|
|
166
|
+
- @ai-sdk/provider-utils@5.0.0-beta.6
|
|
167
|
+
- @ai-sdk/provider@4.0.0-beta.4
|
|
168
|
+
- @ai-sdk/openai@4.0.0-beta.13
|
|
169
|
+
|
|
170
|
+
## 4.0.0-beta.12
|
|
171
|
+
|
|
172
|
+
### Patch Changes
|
|
173
|
+
|
|
174
|
+
- Updated dependencies [d9a1e9a]
|
|
175
|
+
- @ai-sdk/openai@4.0.0-beta.12
|
|
176
|
+
|
|
177
|
+
## 4.0.0-beta.11
|
|
178
|
+
|
|
179
|
+
### Patch Changes
|
|
180
|
+
|
|
181
|
+
- Updated dependencies [776b617]
|
|
182
|
+
- @ai-sdk/provider-utils@5.0.0-beta.5
|
|
183
|
+
- @ai-sdk/provider@4.0.0-beta.3
|
|
184
|
+
- @ai-sdk/openai@4.0.0-beta.11
|
|
185
|
+
|
|
186
|
+
## 4.0.0-beta.10
|
|
187
|
+
|
|
188
|
+
### Patch Changes
|
|
189
|
+
|
|
190
|
+
- Updated dependencies [61753c3]
|
|
191
|
+
- @ai-sdk/provider-utils@5.0.0-beta.4
|
|
192
|
+
- @ai-sdk/openai@4.0.0-beta.10
|
|
193
|
+
|
|
194
|
+
## 4.0.0-beta.9
|
|
195
|
+
|
|
196
|
+
### Patch Changes
|
|
197
|
+
|
|
198
|
+
- Updated dependencies [156cdf0]
|
|
199
|
+
- @ai-sdk/openai@4.0.0-beta.9
|
|
200
|
+
|
|
201
|
+
## 4.0.0-beta.8
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- Updated dependencies [f7d4f01]
|
|
206
|
+
- @ai-sdk/provider-utils@5.0.0-beta.3
|
|
207
|
+
- @ai-sdk/provider@4.0.0-beta.2
|
|
208
|
+
- @ai-sdk/openai@4.0.0-beta.8
|
|
209
|
+
|
|
210
|
+
## 4.0.0-beta.7
|
|
211
|
+
|
|
212
|
+
### Patch Changes
|
|
213
|
+
|
|
214
|
+
- Updated dependencies [5c2a5a2]
|
|
215
|
+
- @ai-sdk/provider@4.0.0-beta.1
|
|
216
|
+
- @ai-sdk/openai@4.0.0-beta.7
|
|
217
|
+
- @ai-sdk/provider-utils@5.0.0-beta.2
|
|
218
|
+
|
|
219
|
+
## 4.0.0-beta.6
|
|
220
|
+
|
|
221
|
+
### Patch Changes
|
|
222
|
+
|
|
223
|
+
- 83f9d04: feat(openai): upgrade v3 specs to v4
|
|
224
|
+
- Updated dependencies [83f9d04]
|
|
225
|
+
- @ai-sdk/openai@4.0.0-beta.6
|
|
226
|
+
|
|
227
|
+
## 4.0.0-beta.5
|
|
228
|
+
|
|
229
|
+
### Patch Changes
|
|
230
|
+
|
|
231
|
+
- Updated dependencies [ac18f89]
|
|
232
|
+
- @ai-sdk/openai@4.0.0-beta.5
|
|
233
|
+
|
|
234
|
+
## 4.0.0-beta.4
|
|
235
|
+
|
|
236
|
+
### Patch Changes
|
|
237
|
+
|
|
238
|
+
- Updated dependencies [a71d345]
|
|
239
|
+
- @ai-sdk/openai@4.0.0-beta.4
|
|
240
|
+
|
|
3
241
|
## 4.0.0-beta.3
|
|
4
242
|
|
|
5
243
|
### Patch Changes
|
|
@@ -400,13 +638,13 @@
|
|
|
400
638
|
Before
|
|
401
639
|
|
|
402
640
|
```ts
|
|
403
|
-
model.textEmbeddingModel(
|
|
641
|
+
model.textEmbeddingModel("my-model-id");
|
|
404
642
|
```
|
|
405
643
|
|
|
406
644
|
After
|
|
407
645
|
|
|
408
646
|
```ts
|
|
409
|
-
model.embeddingModel(
|
|
647
|
+
model.embeddingModel("my-model-id");
|
|
410
648
|
```
|
|
411
649
|
|
|
412
650
|
- d64ece9: enables image_generation capabilities in the Azure provider through the Responses API.
|
|
@@ -793,13 +1031,13 @@
|
|
|
793
1031
|
Before
|
|
794
1032
|
|
|
795
1033
|
```ts
|
|
796
|
-
model.textEmbeddingModel(
|
|
1034
|
+
model.textEmbeddingModel("my-model-id");
|
|
797
1035
|
```
|
|
798
1036
|
|
|
799
1037
|
After
|
|
800
1038
|
|
|
801
1039
|
```ts
|
|
802
|
-
model.embeddingModel(
|
|
1040
|
+
model.embeddingModel("my-model-id");
|
|
803
1041
|
```
|
|
804
1042
|
|
|
805
1043
|
- Updated dependencies [8d9e8ad]
|
|
@@ -1630,7 +1868,7 @@
|
|
|
1630
1868
|
|
|
1631
1869
|
```js
|
|
1632
1870
|
await generateImage({
|
|
1633
|
-
model: luma.image(
|
|
1871
|
+
model: luma.image("photon-flash-1", {
|
|
1634
1872
|
maxImagesPerCall: 5,
|
|
1635
1873
|
pollIntervalMillis: 500,
|
|
1636
1874
|
}),
|
|
@@ -1643,7 +1881,7 @@
|
|
|
1643
1881
|
|
|
1644
1882
|
```js
|
|
1645
1883
|
await generateImage({
|
|
1646
|
-
model: luma.image(
|
|
1884
|
+
model: luma.image("photon-flash-1"),
|
|
1647
1885
|
prompt,
|
|
1648
1886
|
n: 10,
|
|
1649
1887
|
maxImagesPerCall: 5,
|
|
@@ -1957,7 +2195,7 @@
|
|
|
1957
2195
|
|
|
1958
2196
|
```js
|
|
1959
2197
|
await generateImage({
|
|
1960
|
-
model: luma.image(
|
|
2198
|
+
model: luma.image("photon-flash-1", {
|
|
1961
2199
|
maxImagesPerCall: 5,
|
|
1962
2200
|
pollIntervalMillis: 500,
|
|
1963
2201
|
}),
|
|
@@ -1970,7 +2208,7 @@
|
|
|
1970
2208
|
|
|
1971
2209
|
```js
|
|
1972
2210
|
await generateImage({
|
|
1973
|
-
model: luma.image(
|
|
2211
|
+
model: luma.image("photon-flash-1"),
|
|
1974
2212
|
prompt,
|
|
1975
2213
|
n: 10,
|
|
1976
2214
|
maxImagesPerCall: 5,
|
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
The **[Azure provider](https://ai-sdk.dev/providers/ai-sdk-providers/azure)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the Azure OpenAI API.
|
|
4
4
|
|
|
5
|
+
> **Deploying to Vercel?** With Vercel's AI Gateway you can access Azure OpenAI (and hundreds of models from other providers) — no additional packages, API keys, or extra cost. [Get started with AI Gateway](https://vercel.com/ai-gateway).
|
|
6
|
+
|
|
5
7
|
## Setup
|
|
6
8
|
|
|
7
9
|
The Azure provider is available in the `@ai-sdk/azure` module. You can install it with
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions, OpenAILanguageModelChatOptions, OpenAILanguageModelResponsesOptions, OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions } from '@ai-sdk/openai';
|
|
2
|
-
import {
|
|
2
|
+
import { ProviderV4, LanguageModelV4, EmbeddingModelV4, ImageModelV4, TranscriptionModelV4, SpeechModelV4 } from '@ai-sdk/provider';
|
|
3
3
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
import { codeInterpreter, fileSearch, imageGeneration, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesTextProviderMetadata, ResponsesSourceDocumentProviderMetadata } from '@ai-sdk/openai/internal';
|
|
5
5
|
|
|
@@ -10,56 +10,56 @@ declare const azureOpenaiTools: {
|
|
|
10
10
|
webSearchPreview: typeof webSearchPreview;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
interface AzureOpenAIProvider extends
|
|
14
|
-
(deploymentId: string):
|
|
13
|
+
interface AzureOpenAIProvider extends ProviderV4 {
|
|
14
|
+
(deploymentId: string): LanguageModelV4;
|
|
15
15
|
/**
|
|
16
16
|
* Creates an Azure OpenAI responses API model for text generation.
|
|
17
17
|
*/
|
|
18
|
-
languageModel(deploymentId: string):
|
|
18
|
+
languageModel(deploymentId: string): LanguageModelV4;
|
|
19
19
|
/**
|
|
20
20
|
* Creates an Azure OpenAI chat model for text generation.
|
|
21
21
|
*/
|
|
22
|
-
chat(deploymentId: string):
|
|
22
|
+
chat(deploymentId: string): LanguageModelV4;
|
|
23
23
|
/**
|
|
24
24
|
* Creates an Azure OpenAI responses API model for text generation.
|
|
25
25
|
*/
|
|
26
|
-
responses(deploymentId: string):
|
|
26
|
+
responses(deploymentId: string): LanguageModelV4;
|
|
27
27
|
/**
|
|
28
28
|
* Creates an Azure OpenAI completion model for text generation.
|
|
29
29
|
*/
|
|
30
|
-
completion(deploymentId: string):
|
|
30
|
+
completion(deploymentId: string): LanguageModelV4;
|
|
31
31
|
/**
|
|
32
32
|
* Creates an Azure OpenAI model for text embeddings.
|
|
33
33
|
*/
|
|
34
|
-
embedding(deploymentId: string):
|
|
34
|
+
embedding(deploymentId: string): EmbeddingModelV4;
|
|
35
35
|
/**
|
|
36
36
|
* Creates an Azure OpenAI model for text embeddings.
|
|
37
37
|
*/
|
|
38
|
-
embeddingModel(deploymentId: string):
|
|
38
|
+
embeddingModel(deploymentId: string): EmbeddingModelV4;
|
|
39
39
|
/**
|
|
40
40
|
* @deprecated Use `embedding` instead.
|
|
41
41
|
*/
|
|
42
|
-
textEmbedding(deploymentId: string):
|
|
42
|
+
textEmbedding(deploymentId: string): EmbeddingModelV4;
|
|
43
43
|
/**
|
|
44
44
|
* @deprecated Use `embeddingModel` instead.
|
|
45
45
|
*/
|
|
46
|
-
textEmbeddingModel(deploymentId: string):
|
|
46
|
+
textEmbeddingModel(deploymentId: string): EmbeddingModelV4;
|
|
47
47
|
/**
|
|
48
48
|
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
49
49
|
*/
|
|
50
|
-
image(deploymentId: string):
|
|
50
|
+
image(deploymentId: string): ImageModelV4;
|
|
51
51
|
/**
|
|
52
52
|
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
53
53
|
*/
|
|
54
|
-
imageModel(deploymentId: string):
|
|
54
|
+
imageModel(deploymentId: string): ImageModelV4;
|
|
55
55
|
/**
|
|
56
56
|
* Creates an Azure OpenAI model for audio transcription.
|
|
57
57
|
*/
|
|
58
|
-
transcription(deploymentId: string):
|
|
58
|
+
transcription(deploymentId: string): TranscriptionModelV4;
|
|
59
59
|
/**
|
|
60
60
|
* Creates an Azure OpenAI model for speech generation.
|
|
61
61
|
*/
|
|
62
|
-
speech(deploymentId: string):
|
|
62
|
+
speech(deploymentId: string): SpeechModelV4;
|
|
63
63
|
/**
|
|
64
64
|
* AzureOpenAI-specific tools.
|
|
65
65
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1,62 +1,51 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var src_exports = {};
|
|
22
|
-
__export(src_exports, {
|
|
23
|
-
VERSION: () => VERSION,
|
|
24
|
-
azure: () => azure,
|
|
25
|
-
createAzure: () => createAzure
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(src_exports);
|
|
28
|
-
|
|
29
1
|
// src/azure-openai-provider.ts
|
|
30
|
-
|
|
31
|
-
|
|
2
|
+
import {
|
|
3
|
+
OpenAIChatLanguageModel,
|
|
4
|
+
OpenAICompletionLanguageModel,
|
|
5
|
+
OpenAIEmbeddingModel,
|
|
6
|
+
OpenAIImageModel,
|
|
7
|
+
OpenAIResponsesLanguageModel,
|
|
8
|
+
OpenAISpeechModel,
|
|
9
|
+
OpenAITranscriptionModel
|
|
10
|
+
} from "@ai-sdk/openai/internal";
|
|
11
|
+
import {
|
|
12
|
+
loadApiKey,
|
|
13
|
+
loadSetting,
|
|
14
|
+
withUserAgentSuffix
|
|
15
|
+
} from "@ai-sdk/provider-utils";
|
|
32
16
|
|
|
33
17
|
// src/azure-openai-tools.ts
|
|
34
|
-
|
|
18
|
+
import {
|
|
19
|
+
codeInterpreter,
|
|
20
|
+
fileSearch,
|
|
21
|
+
imageGeneration,
|
|
22
|
+
webSearchPreview
|
|
23
|
+
} from "@ai-sdk/openai/internal";
|
|
35
24
|
var azureOpenaiTools = {
|
|
36
|
-
codeInterpreter
|
|
37
|
-
fileSearch
|
|
38
|
-
imageGeneration
|
|
39
|
-
webSearchPreview
|
|
25
|
+
codeInterpreter,
|
|
26
|
+
fileSearch,
|
|
27
|
+
imageGeneration,
|
|
28
|
+
webSearchPreview
|
|
40
29
|
};
|
|
41
30
|
|
|
42
31
|
// src/version.ts
|
|
43
|
-
var VERSION = true ? "4.0.0-beta.
|
|
32
|
+
var VERSION = true ? "4.0.0-beta.31" : "0.0.0-test";
|
|
44
33
|
|
|
45
34
|
// src/azure-openai-provider.ts
|
|
46
35
|
function createAzure(options = {}) {
|
|
47
36
|
var _a;
|
|
48
37
|
const getHeaders = () => {
|
|
49
38
|
const baseHeaders = {
|
|
50
|
-
"api-key":
|
|
39
|
+
"api-key": loadApiKey({
|
|
51
40
|
apiKey: options.apiKey,
|
|
52
41
|
environmentVariableName: "AZURE_API_KEY",
|
|
53
42
|
description: "Azure OpenAI"
|
|
54
43
|
}),
|
|
55
44
|
...options.headers
|
|
56
45
|
};
|
|
57
|
-
return
|
|
46
|
+
return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);
|
|
58
47
|
};
|
|
59
|
-
const getResourceName = () =>
|
|
48
|
+
const getResourceName = () => loadSetting({
|
|
60
49
|
settingValue: options.resourceName,
|
|
61
50
|
settingName: "resourceName",
|
|
62
51
|
environmentVariableName: "AZURE_RESOURCE_NAME",
|
|
@@ -75,44 +64,45 @@ function createAzure(options = {}) {
|
|
|
75
64
|
fullUrl.searchParams.set("api-version", apiVersion);
|
|
76
65
|
return fullUrl.toString();
|
|
77
66
|
};
|
|
78
|
-
const createChatModel = (deploymentName) => new
|
|
67
|
+
const createChatModel = (deploymentName) => new OpenAIChatLanguageModel(deploymentName, {
|
|
79
68
|
provider: "azure.chat",
|
|
80
69
|
url,
|
|
81
70
|
headers: getHeaders,
|
|
82
71
|
fetch: options.fetch
|
|
83
72
|
});
|
|
84
|
-
const createCompletionModel = (modelId) => new
|
|
73
|
+
const createCompletionModel = (modelId) => new OpenAICompletionLanguageModel(modelId, {
|
|
85
74
|
provider: "azure.completion",
|
|
86
75
|
url,
|
|
87
76
|
headers: getHeaders,
|
|
88
77
|
fetch: options.fetch
|
|
89
78
|
});
|
|
90
|
-
const createEmbeddingModel = (modelId) => new
|
|
79
|
+
const createEmbeddingModel = (modelId) => new OpenAIEmbeddingModel(modelId, {
|
|
91
80
|
provider: "azure.embeddings",
|
|
92
81
|
headers: getHeaders,
|
|
93
82
|
url,
|
|
94
83
|
fetch: options.fetch
|
|
95
84
|
});
|
|
96
|
-
const createResponsesModel = (modelId) => new
|
|
85
|
+
const createResponsesModel = (modelId) => new OpenAIResponsesLanguageModel(modelId, {
|
|
97
86
|
provider: "azure.responses",
|
|
98
87
|
url,
|
|
99
88
|
headers: getHeaders,
|
|
100
89
|
fetch: options.fetch,
|
|
90
|
+
// Soft-deprecated. TODO: remove in v8
|
|
101
91
|
fileIdPrefixes: ["assistant-"]
|
|
102
92
|
});
|
|
103
|
-
const createImageModel = (modelId) => new
|
|
93
|
+
const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
|
|
104
94
|
provider: "azure.image",
|
|
105
95
|
url,
|
|
106
96
|
headers: getHeaders,
|
|
107
97
|
fetch: options.fetch
|
|
108
98
|
});
|
|
109
|
-
const createTranscriptionModel = (modelId) => new
|
|
99
|
+
const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {
|
|
110
100
|
provider: "azure.transcription",
|
|
111
101
|
url,
|
|
112
102
|
headers: getHeaders,
|
|
113
103
|
fetch: options.fetch
|
|
114
104
|
});
|
|
115
|
-
const createSpeechModel = (modelId) => new
|
|
105
|
+
const createSpeechModel = (modelId) => new OpenAISpeechModel(modelId, {
|
|
116
106
|
provider: "azure.speech",
|
|
117
107
|
url,
|
|
118
108
|
headers: getHeaders,
|
|
@@ -126,7 +116,7 @@ function createAzure(options = {}) {
|
|
|
126
116
|
}
|
|
127
117
|
return createResponsesModel(deploymentId);
|
|
128
118
|
};
|
|
129
|
-
provider.specificationVersion = "
|
|
119
|
+
provider.specificationVersion = "v4";
|
|
130
120
|
provider.languageModel = createResponsesModel;
|
|
131
121
|
provider.chat = createChatModel;
|
|
132
122
|
provider.completion = createCompletionModel;
|
|
@@ -143,10 +133,9 @@ function createAzure(options = {}) {
|
|
|
143
133
|
return provider;
|
|
144
134
|
}
|
|
145
135
|
var azure = createAzure();
|
|
146
|
-
|
|
147
|
-
0 && (module.exports = {
|
|
136
|
+
export {
|
|
148
137
|
VERSION,
|
|
149
138
|
azure,
|
|
150
139
|
createAzure
|
|
151
|
-
}
|
|
140
|
+
};
|
|
152
141
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["export type {\n OpenAILanguageModelResponsesOptions,\n /** @deprecated Use `OpenAILanguageModelResponsesOptions` instead. */\n OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions,\n OpenAILanguageModelChatOptions,\n /** @deprecated Use `OpenAILanguageModelChatOptions` instead. */\n OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions,\n} from '@ai-sdk/openai';\n\nexport { azure, createAzure } from './azure-openai-provider';\nexport type {\n AzureOpenAIProvider,\n AzureOpenAIProviderSettings,\n} from './azure-openai-provider';\nexport type {\n AzureResponsesProviderMetadata,\n AzureResponsesReasoningProviderMetadata,\n AzureResponsesTextProviderMetadata,\n AzureResponsesSourceDocumentProviderMetadata,\n} from './azure-openai-provider-metadata';\nexport { VERSION } from './version';\n","import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV3,\n LanguageModelV3,\n ProviderV3,\n ImageModelV3,\n SpeechModelV3,\n TranscriptionModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV3 {\n (deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV3;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV3;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,mBAQO;AASP,4BAKO;;;ACtBP,sBAKO;AAEA,IAAM,mBAKT;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACfO,IAAM,UACX,OACI,iBACA;;;AF0IC,SAAS,YACd,UAAuC,CAAC,GACnB;AAjJvB;AAkJE,QAAM,aAAa,MAAM;AACvB,UAAM,cAAc;AAAA,MAClB,eAAW,kCAAW;AAAA,QACpB,QAAQ,QAAQ;AAAA,QAChB,yBAAyB;AAAA,QACzB,aAAa;AAAA,MACf,CAAC;AAAA,MACD,GAAG,QAAQ;AAAA,IACb;AACA,eAAO,2CAAoB,aAAa,gBAAgB,OAAO,EAAE;AAAA,EACnE;AAEA,QAAM,kBAAkB,UACtB,mCAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,cAAa,aAAQ,eAAR,YAAsB;AAEzC,QAAM,MAAM,CAAC,EAAE,MAAM,QAAQ,MAAyC;AAxKxE,QAAAC;AAyKI,UAAM,iBACJA,MAAA,QAAQ,YAAR,OAAAA,MAAmB,WAAW,gBAAgB,CAAC;AAEjD,QAAI;AACJ,QAAI,QAAQ,wBAAwB;AAElC,gBAAU,IAAI,IAAI,GAAG,aAAa,gBAAgB,OAAO,GAAG,IAAI,EAAE;AAAA,IACpE,OAAO;AAEL,gBAAU,IAAI,IAAI,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,IAChD;AAEA,YAAQ,aAAa,IAAI,eAAe,UAAU;AAClD,WAAO,QAAQ,SAAS;AAAA,EAC1B;AAEA,QAAM,kBAAkB,CAAC,mBACvB,IAAI,yCAAwB,gBAAgB;AAAA,IAC1C,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,wBAAwB,CAAC,YAC7B,IAAI,+CAA8B,SAAS;AAAA,IACzC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAAC,YAC5B,IAAI,sCAAqB,SAAS;AAAA,IAChC,UAAU;AAAA,IACV,SAAS;AAAA,IACT;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAAC,YAC5B,IAAI,8CAA6B,SAAS;AAAA,IACxC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,IACf,gBAAgB,CAAC,YAAY;AAAA,EAC/B,CAAC;AAEH,QAAM,mBAAmB,CAAC,YACxB,IAAI,kCAAiB,SAAS;AAAA,IAC5B,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,2BAA2B,CAAC,YAChC,IAAI,0CAAyB,SAAS;AAAA,IACpC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,oBAAoB,CAAC,YACzB,IAAI,mCAAkB,SAAS;AAAA,IAC7B,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SAAU,cAAsB;AAC/C,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,qBAAqB,YAAY;AAAA,EAC1C;AAEA,WAAS,uBAAuB;AAChC,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,iBAAiB;AAC1B,WAAS,gBAAgB;AACzB,WAAS,qBAAqB;AAC9B,WAAS,QAAQ;AACjB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,gBAAgB;AACzB,WAAS,SAAS;AAClB,WAAS,QAAQ;AACjB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY;","names":["import_internal","_a"]}
|
|
1
|
+
{"version":3,"sources":["../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV4,\n LanguageModelV4,\n ProviderV4,\n ImageModelV4,\n SpeechModelV4,\n TranscriptionModelV4,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV4 {\n (deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV4;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV4;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV4;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV4;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV4;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV4;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV4;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV4;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n // Soft-deprecated. TODO: remove in v8\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v4' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["_a"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/azure",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.31",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"sideEffects": false,
|
|
6
7
|
"main": "./dist/index.js",
|
|
7
|
-
"module": "./dist/index.mjs",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/**/*",
|
|
@@ -24,21 +24,21 @@
|
|
|
24
24
|
"./package.json": "./package.json",
|
|
25
25
|
".": {
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
|
-
"import": "./dist/index.
|
|
28
|
-
"
|
|
27
|
+
"import": "./dist/index.js",
|
|
28
|
+
"default": "./dist/index.js"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@ai-sdk/openai": "4.0.0-beta.
|
|
33
|
-
"@ai-sdk/provider": "4.0.0-beta.
|
|
34
|
-
"@ai-sdk/provider-utils": "5.0.0-beta.
|
|
32
|
+
"@ai-sdk/openai": "4.0.0-beta.31",
|
|
33
|
+
"@ai-sdk/provider": "4.0.0-beta.12",
|
|
34
|
+
"@ai-sdk/provider-utils": "5.0.0-beta.20"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "20.17.24",
|
|
38
38
|
"tsup": "^8",
|
|
39
39
|
"typescript": "5.8.3",
|
|
40
40
|
"zod": "3.25.76",
|
|
41
|
-
"@ai-sdk/test-server": "2.0.0-beta.
|
|
41
|
+
"@ai-sdk/test-server": "2.0.0-beta.1",
|
|
42
42
|
"@vercel/ai-tsconfig": "0.0.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
@@ -65,9 +65,7 @@
|
|
|
65
65
|
"build": "pnpm clean && tsup --tsconfig tsconfig.build.json",
|
|
66
66
|
"build:watch": "pnpm clean && tsup --watch",
|
|
67
67
|
"clean": "del-cli dist docs *.tsbuildinfo",
|
|
68
|
-
"lint": "eslint \"./**/*.ts*\"",
|
|
69
68
|
"type-check": "tsc --build",
|
|
70
|
-
"prettier-check": "prettier --check \"./**/*.ts*\"",
|
|
71
69
|
"test": "pnpm test:node && pnpm test:edge",
|
|
72
70
|
"test:update": "pnpm test:node -u",
|
|
73
71
|
"test:watch": "vitest --config vitest.node.config.js",
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
OpenAITranscriptionModel,
|
|
9
9
|
} from '@ai-sdk/openai/internal';
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
EmbeddingModelV4,
|
|
12
|
+
LanguageModelV4,
|
|
13
|
+
ProviderV4,
|
|
14
|
+
ImageModelV4,
|
|
15
|
+
SpeechModelV4,
|
|
16
|
+
TranscriptionModelV4,
|
|
17
17
|
} from '@ai-sdk/provider';
|
|
18
18
|
import {
|
|
19
19
|
FetchFunction,
|
|
@@ -24,68 +24,68 @@ import {
|
|
|
24
24
|
import { azureOpenaiTools } from './azure-openai-tools';
|
|
25
25
|
import { VERSION } from './version';
|
|
26
26
|
|
|
27
|
-
export interface AzureOpenAIProvider extends
|
|
28
|
-
(deploymentId: string):
|
|
27
|
+
export interface AzureOpenAIProvider extends ProviderV4 {
|
|
28
|
+
(deploymentId: string): LanguageModelV4;
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Creates an Azure OpenAI responses API model for text generation.
|
|
32
32
|
*/
|
|
33
|
-
languageModel(deploymentId: string):
|
|
33
|
+
languageModel(deploymentId: string): LanguageModelV4;
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* Creates an Azure OpenAI chat model for text generation.
|
|
37
37
|
*/
|
|
38
|
-
chat(deploymentId: string):
|
|
38
|
+
chat(deploymentId: string): LanguageModelV4;
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* Creates an Azure OpenAI responses API model for text generation.
|
|
42
42
|
*/
|
|
43
|
-
responses(deploymentId: string):
|
|
43
|
+
responses(deploymentId: string): LanguageModelV4;
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Creates an Azure OpenAI completion model for text generation.
|
|
47
47
|
*/
|
|
48
|
-
completion(deploymentId: string):
|
|
48
|
+
completion(deploymentId: string): LanguageModelV4;
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* Creates an Azure OpenAI model for text embeddings.
|
|
52
52
|
*/
|
|
53
|
-
embedding(deploymentId: string):
|
|
53
|
+
embedding(deploymentId: string): EmbeddingModelV4;
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Creates an Azure OpenAI model for text embeddings.
|
|
57
57
|
*/
|
|
58
|
-
embeddingModel(deploymentId: string):
|
|
58
|
+
embeddingModel(deploymentId: string): EmbeddingModelV4;
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* @deprecated Use `embedding` instead.
|
|
62
62
|
*/
|
|
63
|
-
textEmbedding(deploymentId: string):
|
|
63
|
+
textEmbedding(deploymentId: string): EmbeddingModelV4;
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* @deprecated Use `embeddingModel` instead.
|
|
67
67
|
*/
|
|
68
|
-
textEmbeddingModel(deploymentId: string):
|
|
68
|
+
textEmbeddingModel(deploymentId: string): EmbeddingModelV4;
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
71
|
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
72
72
|
*/
|
|
73
|
-
image(deploymentId: string):
|
|
73
|
+
image(deploymentId: string): ImageModelV4;
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
77
77
|
*/
|
|
78
|
-
imageModel(deploymentId: string):
|
|
78
|
+
imageModel(deploymentId: string): ImageModelV4;
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
81
|
* Creates an Azure OpenAI model for audio transcription.
|
|
82
82
|
*/
|
|
83
|
-
transcription(deploymentId: string):
|
|
83
|
+
transcription(deploymentId: string): TranscriptionModelV4;
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Creates an Azure OpenAI model for speech generation.
|
|
87
87
|
*/
|
|
88
|
-
speech(deploymentId: string):
|
|
88
|
+
speech(deploymentId: string): SpeechModelV4;
|
|
89
89
|
|
|
90
90
|
/**
|
|
91
91
|
* AzureOpenAI-specific tools.
|
|
@@ -213,6 +213,7 @@ export function createAzure(
|
|
|
213
213
|
url,
|
|
214
214
|
headers: getHeaders,
|
|
215
215
|
fetch: options.fetch,
|
|
216
|
+
// Soft-deprecated. TODO: remove in v8
|
|
216
217
|
fileIdPrefixes: ['assistant-'],
|
|
217
218
|
});
|
|
218
219
|
|
|
@@ -250,7 +251,7 @@ export function createAzure(
|
|
|
250
251
|
return createResponsesModel(deploymentId);
|
|
251
252
|
};
|
|
252
253
|
|
|
253
|
-
provider.specificationVersion = '
|
|
254
|
+
provider.specificationVersion = 'v4' as const;
|
|
254
255
|
provider.languageModel = createResponsesModel;
|
|
255
256
|
provider.chat = createChatModel;
|
|
256
257
|
provider.completion = createCompletionModel;
|
package/dist/index.d.mts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
export { OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions, OpenAILanguageModelChatOptions, OpenAILanguageModelResponsesOptions, OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions } from '@ai-sdk/openai';
|
|
2
|
-
import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
|
|
3
|
-
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
|
-
import { codeInterpreter, fileSearch, imageGeneration, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesTextProviderMetadata, ResponsesSourceDocumentProviderMetadata } from '@ai-sdk/openai/internal';
|
|
5
|
-
|
|
6
|
-
declare const azureOpenaiTools: {
|
|
7
|
-
codeInterpreter: typeof codeInterpreter;
|
|
8
|
-
fileSearch: typeof fileSearch;
|
|
9
|
-
imageGeneration: typeof imageGeneration;
|
|
10
|
-
webSearchPreview: typeof webSearchPreview;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
interface AzureOpenAIProvider extends ProviderV3 {
|
|
14
|
-
(deploymentId: string): LanguageModelV3;
|
|
15
|
-
/**
|
|
16
|
-
* Creates an Azure OpenAI responses API model for text generation.
|
|
17
|
-
*/
|
|
18
|
-
languageModel(deploymentId: string): LanguageModelV3;
|
|
19
|
-
/**
|
|
20
|
-
* Creates an Azure OpenAI chat model for text generation.
|
|
21
|
-
*/
|
|
22
|
-
chat(deploymentId: string): LanguageModelV3;
|
|
23
|
-
/**
|
|
24
|
-
* Creates an Azure OpenAI responses API model for text generation.
|
|
25
|
-
*/
|
|
26
|
-
responses(deploymentId: string): LanguageModelV3;
|
|
27
|
-
/**
|
|
28
|
-
* Creates an Azure OpenAI completion model for text generation.
|
|
29
|
-
*/
|
|
30
|
-
completion(deploymentId: string): LanguageModelV3;
|
|
31
|
-
/**
|
|
32
|
-
* Creates an Azure OpenAI model for text embeddings.
|
|
33
|
-
*/
|
|
34
|
-
embedding(deploymentId: string): EmbeddingModelV3;
|
|
35
|
-
/**
|
|
36
|
-
* Creates an Azure OpenAI model for text embeddings.
|
|
37
|
-
*/
|
|
38
|
-
embeddingModel(deploymentId: string): EmbeddingModelV3;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Use `embedding` instead.
|
|
41
|
-
*/
|
|
42
|
-
textEmbedding(deploymentId: string): EmbeddingModelV3;
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Use `embeddingModel` instead.
|
|
45
|
-
*/
|
|
46
|
-
textEmbeddingModel(deploymentId: string): EmbeddingModelV3;
|
|
47
|
-
/**
|
|
48
|
-
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
49
|
-
*/
|
|
50
|
-
image(deploymentId: string): ImageModelV3;
|
|
51
|
-
/**
|
|
52
|
-
* Creates an Azure OpenAI DALL-E model for image generation.
|
|
53
|
-
*/
|
|
54
|
-
imageModel(deploymentId: string): ImageModelV3;
|
|
55
|
-
/**
|
|
56
|
-
* Creates an Azure OpenAI model for audio transcription.
|
|
57
|
-
*/
|
|
58
|
-
transcription(deploymentId: string): TranscriptionModelV3;
|
|
59
|
-
/**
|
|
60
|
-
* Creates an Azure OpenAI model for speech generation.
|
|
61
|
-
*/
|
|
62
|
-
speech(deploymentId: string): SpeechModelV3;
|
|
63
|
-
/**
|
|
64
|
-
* AzureOpenAI-specific tools.
|
|
65
|
-
*/
|
|
66
|
-
tools: typeof azureOpenaiTools;
|
|
67
|
-
}
|
|
68
|
-
interface AzureOpenAIProviderSettings {
|
|
69
|
-
/**
|
|
70
|
-
* Name of the Azure OpenAI resource. Either this or `baseURL` can be used.
|
|
71
|
-
*
|
|
72
|
-
* The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.
|
|
73
|
-
*/
|
|
74
|
-
resourceName?: string;
|
|
75
|
-
/**
|
|
76
|
-
* Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.
|
|
77
|
-
* When a baseURL is provided, the resourceName is ignored.
|
|
78
|
-
*
|
|
79
|
-
* With a baseURL, the resolved URL is `{baseURL}/v1{path}`.
|
|
80
|
-
*/
|
|
81
|
-
baseURL?: string;
|
|
82
|
-
/**
|
|
83
|
-
* API key for authenticating requests.
|
|
84
|
-
*/
|
|
85
|
-
apiKey?: string;
|
|
86
|
-
/**
|
|
87
|
-
* Custom headers to include in the requests.
|
|
88
|
-
*/
|
|
89
|
-
headers?: Record<string, string>;
|
|
90
|
-
/**
|
|
91
|
-
* Custom fetch implementation. You can use it as a middleware to intercept requests,
|
|
92
|
-
* or to provide a custom fetch implementation for e.g. testing.
|
|
93
|
-
*/
|
|
94
|
-
fetch?: FetchFunction;
|
|
95
|
-
/**
|
|
96
|
-
* Custom api version to use. Defaults to `preview`.
|
|
97
|
-
*/
|
|
98
|
-
apiVersion?: string;
|
|
99
|
-
/**
|
|
100
|
-
* Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:
|
|
101
|
-
* `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of
|
|
102
|
-
* `{baseURL}/v1{path}?api-version={apiVersion}`.
|
|
103
|
-
*/
|
|
104
|
-
useDeploymentBasedUrls?: boolean;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Create an Azure OpenAI provider instance.
|
|
108
|
-
*/
|
|
109
|
-
declare function createAzure(options?: AzureOpenAIProviderSettings): AzureOpenAIProvider;
|
|
110
|
-
/**
|
|
111
|
-
* Default Azure OpenAI provider instance.
|
|
112
|
-
*/
|
|
113
|
-
declare const azure: AzureOpenAIProvider;
|
|
114
|
-
|
|
115
|
-
type AzureResponsesProviderMetadata = {
|
|
116
|
-
azure: ResponsesProviderMetadata;
|
|
117
|
-
};
|
|
118
|
-
type AzureResponsesReasoningProviderMetadata = {
|
|
119
|
-
azure: ResponsesReasoningProviderMetadata;
|
|
120
|
-
};
|
|
121
|
-
type AzureResponsesTextProviderMetadata = {
|
|
122
|
-
azure: ResponsesTextProviderMetadata;
|
|
123
|
-
};
|
|
124
|
-
type AzureResponsesSourceDocumentProviderMetadata = {
|
|
125
|
-
azure: ResponsesSourceDocumentProviderMetadata;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
declare const VERSION: string;
|
|
129
|
-
|
|
130
|
-
export { type AzureOpenAIProvider, type AzureOpenAIProviderSettings, type AzureResponsesProviderMetadata, type AzureResponsesReasoningProviderMetadata, type AzureResponsesSourceDocumentProviderMetadata, type AzureResponsesTextProviderMetadata, VERSION, azure, createAzure };
|
package/dist/index.mjs
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
// src/azure-openai-provider.ts
|
|
2
|
-
import {
|
|
3
|
-
OpenAIChatLanguageModel,
|
|
4
|
-
OpenAICompletionLanguageModel,
|
|
5
|
-
OpenAIEmbeddingModel,
|
|
6
|
-
OpenAIImageModel,
|
|
7
|
-
OpenAIResponsesLanguageModel,
|
|
8
|
-
OpenAISpeechModel,
|
|
9
|
-
OpenAITranscriptionModel
|
|
10
|
-
} from "@ai-sdk/openai/internal";
|
|
11
|
-
import {
|
|
12
|
-
loadApiKey,
|
|
13
|
-
loadSetting,
|
|
14
|
-
withUserAgentSuffix
|
|
15
|
-
} from "@ai-sdk/provider-utils";
|
|
16
|
-
|
|
17
|
-
// src/azure-openai-tools.ts
|
|
18
|
-
import {
|
|
19
|
-
codeInterpreter,
|
|
20
|
-
fileSearch,
|
|
21
|
-
imageGeneration,
|
|
22
|
-
webSearchPreview
|
|
23
|
-
} from "@ai-sdk/openai/internal";
|
|
24
|
-
var azureOpenaiTools = {
|
|
25
|
-
codeInterpreter,
|
|
26
|
-
fileSearch,
|
|
27
|
-
imageGeneration,
|
|
28
|
-
webSearchPreview
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
// src/version.ts
|
|
32
|
-
var VERSION = true ? "4.0.0-beta.3" : "0.0.0-test";
|
|
33
|
-
|
|
34
|
-
// src/azure-openai-provider.ts
|
|
35
|
-
function createAzure(options = {}) {
|
|
36
|
-
var _a;
|
|
37
|
-
const getHeaders = () => {
|
|
38
|
-
const baseHeaders = {
|
|
39
|
-
"api-key": loadApiKey({
|
|
40
|
-
apiKey: options.apiKey,
|
|
41
|
-
environmentVariableName: "AZURE_API_KEY",
|
|
42
|
-
description: "Azure OpenAI"
|
|
43
|
-
}),
|
|
44
|
-
...options.headers
|
|
45
|
-
};
|
|
46
|
-
return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);
|
|
47
|
-
};
|
|
48
|
-
const getResourceName = () => loadSetting({
|
|
49
|
-
settingValue: options.resourceName,
|
|
50
|
-
settingName: "resourceName",
|
|
51
|
-
environmentVariableName: "AZURE_RESOURCE_NAME",
|
|
52
|
-
description: "Azure OpenAI resource name"
|
|
53
|
-
});
|
|
54
|
-
const apiVersion = (_a = options.apiVersion) != null ? _a : "v1";
|
|
55
|
-
const url = ({ path, modelId }) => {
|
|
56
|
-
var _a2;
|
|
57
|
-
const baseUrlPrefix = (_a2 = options.baseURL) != null ? _a2 : `https://${getResourceName()}.openai.azure.com/openai`;
|
|
58
|
-
let fullUrl;
|
|
59
|
-
if (options.useDeploymentBasedUrls) {
|
|
60
|
-
fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);
|
|
61
|
-
} else {
|
|
62
|
-
fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);
|
|
63
|
-
}
|
|
64
|
-
fullUrl.searchParams.set("api-version", apiVersion);
|
|
65
|
-
return fullUrl.toString();
|
|
66
|
-
};
|
|
67
|
-
const createChatModel = (deploymentName) => new OpenAIChatLanguageModel(deploymentName, {
|
|
68
|
-
provider: "azure.chat",
|
|
69
|
-
url,
|
|
70
|
-
headers: getHeaders,
|
|
71
|
-
fetch: options.fetch
|
|
72
|
-
});
|
|
73
|
-
const createCompletionModel = (modelId) => new OpenAICompletionLanguageModel(modelId, {
|
|
74
|
-
provider: "azure.completion",
|
|
75
|
-
url,
|
|
76
|
-
headers: getHeaders,
|
|
77
|
-
fetch: options.fetch
|
|
78
|
-
});
|
|
79
|
-
const createEmbeddingModel = (modelId) => new OpenAIEmbeddingModel(modelId, {
|
|
80
|
-
provider: "azure.embeddings",
|
|
81
|
-
headers: getHeaders,
|
|
82
|
-
url,
|
|
83
|
-
fetch: options.fetch
|
|
84
|
-
});
|
|
85
|
-
const createResponsesModel = (modelId) => new OpenAIResponsesLanguageModel(modelId, {
|
|
86
|
-
provider: "azure.responses",
|
|
87
|
-
url,
|
|
88
|
-
headers: getHeaders,
|
|
89
|
-
fetch: options.fetch,
|
|
90
|
-
fileIdPrefixes: ["assistant-"]
|
|
91
|
-
});
|
|
92
|
-
const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
|
|
93
|
-
provider: "azure.image",
|
|
94
|
-
url,
|
|
95
|
-
headers: getHeaders,
|
|
96
|
-
fetch: options.fetch
|
|
97
|
-
});
|
|
98
|
-
const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {
|
|
99
|
-
provider: "azure.transcription",
|
|
100
|
-
url,
|
|
101
|
-
headers: getHeaders,
|
|
102
|
-
fetch: options.fetch
|
|
103
|
-
});
|
|
104
|
-
const createSpeechModel = (modelId) => new OpenAISpeechModel(modelId, {
|
|
105
|
-
provider: "azure.speech",
|
|
106
|
-
url,
|
|
107
|
-
headers: getHeaders,
|
|
108
|
-
fetch: options.fetch
|
|
109
|
-
});
|
|
110
|
-
const provider = function(deploymentId) {
|
|
111
|
-
if (new.target) {
|
|
112
|
-
throw new Error(
|
|
113
|
-
"The Azure OpenAI model function cannot be called with the new keyword."
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
return createResponsesModel(deploymentId);
|
|
117
|
-
};
|
|
118
|
-
provider.specificationVersion = "v3";
|
|
119
|
-
provider.languageModel = createResponsesModel;
|
|
120
|
-
provider.chat = createChatModel;
|
|
121
|
-
provider.completion = createCompletionModel;
|
|
122
|
-
provider.embedding = createEmbeddingModel;
|
|
123
|
-
provider.embeddingModel = createEmbeddingModel;
|
|
124
|
-
provider.textEmbedding = createEmbeddingModel;
|
|
125
|
-
provider.textEmbeddingModel = createEmbeddingModel;
|
|
126
|
-
provider.image = createImageModel;
|
|
127
|
-
provider.imageModel = createImageModel;
|
|
128
|
-
provider.responses = createResponsesModel;
|
|
129
|
-
provider.transcription = createTranscriptionModel;
|
|
130
|
-
provider.speech = createSpeechModel;
|
|
131
|
-
provider.tools = azureOpenaiTools;
|
|
132
|
-
return provider;
|
|
133
|
-
}
|
|
134
|
-
var azure = createAzure();
|
|
135
|
-
export {
|
|
136
|
-
VERSION,
|
|
137
|
-
azure,
|
|
138
|
-
createAzure
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV3,\n LanguageModelV3,\n ProviderV3,\n ImageModelV3,\n SpeechModelV3,\n TranscriptionModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV3 {\n (deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV3;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV3;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["_a"]}
|