Add OpenRouter provider and remove Perplexity

This commit is contained in:
2026-03-07 19:59:01 +03:00
parent bed4ba36d7
commit 167ddc9264
4 changed files with 31 additions and 31 deletions

View File

@@ -18,9 +18,9 @@ from .config import (
OPENAI_API_KEY,
OPENAI_API_URL,
OPENAI_MODEL,
PERPLEXITY_API_KEY,
PERPLEXITY_API_URL,
PERPLEXITY_MODEL,
OPENROUTER_API_KEY,
OPENROUTER_API_URL,
OPENROUTER_MODEL,
ZAI_API_KEY,
ZAI_API_URL,
ZAI_MODEL,
@@ -50,14 +50,14 @@ Separate variants with " / " (space slash space).
Keep the translation максимально кратким и естественным, без лишних слов."""
_PROVIDER_ALIASES = {
"": "perplexity",
"": "openrouter",
"anthropic": "anthropic",
"claude": "anthropic",
"claude_anthropic": "anthropic",
"gemini": "gemini",
"google": "gemini",
"openai": "openai",
"perplexity": "perplexity",
"openrouter": "openrouter",
"z.ai": "zai",
"z-ai": "zai",
"z_ai": "zai",
@@ -66,15 +66,15 @@ _PROVIDER_ALIASES = {
# В .env нужен только один AI-ключ
_PROVIDER_SETTINGS = {
"perplexity": {
"provider": "perplexity",
"openrouter": {
"provider": "openrouter",
"protocol": "openai_compatible",
"api_key": PERPLEXITY_API_KEY,
"model": PERPLEXITY_MODEL,
"api_url": PERPLEXITY_API_URL,
"name": "Perplexity",
"key_var": "PERPLEXITY_API_KEY",
"model_var": "PERPLEXITY_MODEL",
"api_key": OPENROUTER_API_KEY,
"model": OPENROUTER_MODEL,
"api_url": OPENROUTER_API_URL,
"name": "OpenRouter",
"key_var": "OPENROUTER_API_KEY",
"model_var": "OPENROUTER_MODEL",
},
"openai": {
"provider": "openai",
@@ -169,10 +169,10 @@ def _get_provider_settings():
supported = ", ".join(sorted(_PROVIDER_SETTINGS))
print(
f"⚠️ Неизвестный AI_PROVIDER={AI_PROVIDER!r}, используем Perplexity. "
f"⚠️ Неизвестный AI_PROVIDER={AI_PROVIDER!r}, используем OpenRouter. "
f"Поддерживаются: {supported}."
)
return _PROVIDER_SETTINGS["perplexity"], None
return _PROVIDER_SETTINGS["openrouter"], None
def _content_to_text(content) -> str:

View File

@@ -20,13 +20,13 @@ load_dotenv(BASE_DIR / ".env")
# --- Настройки AI ---
# AI_PROVIDER опционален. Приоритет у единственного активного AI API key.
# Если активных ключей несколько, AI-модуль вернет ошибку конфигурации.
AI_PROVIDER = os.getenv("AI_PROVIDER", "perplexity").strip().lower()
AI_PROVIDER = os.getenv("AI_PROVIDER", "openrouter").strip().lower()
# Perplexity
PERPLEXITY_API_KEY = os.getenv("PERPLEXITY_API_KEY")
PERPLEXITY_MODEL = os.getenv("PERPLEXITY_MODEL", "llama-3.1-sonar-small-128k-chat")
PERPLEXITY_API_URL = os.getenv(
"PERPLEXITY_API_URL", "https://api.perplexity.ai/chat/completions"
# OpenRouter
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY")
OPENROUTER_MODEL = os.getenv("OPENROUTER_MODEL", "openai/gpt-4o-mini")
OPENROUTER_API_URL = os.getenv(
"OPENROUTER_API_URL", "https://openrouter.ai/api/v1/chat/completions"
)
# OpenAI