-
Stefy Lanza (nextime / spora ) authored
Brokered inference (both the streaming and buffered front executors) hard-failed in the window where no engine/model was ready yet — e.g. engine still warming up, or an OOM-triggered evict+reload in progress. Over the broker that not-ready reply lands at the client as a single empty SSE chunk (the "empty reply / looks like a dead session" symptom), even though a direct API request to the same engine just waits (the engine's own /v1/chat/completions handler retries ~5min for a load). Make the broker paths behave like the direct path: when pick_engine returns no ready engine (or the engine returns a non-200 not-ready status), wait and retry, attempt-bound (6 × 5s), and only surface an error once retries are exhausted. A non-200 means no tokens were generated, so re-sending the body is safe (no duplicate output). Co-Authored-By:
Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RdMufYvtTbtGDWsiZVoXce
7b220b6c
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| admin | ||
| api | ||
| backends | ||
| broker | ||
| frontproxy | ||
| models | ||
| openai | ||
| pydantic | ||
| queue | ||
| tasks | ||
| __init__.py | ||
| cli.py | ||
| config.py | ||
| main.py | ||
| platform_paths.py | ||
| system_app.py |