use wauldo::{ChatMessage, ChatRequest, HttpClient, Result};
#[tokio::main]
async fn main() -> Result<()> {
let client = HttpClient::localhost()?;
let models = client.list_models().await?;
println!("Available models:");
for m in &models.data {
println!(" - {}", m.id);
}
let model = models
.data
.first()
.map(|m| m.id.clone())
.unwrap_or_else(|| "qwen2.5:7b".to_string());
let messages = vec![
ChatMessage::system("You are a helpful assistant. Be concise."),
ChatMessage::user("What is Rust's ownership model in one sentence?"),
];
let req = ChatRequest::new(&model, messages);
let resp = client.chat(req).await?;
let answer = resp.choices[0]
.message
.content
.as_deref()
.unwrap_or("<no content>");
println!("\nAssistant: {}", answer);
println!("Tokens used: {}", resp.usage.total_tokens);
Ok(())
}