textmachine/eval/providers.json

83 lines
4.2 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_comment": "Конфиг провайдеров для refusal_bench.py. Ключи ТОЛЬКО из env (api_key_env). Все endpoints — OpenAI-совместимые chat/completions. Имена моделей проверить на дату прогона (депрекация deepseek-chat → 24.07.2026, см. research/09).",
"providers": [
{
"name": "deepseek",
"base_url": "https://api.deepseek.com/v1",
"model": "deepseek-chat",
"api_key_env": "DEEPSEEK_API_KEY",
"rps_delay": 0.5
},
{
"name": "qwen-intl",
"base_url": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
"model": "qwen-flash",
"api_key_env": "DASHSCOPE_API_KEY",
"rps_delay": 1.0,
"_comment": "Ожидаем hard_refusal через data_inspection_failed (gap-2 §4) — это и проверяем"
},
{
"name": "grok",
"base_url": "https://api.x.ai/v1",
"model": "grok-4-fast",
"api_key_env": "XAI_API_KEY",
"rps_delay": 0.5
},
{
"name": "glm",
"base_url": "https://api.z.ai/api/paas/v4",
"model": "glm-4.6",
"api_key_env": "ZAI_API_KEY",
"rps_delay": 1.0,
"timeout": 300,
"extra_body": { "thinking": { "type": "disabled" } },
"_comment": "thinking у GLM-4.6 включён по умолчанию и не влезал в 180с — для перевода отключаем"
},
{
"name": "kimi",
"base_url": "https://api.moonshot.ai/v1",
"model": "kimi-k2.6",
"api_key_env": "KIMI_API_KEY",
"rps_delay": 0.5,
"_comment": "Moonshot Kimi K2.6 — кандидат в редакторы zh-исходников (Р4); интернациональный endpoint api.moonshot.ai (не .cn)"
},
{
"name": "gemini",
"base_url": "https://generativelanguage.googleapis.com/v1beta/openai",
"model": "gemini-2.5-flash",
"api_key_env": "GEMINI_API_KEY",
"rps_delay": 1.0,
"max_tokens": 8000,
"extra_body": { "extra_body": { "google": { "thinking_config": { "thinking_budget": 0 } } } },
"_comment_safety": "safety_settings через OpenAI-совместимый слой НЕ передаются (проверено 2026-07-04: Unknown name). Дефолт фильтров у 2.5/3 — OFF (gap-2 §6); явное управление фильтрами → только нативный Gemini API (для продакшн-судьи)",
"_comment_thinking": "дефолтный thinking съедал max_tokens и обрезал перевод (ловился детектором вырезаний) — выключен через thinking_budget:0"
},
{
"name": "openai",
"base_url": "https://api.openai.com/v1",
"model": "gpt-5-mini",
"api_key_env": "OPENAI_API_KEY",
"rps_delay": 0.5,
"reasoning_params": true,
"max_tokens": 8000,
"extra_body": { "reasoning_effort": "minimal" },
"_comment": "Только для замера transformation exception (gap-2 §1) — НЕ канал продукта; reasoning_params: max_completion_tokens вместо max_tokens, без temperature; reasoning=minimal, иначе выжигал бюджет до пустого ответа"
},
{
"name": "openrouter-deepseek",
"base_url": "https://openrouter.ai/api/v1",
"model": "deepseek/deepseek-chat-v3-0324",
"api_key_env": "OPENROUTER_API_KEY",
"rps_delay": 1.0,
"_comment": "Открытые веса у пермиссивных хостеров — канал B №2; модель уточнить на дату прогона"
},
{
"name": "local-ollama",
"base_url": "http://localhost:11434/v1",
"model": "huihui_ai/qwen3-abliterated:8b",
"api_key_env": "OLLAMA_FAKE_KEY",
"rps_delay": 0.0,
"_comment": "Терминальный fallback (установлена на стенде 2026-07); env OLLAMA_FAKE_KEY=x; сэмплеры Qwen3 через /v1 не пробрасываются — для боевого прогона использовать тег с запечённым Modelfile (паттерн qwen3-vojo)"
}
]
}