Skip to main content

LlmProvider

Trait LlmProvider 

Source
pub trait LlmProvider: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn complete(
        &self,
        request: &CompletionRequest,
    ) -> Result<CompletionResponse, LlmError>;
    fn embed(
        &self,
        request: &EmbeddingRequest,
    ) -> Result<EmbeddingResponse, LlmError>;
    fn is_available(&self) -> bool;
    fn metrics(&self) -> LlmProviderMetrics;
}
Expand description

Trait for LLM provider implementations.

Required Methods§

Source

fn name(&self) -> &str

Provider name (e.g., “openai”, “anthropic”, “ollama”).

Source

fn complete( &self, request: &CompletionRequest, ) -> Result<CompletionResponse, LlmError>

Send a completion request.

Source

fn embed( &self, request: &EmbeddingRequest, ) -> Result<EmbeddingResponse, LlmError>

Generate embeddings.

Source

fn is_available(&self) -> bool

Check if the provider is available/connected.

Source

fn metrics(&self) -> LlmProviderMetrics

Get provider metrics.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§