6. Communication Gemini
Cette section présente les mécanismes d'authentification et de résilience réseau permettant à ECHO d'interagir avec les modèles de langage distants sans interruption de service.
1. Connexion Multi-Sources et Authentification
Pour dialoguer avec les modèles d'intelligence artificielle, ECHO s'appuie sur une hiérarchie de fournisseurs d'accès. Vous pouvez utiliser votre abonnement Google via une connexion sécurisée directe (OAuth2) ou renseigner une à deux clés d'API AI Studio en solution principale ou de secours.
Lors de la toute première utilisation sans clé préconfigurée, ECHO affiche directement dans le chat un lien d'autorisation sécurisé à usage unique. Une fois le compte validé dans votre navigateur, vos jetons d'accès sont chiffrés et renouvelés automatiquement en tâche de fond.
2. Continuité de Service et Repli Automatique
Les serveurs de modèles de langage peuvent parfois connaître des pics de charge. ECHO intègre un coupe-circuit intelligent qui surveille la disponibilité de chaque point d'accès en temps réel :
- Basculement de serveur : Si un serveur Google met trop de temps à répondre ou renvoie une erreur de quota, ECHO bascule immédiatement la requête sur un serveur secondaire ou sur votre clé d'API de secours.
- Cascade cognitive descendante : Si un modèle de haute capacité (
PROMETHEUS) est temporairement indisponible, le système replie automatiquement la requête sur le modèle inférieur (APOLLOpuisZEPHYR) tout en avertissant l'IA du changement afin que votre conversation ne s'interrompe jamais.
⚙️ Dossier d'Ingénierie & Spécifications
1. Priorité des Identités d'Accès (EchoAuth.get_ordered_auth_providers())
- OAuth2 (API native Code Assist,
google_oauth2) : prioritaire, flux Authorization Code + PKCE (RFC 7636) via tunnel SSH éphémère (asyncsshsur les ports exposés8020–8024et callback loopback interne8025–8034). Rafraîchissement proactif à3 300 s(55 min) et routage sur le tenant globalaicode-consumers. - Clé API primaire (
google_api_key) : Google AI Studio (formatAIza…ouAQ.…). - Clé API secondaire (
google_api_key_secondary) : fallback de secours AI Studio.
2. Registre Cognitif Unifié Dual-Backend (ECHO_MODELS_REGISTRY)
| Identifiant Abstrait | Hiérarchie | Backend AI Studio (ai_studio_id) |
Backend Code Assist (ca_model_id) |
Thinking Level |
|---|---|---|---|---|
MODEL_PROMETHEUS |
2 |
gemini-4-argon |
gemini-4-argon-high |
medium (nominal) / high (cascade 429) |
MODEL_APOLLO |
1 |
gemini-3.8-flash |
gemini-3.8-flash-high |
high |
MODEL_ZEPHYR |
0 |
gemini-3.5-flash-lite |
gemini-3.5-flash-lite |
medium |
MODEL_DISTILLATION |
None |
gemini-3.5-flash-lite |
gemini-3.5-flash-lite |
low (temp=0.0) |
3. Client HTTP/2, Cascade Cognitive & Circuit Breaker OAuth2 (EchoGeminiClient)
- Multiplexage HTTP/2 : Connexion persistante via
httpx.AsyncClient(http2=True)(ECHO_HTTP_CLIENT_TIMEOUT = 600s), streaming Base64 Zéro-RAM par blocs de 3 Mo et normalisation stricte encamelCase(inlineData,functionDeclarations,functionCallingConfig). - Cascade Cognitive & Distillation : Lors d'une cascade descendante consécutive à un échec API (
429/503),get_generation_config(..., is_fallback_cascade=True)forcethinkingLevel: "high"sur le modèle de repli pour compenser la réduction de palier, tandis qu'une transition cognitive volontaire (new_cognitive_level) ou un clamping initial préserve le niveau nominal. En outre, l'utilitairecall_distillationfiltre strictement les blocs de pensée (if not p.get("thought")) lors de l'extraction de la réponse textuelle. - Fast-Failover Intra-Retry : Lors d'une erreur HTTP
401,420,429ou503en OAuth2, le client verrouille immédiatement l'endpoint fautif viastate_mgr.lock_agy_endpoint(pendantECHO_ENDPOINT_LOCK_TIMEOUT_MIN = 2min) et pivote sans délai sur l'URL saine du poolAGY_BASE_URLS(Prod / Daily Canary) avant d'appliquer le backoff exponentiel (ECHO_RETRY_BASE_DELAY = 3.0s,ECHO_RETRY_MULTIPLIER = 1.5,ECHO_API_MAX_RETRIES = 5,ECHO_API_KEY_RETRIES = 2).