OpenAICompatibleProvider
Namespace: Vercel.AI.OpenAICompatible
public class OpenAICompatibleProvider : ProviderBaseProvider that speaks the OpenAI Chat Completions, embeddings, and images APIs.
Inheritance: object → ProviderBase
Derived: AlibabaProvider, AssemblyAIProvider, AzureOpenAIProvider, BasetenProvider, BlackForestLabsProvider, ByteDanceProvider, CartesiaProvider, CerebrasProvider, DeepInfraProvider, DeepSeekProvider, DeepgramProvider, ElevenLabsProvider, FalProvider, FireworksProvider, FishAudioProvider, GladiaProvider, GmiCloudProvider, GroqProvider, HeyGenProvider, HuggingFaceProvider, HumeProvider, KlingAIProvider, LumaProvider, MistralProvider, MoonshotProvider, OpenAIProvider, PerplexityProvider, ProdiaProvider, QuiverAIProvider, ReplicateProvider, RevAIProvider, TogetherAIProvider, VoyageProvider, XaiProvider, ZaiProvider
Constructors
Section titled “Constructors”OpenAICompatibleProvider(OpenAICompatibleOptions, HttpClient)
Section titled “OpenAICompatibleProvider(OpenAICompatibleOptions, HttpClient)”public OpenAICompatibleProvider(OpenAICompatibleOptions options, HttpClient httpClient)Creates a provider. The caller owns <code class=“paramref”>httpClient</code>.
Parameters
| Name | Type | Description |
|---|---|---|
options |
OpenAICompatibleOptions | |
httpClient |
HttpClient |
Properties
Section titled “Properties”public ProviderHttp Http { get; }HTTP helper used by the models.
Value: ProviderHttp
Options
Section titled “Options”public OpenAICompatibleOptions Options { get; }Options used to build requests.
Value: OpenAICompatibleOptions
Methods
Section titled “Methods”ChatUri(string)
Section titled “ChatUri(string)”public Uri ChatUri(string modelId)Chat Completions URL for a model. Azure deployment routes include the model id.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: Uri
CompletionModel(string)
Section titled “CompletionModel(string)”public virtual OpenAICompatibleCompletionLanguageModel CompletionModel(string modelId)Creates a legacy Completions model.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: OpenAICompatibleCompletionLanguageModel
CompletionsUri(string)
Section titled “CompletionsUri(string)”public Uri CompletionsUri(string modelId)Completions URL.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: Uri
Create(OpenAICompatibleOptions, HttpMessageHandler?)
Section titled “Create(OpenAICompatibleOptions, HttpMessageHandler?)”public static OpenAICompatibleProvider Create(OpenAICompatibleOptions options, HttpMessageHandler? handler = null)Creates a provider with an HttpClient that uses <code class=“paramref”>handler</code>.
Parameters
| Name | Type | Description |
|---|---|---|
options |
OpenAICompatibleOptions | |
handler |
HttpMessageHandler |
Returns: OpenAICompatibleProvider
CreateChatModel(string)
Section titled “CreateChatModel(string)”public virtual OpenAICompatibleLanguageModel CreateChatModel(string modelId)Creates a chat model. Providers override this when support differs by model id.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: OpenAICompatibleLanguageModel
CreateHeaders()
Section titled “CreateHeaders()”public Dictionary<string, string?> CreateHeaders()Resolves the API key and builds request headers.
Returns: Dictionary<string, string>
CreateHeaders(IReadOnlyDictionary<string, string?>?)
Section titled “CreateHeaders(IReadOnlyDictionary<string, string?>?)”public Dictionary<string, string?> CreateHeaders(IReadOnlyDictionary<string, string?>? callHeaders)Builds headers and lets <code class=“paramref”>callHeaders</code> override them.
Parameters
| Name | Type | Description |
|---|---|---|
callHeaders |
IReadOnlyDictionary<string, string> |
Returns: Dictionary<string, string>
EmbeddingModel(string)
Section titled “EmbeddingModel(string)”public override IEmbeddingModel EmbeddingModel(string modelId)Returns an embedding model.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: IEmbeddingModel
EmbeddingsUri(string)
Section titled “EmbeddingsUri(string)”public Uri EmbeddingsUri(string modelId)Embeddings URL.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: Uri
GetBinaryAsync(Uri, IReadOnlyDictionary<string, string?>?, CancellationToken)
Section titled “GetBinaryAsync(Uri, IReadOnlyDictionary<string, string?>?, CancellationToken)”public Task<OpenAICompatibleBinaryResponse> GetBinaryAsync(Uri uri, IReadOnlyDictionary<string, string?>? headers, CancellationToken cancellationToken)Downloads raw bytes.
Parameters
| Name | Type | Description |
|---|---|---|
uri |
Uri | |
headers |
IReadOnlyDictionary<string, string> | |
cancellationToken |
CancellationToken |
Returns: Task<OpenAICompatibleBinaryResponse>
ImageModel(string)
Section titled “ImageModel(string)”public override IImageModel ImageModel(string modelId)Returns an image model.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: IImageModel
ImagesEditsUri()
Section titled “ImagesEditsUri()”public Uri ImagesEditsUri()Image edits URL.
Returns: Uri
ImagesUri()
Section titled “ImagesUri()”public Uri ImagesUri()Images URL.
Returns: Uri
LanguageModel(string)
Section titled “LanguageModel(string)”public override ILanguageModel LanguageModel(string modelId)Returns a language model.
Parameters
| Name | Type | Description |
|---|---|---|
modelId |
string |
Returns: ILanguageModel
PostBinaryAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)
Section titled “PostBinaryAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)”public Task<OpenAICompatibleBinaryResponse> PostBinaryAsync(Uri uri, string json, IReadOnlyDictionary<string, string?>? headers, CancellationToken cancellationToken)Posts JSON and returns the raw response bytes.
Parameters
| Name | Type | Description |
|---|---|---|
uri |
Uri | |
json |
string | |
headers |
IReadOnlyDictionary<string, string> | |
cancellationToken |
CancellationToken |
Returns: Task<OpenAICompatibleBinaryResponse>
PostJsonAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)
Section titled “PostJsonAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)”public Task<ProviderTextResponse> PostJsonAsync(Uri uri, string json, IReadOnlyDictionary<string, string?>? headers, CancellationToken cancellationToken)Posts JSON and rewrites the provider error message when one is available.
Parameters
| Name | Type | Description |
|---|---|---|
uri |
Uri | |
json |
string | |
headers |
IReadOnlyDictionary<string, string> | |
cancellationToken |
CancellationToken |
Returns: Task<ProviderTextResponse>
PostMultipartAsync(Uri, MultipartFormDataContent, IReadOnlyDictionary<string, string?>?, CancellationToken)
Section titled “PostMultipartAsync(Uri, MultipartFormDataContent, IReadOnlyDictionary<string, string?>?, CancellationToken)”public Task<ProviderTextResponse> PostMultipartAsync(Uri uri, MultipartFormDataContent content, IReadOnlyDictionary<string, string?>? headers, CancellationToken cancellationToken)Posts multipart form data and rewrites the provider error message when one is available.
Parameters
| Name | Type | Description |
|---|---|---|
uri |
Uri | |
content |
MultipartFormDataContent | |
headers |
IReadOnlyDictionary<string, string> | |
cancellationToken |
CancellationToken |
Returns: Task<ProviderTextResponse>
PostSseAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)
Section titled “PostSseAsync(Uri, string, IReadOnlyDictionary<string, string?>?, CancellationToken)”public Task<OpenAICompatibleSseResponse> PostSseAsync(Uri uri, string json, IReadOnlyDictionary<string, string?>? headers, CancellationToken cancellationToken)Posts JSON and opens an SSE response. The caller disposes the result.
Parameters
| Name | Type | Description |
|---|---|---|
uri |
Uri | |
json |
string | |
headers |
IReadOnlyDictionary<string, string> | |
cancellationToken |
CancellationToken |
Returns: Task<OpenAICompatibleSseResponse>
RerankUri()
Section titled “RerankUri()”public Uri RerankUri()Rerank URL.
Returns: Uri
ResolveApiKey()
Section titled “ResolveApiKey()”protected virtual string? ResolveApiKey()Resolves the API key. A missing key is omitted unless RequireApiKey is set.
Returns: string
Apache-2.0 · Copyright 2023 Vercel, Inc. · unofficial community port, not an official Vercel product