"""Orchestration AI : route les requêtes des clients vers LiteLLM (s01). LiteLLM (:4000) est OpenAI-compatible et route lui-même vers Qwen3 (g01) ou Claude selon l'alias `hermes-default` / `hermes-switch`. L'intégration des outils Hermes (« agir sur Funk » via le gateway :8080) est une étape ultérieure. """ from __future__ import annotations import httpx from stt_server.config import settings async def ask(text: str) -> str: payload = { "model": settings.model, "messages": [ {"role": "system", "content": settings.system_prompt}, {"role": "user", "content": text}, ], "max_tokens": settings.max_tokens, "temperature": settings.temperature, } headers = {"Authorization": f"Bearer {settings.litellm_key}"} async with httpx.AsyncClient(timeout=settings.request_timeout) as client: r = await client.post(settings.litellm_url, json=payload, headers=headers) r.raise_for_status() return r.json()["choices"][0]["message"]["content"].strip()