PicoBot/src/main.rs

39 lines
1.2 KiB
Rust

mod config;
mod providers;
use config::Config;
use providers::{create_provider, ChatCompletionRequest, Message};
#[tokio::main]
async fn main() {
// Load config
let config = Config::load("config.json").expect("Failed to load config.json");
// Get provider config for "default" agent
let provider_config = config.get_provider_config("default").expect("Failed to get provider config");
// Create provider
let provider = create_provider(provider_config).expect("Failed to create provider");
println!("Provider type: {}", provider.ptype());
println!("Provider name: {}", provider.name());
println!("Model ID: {}", provider.model_id());
// Create request (no model ID needed - it's baked into the provider)
let request = ChatCompletionRequest {
messages: vec![Message {
role: "user".to_string(),
content: "Hello!".to_string(),
}],
temperature: None, // Will use config default if not provided
max_tokens: None, // Will use config default if not provided
tools: None,
};
// Example usage:
// match provider.chat(request).await {
// Ok(resp) => println!("Response: {}", resp.content),
// Err(e) => eprintln!("Error: {}", e),
// }
}