L’échec de la traduction par IA se produit silencieusement en cas d’erreur 503 du LLM — aucune logique de nouvelle tentative
Bogue : Lorsqu’un fournisseur LLM (Mistral, OpenAI) renvoie une erreur 503, DiscourseAi::Translation ignore silencieusement la traduction sans tenter de nouvelle tentative.
Exemple de journal :
DiscourseAi::Completions::Endpoints::Mistral : statut : 503
{“type”:“unreachable_backend”,“code”:“1100”}
DiscourseAi::Translation : Échec de la traduction du sujet X vers le russe
Cause racine : DiscourseAi::Completions::Endpoints ne dispose d’aucune logique de nouvelle tentative pour les erreurs serveur temporaires. Ce problème n’est pas spécifique à un fournisseur ; un comportement identique a été observé précédemment avec OpenAI.
Comportement attendu : Nouvelle tentative avec backoff exponentiel en cas de réponses 503/504 avant de marquer la traduction comme échouée.
Correction proposée : Ajouter une logique de nouvelle tentative dans DiscourseAi::Completions::Endpoints pour tous les fournisseurs de manière uniforme.
Cela affecte toute instance Discourse utilisant la traduction par IA avec plusieurs langues.