UNPKG

@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
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 };