* fix(llm): support per-request provider timeouts * fix(llm): convert Gemini timeout to milliseconds * fix(llm): validate Gemini HTTP options * test(llm): type Anthropic stream context args * test(llm): live per-request timeout coverage for all providers Two live checks per provider: a generous timeout asserted at the SDK call boundary, and a tight timeout that must abort well under the 600s client default. Gemini's async transport can be aiohttp, so its tight timeout surfaces as asyncio.TimeoutError rather than httpx. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * style(tests): drop extra blank line in anthropic backend test Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(llm): validate provider_params.timeout at config load Move the timeout coercion into src.config as coerce_provider_timeout and run it from a field validator on ModelOverrideSettings.provider_params, so a bad value in config.toml/env fails at startup with the exact config path instead of surfacing per-request as a retried 500. Good values normalize to float seconds at load. The per-request guard in src.llm.backend now delegates to the same coercion (wrapping ValueError in ValidationException) and continues to cover extra_params passed programmatically. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs: document provider_params.timeout load-time validation and gotchas Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor(llm): address review nits on timeout plumbing Apply eisene's review feedback: - Rename PROVIDER_TIMEOUT_ERROR → PROVIDER_TIMEOUT_ERROR_TEXT - Move request_timeout_from_extra_params from backend.py (pure dataclasses) to request_builder.py (request assembly) - Add comment explaining Gemini's ms timeout conversion - Generalize _normalize_extra_params with _strip_none_params helper Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Aakash Kattelu <aakash@plasticlabs.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| changing-embeddings.mdx | ||
| configuration.mdx | ||
| guidelines.mdx | ||
| license.mdx | ||
| self-hosting.mdx | ||
| troubleshooting.mdx | ||