@ai-sdk/azure
Version:
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.
138 lines (132 loc) • 5.23 kB
TypeScript
export { OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions, OpenAILanguageModelChatOptions, OpenAILanguageModelResponsesOptions, OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions } from '@ai-sdk/openai';
import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
import { FetchFunction } from '@ai-sdk/provider-utils';
import { codeInterpreter, fileSearch, imageGeneration, webSearch, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesTextProviderMetadata, ResponsesSourceDocumentProviderMetadata } from '@ai-sdk/openai/internal';
declare const azureOpenaiTools: {
codeInterpreter: typeof codeInterpreter;
fileSearch: typeof fileSearch;
imageGeneration: typeof imageGeneration;
webSearch: typeof webSearch;
webSearchPreview: typeof webSearchPreview;
};
interface AzureOpenAIProvider extends ProviderV3 {
(deploymentId: string): LanguageModelV3;
/**
* Creates an Azure OpenAI responses API model for text generation.
*/
languageModel(deploymentId: string): LanguageModelV3;
/**
* Creates an Azure OpenAI chat model for text generation.
*/
chat(deploymentId: string): LanguageModelV3;
/**
* Creates an Azure OpenAI responses API model for text generation.
*/
responses(deploymentId: string): LanguageModelV3;
/**
* Creates an Azure OpenAI completion model for text generation.
*/
completion(deploymentId: string): LanguageModelV3;
/**
* Creates an Azure OpenAI model for text embeddings.
*/
embedding(deploymentId: string): EmbeddingModelV3;
/**
* Creates an Azure OpenAI model for text embeddings.
*/
embeddingModel(deploymentId: string): EmbeddingModelV3;
/**
* @deprecated Use `embedding` instead.
*/
textEmbedding(deploymentId: string): EmbeddingModelV3;
/**
* @deprecated Use `embeddingModel` instead.
*/
textEmbeddingModel(deploymentId: string): EmbeddingModelV3;
/**
* Creates an Azure OpenAI DALL-E model for image generation.
*/
image(deploymentId: string): ImageModelV3;
/**
* Creates an Azure OpenAI DALL-E model for image generation.
*/
imageModel(deploymentId: string): ImageModelV3;
/**
* Creates an Azure OpenAI model for audio transcription.
*/
transcription(deploymentId: string): TranscriptionModelV3;
/**
* Creates an Azure OpenAI model for speech generation.
*/
speech(deploymentId: string): SpeechModelV3;
/**
* AzureOpenAI-specific tools.
*/
tools: typeof azureOpenaiTools;
}
interface AzureOpenAIProviderSettings {
/**
* Name of the Azure OpenAI resource. Either this or `baseURL` can be used.
*
* The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.
*/
resourceName?: string;
/**
* Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.
* When a baseURL is provided, the resourceName is ignored.
*
* With a baseURL, the resolved URL is `{baseURL}/v1{path}`.
*/
baseURL?: string;
/**
* API key for authenticating requests.
*/
apiKey?: string;
/**
* A function that returns an access token for Microsoft Entra
* (formerly known as Azure Active Directory), which will be invoked
* on every request.
*/
tokenProvider?: (() => Promise<string>) | undefined;
/**
* Custom headers to include in the requests.
*/
headers?: Record<string, string>;
/**
* Custom fetch implementation. You can use it as a middleware to intercept requests,
* or to provide a custom fetch implementation for e.g. testing.
*/
fetch?: FetchFunction;
/**
* Custom api version to use. Defaults to `preview`.
*/
apiVersion?: string;
/**
* Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:
* `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of
* `{baseURL}/v1{path}?api-version={apiVersion}`.
*/
useDeploymentBasedUrls?: boolean;
}
/**
* Create an Azure OpenAI provider instance.
*/
declare function createAzure(options?: AzureOpenAIProviderSettings): AzureOpenAIProvider;
/**
* Default Azure OpenAI provider instance.
*/
declare const azure: AzureOpenAIProvider;
type AzureResponsesProviderMetadata = {
azure: ResponsesProviderMetadata;
};
type AzureResponsesReasoningProviderMetadata = {
azure: ResponsesReasoningProviderMetadata;
};
type AzureResponsesTextProviderMetadata = {
azure: ResponsesTextProviderMetadata;
};
type AzureResponsesSourceDocumentProviderMetadata = {
azure: ResponsesSourceDocumentProviderMetadata;
};
declare const VERSION: string;
export { type AzureOpenAIProvider, type AzureOpenAIProviderSettings, type AzureResponsesProviderMetadata, type AzureResponsesReasoningProviderMetadata, type AzureResponsesSourceDocumentProviderMetadata, type AzureResponsesTextProviderMetadata, VERSION, azure, createAzure };