diff --git a/docs/03_Technical_References/03_tech_chat_backend.md b/docs/03_Technical_References/03_tech_chat_backend.md index d1bf0b1..5696fdf 100644 --- a/docs/03_Technical_References/03_tech_chat_backend.md +++ b/docs/03_Technical_References/03_tech_chat_backend.md @@ -3,8 +3,8 @@ doc_type: technical_reference audience: developer, architect scope: backend, chat, llm_service, traffic_control, resilience status: active -version: 2.8 -context: "Technische Implementierung des FastAPI-Routers, des hybriden LLMService und des WP-76 Resilienz-Systems." +version: 2.8.1 +context: "Technische Implementierung des FastAPI-Routers, des hybriden LLMService und der WP-20 Resilienz-Logik." --- # Chat Backend & Traffic Control @@ -48,7 +48,7 @@ Wenn der Intent `FACT` oder `DECISION` ist, wird folgender Flow ausgeführt: --- -## 2. LLM Service & Traffic Control (WP-15/WP-20) +## 2. LLM Service & Traffic Control (WP-20) Der `LLMService` (`app/services/llm_service.py`) fungiert als zentraler Hybrid-Client für OpenRouter, Google Gemini und Ollama. Er schützt das System vor Überlastung und verwaltet Quoten. @@ -74,7 +74,7 @@ Deadlocks und "hängende" Importe werden durch differenzierte Timeouts verhinder --- -## 3. Resilience & Quota Management (WP-76) +## 3. Resilience & Quota Management (WP-20) In v2.8 wurde ein intelligentes Fehler-Handling für Cloud-Provider implementiert: @@ -82,6 +82,7 @@ In v2.8 wurde ein intelligentes Fehler-Handling für Cloud-Provider implementier 2. **Intelligenter Backoff:** Statt sofort auf das langsame lokale Modell zu wechseln, pausiert das System für die Dauer von `LLM_RATE_LIMIT_WAIT` (Default: 60s). 3. **Cloud-Retry:** Nach der Pause erfolgt ein erneuter Versuch (bis zu `LLM_RATE_LIMIT_RETRIES` Mal). 4. **Ollama Fallback:** Erst nach Erschöpfung der Retries schaltet das System auf den lokalen Ollama um, um die Betriebssicherheit zu gewährleisten ("Quoten-Schutz"). +5. **Deep Fallback Support:** Der Service stellt die Infrastruktur für den inhaltsbasierten Fallback (v2.11.14) bereit, falls die Cloud zwar technisch antwortet, aber inhaltlich (z.B. wegen Policy-Filtern) keine Daten liefert. ---