use terraphim_multi_agent::{GenAiLlmClient, LlmMessage, LlmRequest};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("๐งช Basic Agent Usage Example - GenAI HTTP Client");
println!("=================================================");
let client = GenAiLlmClient::new_ollama(Some("gemma3:270m".to_string()))?;
println!("โ
Created GenAI Ollama client");
println!(" Model: {}", client.model());
println!(" Provider: {}", client.provider());
let prompt = "What is 2+2?";
println!("๐ค Asking: '{}'", prompt);
let messages = vec![
LlmMessage::system(
"You are a helpful assistant that gives concise, accurate answers.".to_string(),
),
LlmMessage::user(prompt.to_string()),
];
let request = LlmRequest::new(messages);
match client.generate(request).await {
Ok(response) => {
println!("โ
Response: {}", response.content);
println!(" Model: {}", response.model);
println!(" Duration: {}ms", response.duration_ms);
println!(
" Tokens: {} in / {} out",
response.usage.input_tokens, response.usage.output_tokens
);
println!("๐ Basic agent usage successful!");
}
Err(e) => {
println!("โ Error: {:?}", e);
println!("๐ก Make sure Ollama is running: ollama serve");
println!("๐ก Make sure gemma3:270m model is installed: ollama pull gemma3:270m");
return Err(e.into());
}
}
Ok(())
}