Skip to content

OpenAIProvider

Namespace: Vercel.AI.OpenAI

public sealed class OpenAIProvider : OpenAICompatibleProvider, IBatchProvider

OpenAI provider: Chat Completions, Responses, embeddings, images, speech, transcription, files, and batches.

Inheritance: object → ProviderBase → OpenAICompatibleProvider

Implements: IBatchProvider

View source

OpenAIProvider(HttpClient, OpenAIOptions?)

Section titled “OpenAIProvider(HttpClient, OpenAIOptions?)”
public OpenAIProvider(HttpClient httpClient, OpenAIOptions? options = null)

Creates an OpenAI provider.

Parameters

Name Type Description
httpClient HttpClient
options OpenAIOptions

View source

public const string ProviderId = "openai"

Provider id.

Value: string

View source

public const string UserAgentSuffix = "ai-sdk/openai/4.0.73"

User-Agent suffix appended to every request. Tracks @ai-sdk/openai 4.0.73.

Value: string

View source

public HttpClient HttpClient { get; }

HTTP client used for calls that need response headers.

Value: HttpClient

View source

public override IBatchModel BatchModel()

Returns a batch model.

Returns: IBatchModel

View source

public OpenAIChatLanguageModel ChatModel(string modelId)

Chat Completions model. The provider id is openai.chat.

Parameters

Name Type Description
modelId string

Returns: OpenAIChatLanguageModel

View source

public OpenAICompletionLanguageModel CompletionModel(string modelId)

Legacy completions model. The provider id is openai.completion.

Parameters

Name Type Description
modelId string

Returns: OpenAICompletionLanguageModel

View source

Create(OpenAIOptions?, HttpMessageHandler?)

Section titled “Create(OpenAIOptions?, HttpMessageHandler?)”
public static OpenAIProvider Create(OpenAIOptions? options = null, HttpMessageHandler? handler = null)

Creates a provider. Pass a handler from tests.

Parameters

Name Type Description
options OpenAIOptions
handler HttpMessageHandler

Returns: OpenAIProvider

View source

CreateOpenAIHeaders(IReadOnlyDictionary<string, string?>?)

Section titled “CreateOpenAIHeaders(IReadOnlyDictionary<string, string?>?)”
public Dictionary<string, string?> CreateOpenAIHeaders(IReadOnlyDictionary<string, string?>? callHeaders = null)

Builds request headers. Custom provider headers override the API key, organization, and project. The user-agent suffix is appended after that, and per-call headers override the result.

Parameters

Name Type Description
callHeaders IReadOnlyDictionary<string, string>

Returns: Dictionary<string, string>

View source

public OpenAIDecisionModel DecisionModel(string modelId)

Decisions API model. The provider id is openai.decision.

Parameters

Name Type Description
modelId string

Returns: OpenAIDecisionModel

View source

public override IEmbeddingModel EmbeddingModel(string modelId)

Returns an embedding model.

Parameters

Name Type Description
modelId string

Returns: IEmbeddingModel

View source

[Obsolete("Use DecisionModel instead.")]
public OpenAIDecisionModel EvaluationModel(string modelId)

Deprecated alias of DecisionModel(string). Maps to evaluationModel.

Parameters

Name Type Description
modelId string

Returns: OpenAIDecisionModel

View source

public IBatchApi? ExperimentalBatch()

Batch API. Downloads batch results.

Returns: IBatchApi

View source

public override IFileStore FileStore()

Returns a file store.

Returns: IFileStore

View source

public override IImageModel ImageModel(string modelId)

Returns an image model.

Parameters

Name Type Description
modelId string

Returns: IImageModel

View source

public override ILanguageModel LanguageModel(string modelId)

Returns a language model.

Parameters

Name Type Description
modelId string

Returns: ILanguageModel

View source

public override IRealtimeModel RealtimeModel(string modelId)

Returns a realtime model.

Parameters

Name Type Description
modelId string

Returns: IRealtimeModel

View source

public OpenAIResponsesLanguageModel ResponsesModel(string modelId)

Responses API model. The provider id is openai.responses.

Parameters

Name Type Description
modelId string

Returns: OpenAIResponsesLanguageModel

View source

public override ISkillStore SkillStore()

Returns a skill store.

Returns: ISkillStore

View source

public override ISpeechModel SpeechModel(string modelId)

Returns a speech model.

Parameters

Name Type Description
modelId string

Returns: ISpeechModel

View source

public override ISpeechTranslationModel SpeechTranslationModel(string modelId)

Returns a speech translation model.

Parameters

Name Type Description
modelId string

Returns: ISpeechTranslationModel

View source

public override ITranscriptionModel TranscriptionModel(string modelId)

Returns a transcription model.

Parameters

Name Type Description
modelId string

Returns: ITranscriptionModel

View source

Apache-2.0 · Copyright 2023 Vercel, Inc. · unofficial community port, not an official Vercel product