use openrouter_rust::{OpenRouterClient, ChatCompletionBuilder};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = OpenRouterClient::builder()
.api_key(std::env::var("OPENROUTER_API_KEY")?)
.http_referer("https://your-site.com")
.x_title("My Rust App")
.build()?;
let request = ChatCompletionBuilder::new("openai/gpt-3.5-turbo")
.system_message("You are a helpful assistant.")
.user_message("What is the capital of France?")
.temperature(0.7)
.max_tokens(150)
.build();
println!("Sending request to OpenRouter...");
let response = client.chat_completion(request).await?;
if let Some(choice) = response.choices.first() {
println!("\nResponse from model ({}):", response.model);
if let Some(ref content) = choice.message.content {
println!("{}", content);
}
if let Some(ref usage) = response.usage {
println!("\nUsage:");
println!(" Prompt tokens: {}", usage.prompt_tokens);
println!(" Completion tokens: {}", usage.completion_tokens);
println!(" Total tokens: {}", usage.total_tokens);
if let Some(cost) = usage.cost {
println!(" Cost: ${:.6}", cost);
}
}
}
Ok(())
}