use omniference::{
server::OmniferenceServer,
types::{ProviderConfig, ProviderKind},
};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
let mut server = OmniferenceServer::new();
server
.add_provider(ProviderConfig {
name: "ollama".to_string(),
endpoint: omniference::types::ProviderEndpoint {
kind: ProviderKind::OpenAICompat,
base_url: "http://localhost:11434".to_string(),
api_key: None,
extra_headers: std::collections::BTreeMap::new(),
timeout: Some(30000),
},
enabled: true,
})
.await
.map_err(|e| anyhow::anyhow!(e))?;
let addr = "0.0.0.0:8080";
tracing::info!("Starting Omniference server on {}", addr);
server.run(addr).await?;
Ok(())
}