Handle slow AI backend timeouts

This commit is contained in:
Edern Deneuville
2026-09-11 13:43:12 +02:00
parent ad3f009ad6
commit 7bac4874d9
+14
View File
@@ -34,6 +34,13 @@ def _ask_ollama(prompt: str, config: AppConfig) -> str:
response = requests.post(url, json=payload, timeout=config.request_timeout_seconds)
response.raise_for_status()
data = response.json()
except requests.Timeout as exc:
timeout_label = "désactivé" if config.request_timeout_seconds is None else f"{config.request_timeout_seconds:.0f} s"
raise AIClientError(
"Ollama n'a pas répondu avant le délai configuré "
f"({timeout_label}). Le modèle est peut-être en chargement ou trop lent; "
"augmentez request_timeout_seconds dans config.json, ou mettez 0 pour désactiver le timeout."
) from exc
except requests.RequestException as exc:
raise AIClientError(f"Erreur Ollama: {exc}") from exc
except ValueError as exc:
@@ -65,6 +72,13 @@ def _ask_gemini(prompt: str, config: AppConfig) -> str:
)
response.raise_for_status()
data = response.json()
except requests.Timeout as exc:
timeout_label = "désactivé" if config.request_timeout_seconds is None else f"{config.request_timeout_seconds:.0f} s"
raise AIClientError(
"Gemini n'a pas répondu avant le délai configuré "
f"({timeout_label}). Augmentez request_timeout_seconds dans config.json, "
"ou mettez 0 pour désactiver le timeout."
) from exc
except requests.RequestException as exc:
raise AIClientError(f"Erreur Gemini: {exc}") from exc
except ValueError as exc: