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§
Sourcefn list_models(&self) -> Result<Vec<ProviderModels>, GatewayError>
fn list_models(&self) -> Result<Vec<ProviderModels>, GatewayError>
Lists available models from all providers
Sourcefn list_models_by_provider(
&self,
provider: Provider,
) -> Result<ProviderModels, GatewayError>
fn list_models_by_provider( &self, provider: Provider, ) -> Result<ProviderModels, GatewayError>
Lists available models by a specific provider
Sourcefn generate_content(
&self,
provider: Provider,
model: &str,
messages: Vec<Message>,
) -> Result<GenerateResponse, GatewayError>
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 usemodel- Name of the modelmessages- Conversation history and prompt