chronicle_proxy/providers/
deepinfra.rs

1use super::custom::{CustomProvider, OpenAiRequestFormatOptions, ProviderRequestFormat};
2use crate::config::CustomProviderConfig;
3
4pub struct DeepInfra;
5
6impl DeepInfra {
7    pub fn new(client: reqwest::Client, token: Option<String>) -> CustomProvider {
8        let config = CustomProviderConfig {
9            name: "deepinfra".into(),
10            label: Some("DeepInfra".to_string()),
11            url: "https://api.deepinfra.com/v1/openai/chat/completions".into(),
12            format: ProviderRequestFormat::OpenAi(OpenAiRequestFormatOptions::default()),
13            api_key: None,
14            api_key_source: None,
15            headers: Default::default(),
16            prefix: Some("deepinfra/".to_string()),
17        }
18        .with_token_or_env(token, "DEEPINFRA_API_KEY");
19
20        CustomProvider::new(config, client)
21    }
22}