Fix: /v1/models auf geteilten Client (Regression aus 12c387a)

Beim Entfernen des httpx-Imports uebersehen: der /models-Endpoint nutzte httpx
noch direkt -> NameError/500. Jetzt zieht auch /models den geteilten
app.state.gw_client (request-Param ergaenzt). Live verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-05 10:24:18 +02:00
parent 12c387a6de
commit 93f447327b
+4 -4
View File
@@ -41,10 +41,10 @@ _LANE_LABELS = {"coding": "Coding (Router → coder/heavy/fast)", "chat": "Chat
@router.get("/models") @router.get("/models")
async def models(): async def models(request: Request):
async with httpx.AsyncClient(timeout=10) as c: client = request.app.state.gw_client # geteilter Keep-Alive-Client (siehe app.py lifespan)
r = await c.get(f"{LLAMA_SWAP_URL}/v1/models") r = await client.get(f"{LLAMA_SWAP_URL}/v1/models", timeout=10.0)
data = r.json() data = r.json()
# Lanes ganz oben einblenden, damit IDEs einfach „coding"/„chat" wählen können. # Lanes ganz oben einblenden, damit IDEs einfach „coding"/„chat" wählen können.
lanes = [{"id": lane, "object": "model", "owned_by": "mc2-router", lanes = [{"id": lane, "object": "model", "owned_by": "mc2-router",
"description": _LANE_LABELS.get(lane, lane)} for lane in LANES] "description": _LANE_LABELS.get(lane, lane)} for lane in LANES]