use qai_sdk::prelude::*;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let api_key = std::env::var("XAI_API_KEY").expect("XAI_API_KEY not set");
let provider = create_xai(ProviderSettings {
api_key: Some(api_key),
..Default::default()
});
let model = provider.chat("grok-2");
let server_tools = vec![ServerTool {
tool_type: "code_execution".to_string(),
config: serde_json::json!({}),
}];
let prompt = Prompt::from_user("Calculate the first 10 prime numbers using Python.");
println!("Asking Grok with Code Execution...");
let result = model.generate(
prompt,
GenerateOptions {
model_id: "grok-2".to_string(),
server_tools: Some(server_tools),
..Default::default()
},
).await?;
println!("\nResponse:\n{}", result.text);
Ok(())
}