Skip to main content

OpenAICompatibleProvider

Trait OpenAICompatibleProvider 

Source
pub trait OpenAICompatibleProvider: Send + Sync {
    // Required methods
    fn provider_name(&self) -> &'static str;
    fn supports_prompt_caching(&self) -> bool;

    // Provided methods
    fn parse_openai_request(
        &self,
        value: &Value,
        default_model: &str,
    ) -> Option<LLMRequest> { ... }
    fn serialize_openai_messages(&self, request: &LLMRequest) -> Value { ... }
    fn parse_openai_response(
        &self,
        response: Value,
        model: String,
        include_cache: bool,
    ) -> Result<LLMResponse> { ... }
}
Expand description

Trait for providers that support standard OpenAI-compatible APIs

Required Methods§

Source

fn provider_name(&self) -> &'static str

Source

fn supports_prompt_caching(&self) -> bool

Provided Methods§

Source

fn parse_openai_request( &self, value: &Value, default_model: &str, ) -> Option<LLMRequest>

Parse request from OpenAI format

Source

fn serialize_openai_messages(&self, request: &LLMRequest) -> Value

Serialize messages to OpenAI format

Source

fn parse_openai_response( &self, response: Value, model: String, include_cache: bool, ) -> Result<LLMResponse>

Parse response from OpenAI format

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§