pub struct OpenAICompatibleConfig {
pub provider_name: String,
pub api_key: String,
pub model: String,
pub base_url: Option<String>,
pub organization_id: Option<String>,
pub project_id: Option<String>,
pub reasoning_effort: Option<ReasoningEffort>,
}models only.Expand description
Configuration for OpenAI-compatible providers.
Fields§
§provider_name: StringProvider display name used in error messages.
api_key: StringAPI key.
model: StringModel name.
base_url: Option<String>Optional API base URL.
organization_id: Option<String>Optional organization ID.
project_id: Option<String>Optional project ID for providers that support it.
reasoning_effort: Option<ReasoningEffort>Optional reasoning effort for OpenAI reasoning models.
Implementations§
Source§impl OpenAICompatibleConfig
impl OpenAICompatibleConfig
Sourcepub fn new(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn new( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Create config for an OpenAI-compatible provider.
Sourcepub fn with_provider_name(
self,
provider_name: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn with_provider_name( self, provider_name: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Set provider display name used in errors.
Sourcepub fn with_base_url(
self,
base_url: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn with_base_url( self, base_url: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Set a custom API base URL.
Sourcepub fn with_organization(
self,
organization_id: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn with_organization( self, organization_id: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Set organization ID.
Sourcepub fn with_project(
self,
project_id: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn with_project( self, project_id: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Set project ID.
Sourcepub fn with_reasoning_effort(
self,
effort: ReasoningEffort,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn with_reasoning_effort( self, effort: ReasoningEffort, ) -> OpenAICompatibleConfig
openai only.Set reasoning effort for reasoning models.
Sourcepub fn fireworks(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn fireworks( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Fireworks AI preset.
Default model: accounts/fireworks/models/llama-v3p1-8b-instruct
Sourcepub fn together(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn together( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Together AI preset.
Default model: meta-llama/Llama-3.3-70B-Instruct-Turbo
Sourcepub fn mistral(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn mistral( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Mistral AI preset.
Default model: mistral-small-latest
Sourcepub fn perplexity(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn perplexity( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Perplexity preset.
Default model: sonar
Sourcepub fn cerebras(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn cerebras( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Cerebras preset.
Default model: llama-3.3-70b
Sourcepub fn sambanova(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn sambanova( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.SambaNova preset.
Default model: Meta-Llama-3.3-70B-Instruct
Sourcepub fn xai(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn xai( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.xAI (Grok) preset.
Default model: grok-3-mini
Sourcepub fn gemini(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn gemini( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Google Gemini (OpenAI-compatible) preset.
Targets Gemini’s OpenAI-compatibility endpoint, letting you use a Gemini
API key and a Gemini model (e.g. gemini-3.5-flash) through the OpenAI
Chat Completions wire format. Use a GEMINI_API_KEY for the api_key.
For native Gemini features (thinking levels, server-side tools, the
Interactions API), prefer GeminiModel.
This preset is for callers who want a single OpenAI-compatible code path
across providers.
Default model suggestion: gemini-3.5-flash.
Sourcepub fn minimax(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn minimax( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.MiniMax preset.
Default model: minimax-m2.7
Sourcepub fn bytedance(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn bytedance( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.ByteDance Doubao (Volcano Engine Ark) preset.
Default model: doubao-1-5-pro-256k
Sourcepub fn zhipu(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn zhipu( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Zhipu AI (GLM) preset.
Default model: glm-5.1
Sourcepub fn baidu(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn baidu( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Baidu ERNIE (Qianfan) preset via OpenAI-compatible endpoint.
Default model: ernie-5
Note: Uses the Qianfan OpenAI-compatible endpoint. For the native Qianfan API with OAuth2 token exchange, use a dedicated client.
Sourcepub fn cohere(
api_key: impl Into<String>,
model: impl Into<String>,
) -> OpenAICompatibleConfig
Available on crate feature openai only.
pub fn cohere( api_key: impl Into<String>, model: impl Into<String>, ) -> OpenAICompatibleConfig
openai only.Cohere preset via OpenAI-compatible endpoint.
Default model: command-a-plus-05-2026
Note: For full Cohere features (citations, connectors, RAG), use the native Cohere API. This preset provides basic chat completions.
Trait Implementations§
Source§impl Clone for OpenAICompatibleConfig
impl Clone for OpenAICompatibleConfig
Source§fn clone(&self) -> OpenAICompatibleConfig
fn clone(&self) -> OpenAICompatibleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more