pub type RetryCallback = dyn Fn(u32, u32, u64, &str);
非流式调用 LLM(含指数退避重试)
返回第一个 choice 的 message;出错时返回 Err(error_text)。 LLM API 重试回调:参数为 (attempt, max_attempts, delay_ms, error_message)