diff --git a/src/chat/client.rs b/src/chat/client.rs index 2a4cf4d..0adf83d 100644 --- a/src/chat/client.rs +++ b/src/chat/client.rs @@ -36,7 +36,13 @@ impl Default for Limits { fn default() -> Self { Self { connect: Duration::from_secs(10), - response: Duration::from_secs(60), + // This waits for the first bytes of the reply, and a + // reasoning model spends its whole deliberation before any + // byte reaches the wire: the provider holds the stream + // silent while the model thinks, so a high reasoning effort + // makes minutes of silence normal. Like `body`, this is a + // bound on a dead provider, not a budget for the model. + response: Duration::from_secs(300), // ureq measures this over the whole body, and the body of a // streamed turn is the whole turn. So this is a bound on a // dead connection, not a budget for the model: a healthy turn