Trait InferenceGatewayAPI

Source
pub trait InferenceGatewayAPI {
    // Required methods
    fn list_models(&self) -> Result<Vec<ProviderModels>, GatewayError>;
    fn list_models_by_provider(
        &self,
        provider: Provider,
    ) -> Result<ProviderModels, GatewayError>;
    fn generate_content(
        &self,
        provider: Provider,
        model: &str,
        messages: Vec<Message>,
    ) -> Result<GenerateResponse, GatewayError>;
    fn health_check(&self) -> Result<bool, Box<dyn Error>>;
}
Expand description

Core API interface for the Inference Gateway

Required Methods§

Source

fn list_models(&self) -> Result<Vec<ProviderModels>, GatewayError>

Lists available models from all providers

Source

fn list_models_by_provider( &self, provider: Provider, ) -> Result<ProviderModels, GatewayError>

Lists available models by a specific provider

Source

fn generate_content( &self, provider: Provider, model: &str, messages: Vec<Message>, ) -> Result<GenerateResponse, GatewayError>

Generates content using a specified model

§Arguments
  • provider - The LLM provider to use
  • model - Name of the model
  • messages - Conversation history and prompt
Source

fn health_check(&self) -> Result<bool, Box<dyn Error>>

Checks if the API is available

Implementors§