Open
Description
Would like to enable something like this:
fn use_client<C: Config>(client: Box<dyn CommonClientTrait<ConfigType = C>>) {
// You can now call any method defined in the CommonClientTrait on the client
let models = client.models();
// ...
}
fn main() {
let openai_config = OpenAIConfig::default();
let openai_client = Client::with_config(openai_config);
use_client(Box::new(openai_client));
let azure_config = AzureConfig::default();
let azure_client = Client::with_config(azure_config);
use_client(Box::new(azure_client));
}