diff --git a/frontend/src/app/admin/settings/page.tsx b/frontend/src/app/admin/settings/page.tsx index fa49755..1e7e4b9 100644 --- a/frontend/src/app/admin/settings/page.tsx +++ b/frontend/src/app/admin/settings/page.tsx @@ -75,9 +75,9 @@ const defaultConfig: SettingsConfig = { openrouter_premium: { enabled: false, api_key: "", model: "openai/gpt-4o-mini" }, zai: { enabled: false, api_key: "", base_url: "https://api.x.ai/v1", model: "grok-2-1212" }, smtp: { enabled: false, host: "", port: 587, username: "", password: "", from_email: "", use_tls: true }, - fallback_chain: "google,deepl,openai,ollama,openrouter,openrouter_premium,zai", - fallback_chain_classic: "google,deepl", - fallback_chain_llm: "ollama,openai,openrouter,zai", + fallback_chain: "google,google_cloud,deepl,openrouter,openrouter_premium,openai,deepseek,zai", + fallback_chain_classic: "google,google_cloud,deepl", + fallback_chain_llm: "openrouter,openrouter_premium,openai,deepseek,zai", }; const defaultEnvInfo: EnvInfo = { @@ -627,7 +627,7 @@ export default function AdminSettingsPage() { setConfig((prev) => ({ ...prev, fallback_chain_llm: e.target.value }))} - placeholder="ollama,openai" + placeholder="openrouter,openai,deepseek,zai" /> diff --git a/routes/admin_routes.py b/routes/admin_routes.py index 16c062e..75cb80d 100644 --- a/routes/admin_routes.py +++ b/routes/admin_routes.py @@ -837,9 +837,9 @@ class SettingsConfig(BaseModel): openrouter_premium: ProviderSettings = ProviderSettings() # "Traduction IA Premium" zai: ProviderSettings = ProviderSettings() smtp: SmtpSettings = SmtpSettings() - fallback_chain: str = "google,google_cloud,deepl,openai,ollama,openrouter,openrouter_premium,zai" - fallback_chain_classic: str = "google,deepl" - fallback_chain_llm: str = "openrouter,openrouter_premium,openai,zai,ollama" + fallback_chain: str = "google,google_cloud,deepl,openrouter,openrouter_premium,openai,deepseek,zai" + fallback_chain_classic: str = "google,google_cloud,deepl" + fallback_chain_llm: str = "openrouter,openrouter_premium,openai,deepseek,zai" def load_settings() -> SettingsConfig: diff --git a/services/providers/config.py b/services/providers/config.py index 86af18a..0769827 100644 --- a/services/providers/config.py +++ b/services/providers/config.py @@ -120,23 +120,23 @@ class ProvidersConfig: FALLBACK_CHAIN: List[str] = [ name.strip() for name in os.getenv( - "PROVIDER_FALLBACK_CHAIN", "google,deepl,deepseek,minimax,openai,ollama,openrouter" + "PROVIDER_FALLBACK_CHAIN", "google,google_cloud,deepl,openrouter,openrouter_premium,openai,deepseek,zai" ).split(",") if name.strip() ] # Mode-specific fallback chains - # Classic mode: Google Translate -> DeepL + # Classic mode: Google Translate -> Google Cloud -> DeepL FALLBACK_CHAIN_CLASSIC: List[str] = [ name.strip() - for name in os.getenv("FALLBACK_CHAIN_CLASSIC", "google,deepl").split(",") + for name in os.getenv("FALLBACK_CHAIN_CLASSIC", "google,google_cloud,deepl").split(",") if name.strip() ] - # LLM mode: Ollama (local) -> OpenAI (cloud) + # LLM mode: cloud providers in order of cost/quality (no Ollama by default) FALLBACK_CHAIN_LLM: List[str] = [ name.strip() - for name in os.getenv("FALLBACK_CHAIN_LLM", "ollama,openai").split(",") + for name in os.getenv("FALLBACK_CHAIN_LLM", "openrouter,openrouter_premium,openai,deepseek,zai").split(",") if name.strip() ]