@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.
91 lines (86 loc) • 3.46 kB
text/typescript
import { OpenAIChatSettings, OpenAICompletionSettings, OpenAIEmbeddingSettings, OpenAIImageSettings } from '@ai-sdk/openai/internal';
import { ProviderV1, LanguageModelV1, EmbeddingModelV1, ImageModelV1, TranscriptionModelV1 } from '@ai-sdk/provider';
import { FetchFunction } from '@ai-sdk/provider-utils';
interface AzureOpenAIProvider extends ProviderV1 {
(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;
/**
Creates an Azure OpenAI chat model for text generation.
*/
languageModel(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;
/**
Creates an Azure OpenAI chat model for text generation.
*/
chat(deploymentId: string, settings?: OpenAIChatSettings): LanguageModelV1;
/**
Creates an Azure OpenAI responses API model for text generation.
*/
responses(deploymentId: string): LanguageModelV1;
/**
Creates an Azure OpenAI completion model for text generation.
*/
completion(deploymentId: string, settings?: OpenAICompletionSettings): LanguageModelV1;
/**
@deprecated Use `textEmbeddingModel` instead.
*/
embedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
/**
* Creates an Azure OpenAI DALL-E model for image generation.
* @deprecated Use `imageModel` instead.
*/
image(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;
/**
* Creates an Azure OpenAI DALL-E model for image generation.
*/
imageModel(deploymentId: string, settings?: OpenAIImageSettings): ImageModelV1;
/**
@deprecated Use `textEmbeddingModel` instead.
*/
textEmbedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
/**
Creates an Azure OpenAI model for text embeddings.
*/
textEmbeddingModel(deploymentId: string, settings?: OpenAIEmbeddingSettings): EmbeddingModelV1<string>;
/**
* Creates an Azure OpenAI model for audio transcription.
*/
transcription(deploymentId: string): TranscriptionModelV1;
}
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/deployments/{modelId}{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}/{modelId}{path}`.
*/
baseURL?: string;
/**
API key for authenticating requests.
*/
apiKey?: string;
/**
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 `2024-10-01-preview`.
*/
apiVersion?: string;
}
/**
Create an Azure OpenAI provider instance.
*/
declare function createAzure(options?: AzureOpenAIProviderSettings): AzureOpenAIProvider;
/**
Default Azure OpenAI provider instance.
*/
declare const azure: AzureOpenAIProvider;
export { type AzureOpenAIProvider, type AzureOpenAIProviderSettings, azure, createAzure };