@ai-sdk/azure 1.3.11 → 1.3.13
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 +17 -0
- package/dist/index.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @ai-sdk/azure
|
|
2
2
|
|
|
3
|
+
## 1.3.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [575339f]
|
|
8
|
+
- @ai-sdk/openai@1.3.12
|
|
9
|
+
|
|
10
|
+
## 1.3.12
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 3c26c55: feat(providers/azure): add transcribe
|
|
15
|
+
- Updated dependencies [beef951]
|
|
16
|
+
- @ai-sdk/provider@1.1.3
|
|
17
|
+
- @ai-sdk/openai@1.3.11
|
|
18
|
+
- @ai-sdk/provider-utils@2.2.7
|
|
19
|
+
|
|
3
20
|
## 1.3.11
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OpenAIChatSettings, OpenAICompletionSettings, OpenAIEmbeddingSettings, OpenAIImageSettings } from '@ai-sdk/openai/internal';
|
|
2
|
-
import { ProviderV1, LanguageModelV1, EmbeddingModelV1, ImageModelV1 } from '@ai-sdk/provider';
|
|
2
|
+
import { ProviderV1, LanguageModelV1, EmbeddingModelV1, ImageModelV1, TranscriptionModelV1 } from '@ai-sdk/provider';
|
|
3
3
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
5
|
interface AzureOpenAIProvider extends ProviderV1 {
|
|
@@ -41,6 +41,10 @@ interface AzureOpenAIProvider extends ProviderV1 {
|
|
|
41
41
|
Creates an Azure OpenAI model for text embeddings.
|
|
42
42
|
*/
|
|
43
43
|
textEmbeddingModel(deploymentId: string, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Creates an Azure OpenAI model for audio transcription.
|
|
46
|
+
*/
|
|
47
|
+
transcription(deploymentId: string): TranscriptionModelV1;
|
|
44
48
|
}
|
|
45
49
|
interface AzureOpenAIProviderSettings {
|
|
46
50
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OpenAIChatSettings, OpenAICompletionSettings, OpenAIEmbeddingSettings, OpenAIImageSettings } from '@ai-sdk/openai/internal';
|
|
2
|
-
import { ProviderV1, LanguageModelV1, EmbeddingModelV1, ImageModelV1 } from '@ai-sdk/provider';
|
|
2
|
+
import { ProviderV1, LanguageModelV1, EmbeddingModelV1, ImageModelV1, TranscriptionModelV1 } from '@ai-sdk/provider';
|
|
3
3
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
5
|
interface AzureOpenAIProvider extends ProviderV1 {
|
|
@@ -41,6 +41,10 @@ interface AzureOpenAIProvider extends ProviderV1 {
|
|
|
41
41
|
Creates an Azure OpenAI model for text embeddings.
|
|
42
42
|
*/
|
|
43
43
|
textEmbeddingModel(deploymentId: string, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Creates an Azure OpenAI model for audio transcription.
|
|
46
|
+
*/
|
|
47
|
+
transcription(deploymentId: string): TranscriptionModelV1;
|
|
44
48
|
}
|
|
45
49
|
interface AzureOpenAIProviderSettings {
|
|
46
50
|
/**
|
package/dist/index.js
CHANGED
|
@@ -83,6 +83,12 @@ function createAzure(options = {}) {
|
|
|
83
83
|
headers: getHeaders,
|
|
84
84
|
fetch: options.fetch
|
|
85
85
|
});
|
|
86
|
+
const createTranscriptionModel = (modelId) => new import_internal.OpenAITranscriptionModel(modelId, {
|
|
87
|
+
provider: "azure-openai.transcription",
|
|
88
|
+
url,
|
|
89
|
+
headers: getHeaders,
|
|
90
|
+
fetch: options.fetch
|
|
91
|
+
});
|
|
86
92
|
const provider = function(deploymentId, settings) {
|
|
87
93
|
if (new.target) {
|
|
88
94
|
throw new Error(
|
|
@@ -100,6 +106,7 @@ function createAzure(options = {}) {
|
|
|
100
106
|
provider.textEmbedding = createEmbeddingModel;
|
|
101
107
|
provider.textEmbeddingModel = createEmbeddingModel;
|
|
102
108
|
provider.responses = createResponsesModel;
|
|
109
|
+
provider.transcription = createTranscriptionModel;
|
|
103
110
|
return provider;
|
|
104
111
|
}
|
|
105
112
|
var azure = createAzure();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts"],"sourcesContent":["export { azure, createAzure } from './azure-openai-provider';\nexport type {\n AzureOpenAIProvider,\n AzureOpenAIProviderSettings,\n} from './azure-openai-provider';\n","import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAICompletionLanguageModel,\n OpenAICompletionSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAIImageModel,\n OpenAIImageSettings,\n OpenAIResponsesLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV1,\n LanguageModelV1,\n ProviderV1,\n ImageModelV1,\n} from '@ai-sdk/provider';\nimport { FetchFunction, loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider extends ProviderV1 {\n (deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): LanguageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n * @deprecated Use `imageModel` instead.\n */\n image(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(\n deploymentId: string,\n settings?: OpenAIImageSettings,\n ): ImageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbeddingModel(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource. Either this or `baseURL` can be used.\n\nThe resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/deployments/{modelId}{path}`.\n */\n resourceName?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\nWhen a baseURL is provided, the resourceName is ignored.\n\nWith a baseURL, the resolved URL is `{baseURL}/{modelId}{path}`.\n */\n baseURL?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\nCustom api version to use. Defaults to `2024-10-01-preview`.\n */\n apiVersion?: string;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\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 ?? '2025-03-01-preview';\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n if (path === '/responses') {\n return options.baseURL\n ? `${options.baseURL}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/responses?api-version=${apiVersion}`;\n }\n\n // Default URL format for other endpoints\n return options.baseURL\n ? `${options.baseURL}/${modelId}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=${apiVersion}`;\n };\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'strict',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'strict',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure-openai.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createImageModel = (\n modelId: string,\n settings: OpenAIImageSettings = {},\n ) =>\n new OpenAIImageModel(modelId, settings, {\n provider: 'azure-openai.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\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 createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.responses = createResponsesModel;\n return provider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts"],"sourcesContent":["export { azure, createAzure } from './azure-openai-provider';\nexport type {\n AzureOpenAIProvider,\n AzureOpenAIProviderSettings,\n} from './azure-openai-provider';\n","import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAICompletionLanguageModel,\n OpenAICompletionSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAIImageModel,\n OpenAIImageSettings,\n OpenAIResponsesLanguageModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV1,\n LanguageModelV1,\n ProviderV1,\n ImageModelV1,\n TranscriptionModelV1,\n} from '@ai-sdk/provider';\nimport { FetchFunction, loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider extends ProviderV1 {\n (deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): LanguageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n * @deprecated Use `imageModel` instead.\n */\n image(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(\n deploymentId: string,\n settings?: OpenAIImageSettings,\n ): ImageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbeddingModel(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV1;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource. Either this or `baseURL` can be used.\n\nThe resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/deployments/{modelId}{path}`.\n */\n resourceName?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\nWhen a baseURL is provided, the resourceName is ignored.\n\nWith a baseURL, the resolved URL is `{baseURL}/{modelId}{path}`.\n */\n baseURL?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\nCustom api version to use. Defaults to `2024-10-01-preview`.\n */\n apiVersion?: string;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\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 ?? '2025-03-01-preview';\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n if (path === '/responses') {\n return options.baseURL\n ? `${options.baseURL}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/responses?api-version=${apiVersion}`;\n }\n\n // Default URL format for other endpoints\n return options.baseURL\n ? `${options.baseURL}/${modelId}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=${apiVersion}`;\n };\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'strict',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'strict',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure-openai.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createImageModel = (\n modelId: string,\n settings: OpenAIImageSettings = {},\n ) =>\n new OpenAIImageModel(modelId, settings, {\n provider: 'azure-openai.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure-openai.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\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 createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n return provider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAWO;AAQP,4BAAuD;AAoHhD,SAAS,YACd,UAAuC,CAAC,GACnB;AAzIvB;AA0IE,QAAM,aAAa,OAAO;AAAA,IACxB,eAAW,kCAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,IACD,GAAG,QAAQ;AAAA,EACb;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;AACzC,QAAM,MAAM,CAAC,EAAE,MAAM,QAAQ,MAAyC;AACpE,QAAI,SAAS,cAAc;AACzB,aAAO,QAAQ,UACX,GAAG,QAAQ,OAAO,GAAG,IAAI,gBAAgB,UAAU,KACnD,WAAW,gBAAgB,CAAC,kDAAkD,UAAU;AAAA,IAC9F;AAGA,WAAO,QAAQ,UACX,GAAG,QAAQ,OAAO,IAAI,OAAO,GAAG,IAAI,gBAAgB,UAAU,KAC9D,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI,gBAAgB,UAAU;AAAA,EAClH;AAEA,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wCAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,wBAAwB,CAC5B,SACA,WAAqC,CAAC,MAEtC,IAAI,8CAA8B,SAAS,UAAU;AAAA,IACnD,UAAU;AAAA,IACV;AAAA,IACA,eAAe;AAAA,IACf,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAC3B,SACA,WAAoC,CAAC,MAErC,IAAI,qCAAqB,SAAS,UAAU;AAAA,IAC1C,UAAU;AAAA,IACV,SAAS;AAAA,IACT;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAAC,YAC5B,IAAI,6CAA6B,SAAS;AAAA,IACxC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,mBAAmB,CACvB,SACA,WAAgC,CAAC,MAEjC,IAAI,iCAAiB,SAAS,UAAU;AAAA,IACtC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,2BAA2B,CAAC,YAChC,IAAI,yCAAyB,SAAS;AAAA,IACpC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,QAAQ;AACjB,WAAS,aAAa;AACtB,WAAS,gBAAgB;AACzB,WAAS,qBAAqB;AAC9B,WAAS,YAAY;AACrB,WAAS,gBAAgB;AACzB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY;","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
OpenAICompletionLanguageModel,
|
|
5
5
|
OpenAIEmbeddingModel,
|
|
6
6
|
OpenAIImageModel,
|
|
7
|
-
OpenAIResponsesLanguageModel
|
|
7
|
+
OpenAIResponsesLanguageModel,
|
|
8
|
+
OpenAITranscriptionModel
|
|
8
9
|
} from "@ai-sdk/openai/internal";
|
|
9
10
|
import { loadApiKey, loadSetting } from "@ai-sdk/provider-utils";
|
|
10
11
|
function createAzure(options = {}) {
|
|
@@ -62,6 +63,12 @@ function createAzure(options = {}) {
|
|
|
62
63
|
headers: getHeaders,
|
|
63
64
|
fetch: options.fetch
|
|
64
65
|
});
|
|
66
|
+
const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {
|
|
67
|
+
provider: "azure-openai.transcription",
|
|
68
|
+
url,
|
|
69
|
+
headers: getHeaders,
|
|
70
|
+
fetch: options.fetch
|
|
71
|
+
});
|
|
65
72
|
const provider = function(deploymentId, settings) {
|
|
66
73
|
if (new.target) {
|
|
67
74
|
throw new Error(
|
|
@@ -79,6 +86,7 @@ function createAzure(options = {}) {
|
|
|
79
86
|
provider.textEmbedding = createEmbeddingModel;
|
|
80
87
|
provider.textEmbeddingModel = createEmbeddingModel;
|
|
81
88
|
provider.responses = createResponsesModel;
|
|
89
|
+
provider.transcription = createTranscriptionModel;
|
|
82
90
|
return provider;
|
|
83
91
|
}
|
|
84
92
|
var azure = createAzure();
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/azure-openai-provider.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAICompletionLanguageModel,\n OpenAICompletionSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAIImageModel,\n OpenAIImageSettings,\n OpenAIResponsesLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV1,\n LanguageModelV1,\n ProviderV1,\n ImageModelV1,\n} from '@ai-sdk/provider';\nimport { FetchFunction, loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider extends ProviderV1 {\n (deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): LanguageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n * @deprecated Use `imageModel` instead.\n */\n image(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(\n deploymentId: string,\n settings?: OpenAIImageSettings,\n ): ImageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbeddingModel(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource. Either this or `baseURL` can be used.\n\nThe resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/deployments/{modelId}{path}`.\n */\n resourceName?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\nWhen a baseURL is provided, the resourceName is ignored.\n\nWith a baseURL, the resolved URL is `{baseURL}/{modelId}{path}`.\n */\n baseURL?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\nCustom api version to use. Defaults to `2024-10-01-preview`.\n */\n apiVersion?: string;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\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 ?? '2025-03-01-preview';\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n if (path === '/responses') {\n return options.baseURL\n ? `${options.baseURL}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/responses?api-version=${apiVersion}`;\n }\n\n // Default URL format for other endpoints\n return options.baseURL\n ? `${options.baseURL}/${modelId}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=${apiVersion}`;\n };\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'strict',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'strict',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure-openai.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createImageModel = (\n modelId: string,\n settings: OpenAIImageSettings = {},\n ) =>\n new OpenAIImageModel(modelId, settings, {\n provider: 'azure-openai.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\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 createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.responses = createResponsesModel;\n return provider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,OACK;
|
|
1
|
+
{"version":3,"sources":["../src/azure-openai-provider.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAICompletionLanguageModel,\n OpenAICompletionSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAIImageModel,\n OpenAIImageSettings,\n OpenAIResponsesLanguageModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV1,\n LanguageModelV1,\n ProviderV1,\n ImageModelV1,\n TranscriptionModelV1,\n} from '@ai-sdk/provider';\nimport { FetchFunction, loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider extends ProviderV1 {\n (deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV1;\n\n /**\nCreates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): LanguageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n * @deprecated Use `imageModel` instead.\n */\n image(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(\n deploymentId: string,\n settings?: OpenAIImageSettings,\n ): ImageModelV1;\n\n /**\n@deprecated Use `textEmbeddingModel` instead.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbeddingModel(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV1;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource. Either this or `baseURL` can be used.\n\nThe resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/deployments/{modelId}{path}`.\n */\n resourceName?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\nWhen a baseURL is provided, the resourceName is ignored.\n\nWith a baseURL, the resolved URL is `{baseURL}/{modelId}{path}`.\n */\n baseURL?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\nCustom api version to use. Defaults to `2024-10-01-preview`.\n */\n apiVersion?: string;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\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 ?? '2025-03-01-preview';\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n if (path === '/responses') {\n return options.baseURL\n ? `${options.baseURL}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/responses?api-version=${apiVersion}`;\n }\n\n // Default URL format for other endpoints\n return options.baseURL\n ? `${options.baseURL}/${modelId}${path}?api-version=${apiVersion}`\n : `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=${apiVersion}`;\n };\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'strict',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'strict',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure-openai.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createImageModel = (\n modelId: string,\n settings: OpenAIImageSettings = {},\n ) =>\n new OpenAIImageModel(modelId, settings, {\n provider: 'azure-openai.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure-openai.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\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 createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n return provider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAQP,SAAwB,YAAY,mBAAmB;AAoHhD,SAAS,YACd,UAAuC,CAAC,GACnB;AAzIvB;AA0IE,QAAM,aAAa,OAAO;AAAA,IACxB,WAAW,WAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,IACD,GAAG,QAAQ;AAAA,EACb;AAEA,QAAM,kBAAkB,MACtB,YAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,cAAa,aAAQ,eAAR,YAAsB;AACzC,QAAM,MAAM,CAAC,EAAE,MAAM,QAAQ,MAAyC;AACpE,QAAI,SAAS,cAAc;AACzB,aAAO,QAAQ,UACX,GAAG,QAAQ,OAAO,GAAG,IAAI,gBAAgB,UAAU,KACnD,WAAW,gBAAgB,CAAC,kDAAkD,UAAU;AAAA,IAC9F;AAGA,WAAO,QAAQ,UACX,GAAG,QAAQ,OAAO,IAAI,OAAO,GAAG,IAAI,gBAAgB,UAAU,KAC9D,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI,gBAAgB,UAAU;AAAA,EAClH;AAEA,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wBAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,wBAAwB,CAC5B,SACA,WAAqC,CAAC,MAEtC,IAAI,8BAA8B,SAAS,UAAU;AAAA,IACnD,UAAU;AAAA,IACV;AAAA,IACA,eAAe;AAAA,IACf,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAC3B,SACA,WAAoC,CAAC,MAErC,IAAI,qBAAqB,SAAS,UAAU;AAAA,IAC1C,UAAU;AAAA,IACV,SAAS;AAAA,IACT;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAAC,YAC5B,IAAI,6BAA6B,SAAS;AAAA,IACxC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,mBAAmB,CACvB,SACA,WAAgC,CAAC,MAEjC,IAAI,iBAAiB,SAAS,UAAU;AAAA,IACtC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,2BAA2B,CAAC,YAChC,IAAI,yBAAyB,SAAS;AAAA,IACpC,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,QAAQ;AACjB,WAAS,aAAa;AACtB,WAAS,gBAAgB;AACzB,WAAS,qBAAqB;AAC9B,WAAS,YAAY;AACrB,WAAS,gBAAgB;AACzB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/azure",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.13",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@ai-sdk/openai": "1.3.
|
|
23
|
-
"@ai-sdk/provider": "1.1.
|
|
24
|
-
"@ai-sdk/provider-utils": "2.2.
|
|
22
|
+
"@ai-sdk/openai": "1.3.12",
|
|
23
|
+
"@ai-sdk/provider": "1.1.3",
|
|
24
|
+
"@ai-sdk/provider-utils": "2.2.7"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "20.17.24",
|