textmachine/backend/configs/models.yaml

114 lines
7.3 KiB
YAML
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.

# Модели и цены TextMachine (Р4/Р5: состав и цены — ТОЛЬКО здесь, с датой
# проверки; код не знает ни одной цены).
#
# Источники проверки 2026-07-04 (воркфлоу-фактчек, официальные страницы):
# DeepSeek https://api-docs.deepseek.com/quick_start/pricing
# Anthropic https://platform.claude.com/docs/en/about-claude/pricing
# Z.AI/GLM https://docs.z.ai/guides/overview/pricing
# Kimi https://platform.kimi.ai/docs/pricing/chat-k26
# xAI https://docs.x.ai/docs/models (Grok 4.1 Fast retired 15.05.2026!)
# Gemini https://ai.google.dev/gemini-api/docs/pricing
prices_checked: "2026-07-04"
# Fallback-якорь цены: неизвестная модель (например, фактическая модель после
# фейловера, которой нет в таблице) книжится по этой цене, никогда по $0.
default_model: deepseek-v4-flash
providers:
deepseek:
kind: openai
base_url: https://api.deepseek.com/v1
api_key_env: DEEPSEEK_API_KEY
reasoning: subset # thinking внутри completion_tokens
timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 }
zai: # GLM, международный контур (docs.z.ai)
kind: openai
base_url: https://api.z.ai/api/paas/v4
api_key_env: ZAI_API_KEY
reasoning: subset
timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 }
kimi: # домен сменился: platform.moonshot.ai → 301 → platform.kimi.ai
kind: openai
base_url: https://api.kimi.ai/v1
api_key_env: KIMI_API_KEY
reasoning: subset
timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 }
xai: # Grok — центральная модель Фазы 1: дефолт-редактор SFW + главный тир канала B + судья 18+.
# ⚠️ ГИГИЕНА АККАУНТОВ (D8/оркестратор): XAI_API_KEY обязан быть ЧИСТЫМ прод-аккаунтом
# БЕЗ data-sharing. Промо-$150-аккаунт (data-sharing) — ТОЛЬКО eval/NSFW, реальные книги
# через него гнать нельзя. По ключу это не проверяется — подтвердить перед боевым прогоном.
kind: openai
base_url: https://api.x.ai/v1
api_key_env: XAI_API_KEY
reasoning: additive # xAI биллит reasoning ПОВЕРХ completion (проверено vojo); think-ON заблокирован до резерва в EstimateUSD (D6.2/F3)
timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 }
# Anthropic убран из стека по решению владельца (04.07): дорого, в RU-контуре
# экономически недоступен (Р5), в eval не валидирован. Судья Р4 — Gemini
# (нативный адаптер, Фаза 2). Нативный Anthropic-адаптер в коде помечен
# DEPRECATED, но НЕ удалён — оставлен как референс нативного адаптера под
# Gemini Фазы 2 (см. provider_anthropic.go). Эскалация — не-Anthropic (Kimi/GLM).
local: # ollama/llama-server на стенде (боевой env — memory textmachine-local-stand)
kind: local
base_url: http://127.0.0.1:11434/v1
model: huihui_ai/qwen3-abliterated:8b
max_tokens: 8192 # у ollama лимит покрывает thinking+ответ вместе
timeouts: { attempt_s: 600, max_attempts: 2, backoff_cap_s: 10 } # полигон: чанки 63278 с
models:
deepseek-v4-flash:
provider: deepseek
price: { input_per_m: 0.14, cached_per_m: 0.0028, cache_write_per_m: 0, output_per_m: 0.28 }
note: >-
Черновик (Р4). Автокэш по префиксу, отдельной цены записи нет.
deepseek-chat/reasoner отключаются 24.07.2026 — сюда не возвращаться.
glm-5:
provider: zai
price: { input_per_m: 1.0, cached_per_m: 0.2, cache_write_per_m: 0, output_per_m: 3.2 }
# thinking-выключатель переехал из extra_body в capabilities.reasoning (D3.1):
# тело запроса байт-в-байт то же ({thinking:{type:disabled}} при reasoning=off),
# но теперь это единая wire-форма — и off_extra_body разблокирует think-ON
# эскалацию (D6.2) без второй ручки. Смена снапшота осознанная (--resnapshot).
capabilities:
reasoning:
control: extra_body_disable
off_extra_body: { thinking: { type: disabled } } # эмпирика полигона: thinking GLM — таймауты ×3
note: Редактор ru-стиля (Р4). Флагманы линейки уже GLM-5.1/5.2 ($1.4/$4.4) — пересмотреть к Фазе 2.
kimi-k2.6:
provider: kimi
price: { input_per_m: 0.95, cached_per_m: 0.16, cache_write_per_m: 0, output_per_m: 4.0 }
# Альт-редактор (bake-off эксп-04, проиграл grok-4.3): принимает ТОЛЬКО temperature:1
# (иначе 400), max_tokens≥16000 (иначе content пустой с finish=length), ~11k reasoning
# tok/абзац. capabilities фиксируют квирк, чтобы edit-стадия на temp 0.4 не 400-ла.
capabilities:
temperature: { mode: force, value: 1 }
note: Альтернативный редактор (Р4).
grok-4.3:
provider: xai
# $1.25/$2.50/1M (факт. 2026-07-04, docs.x.ai). cached_per_m=input: кэш-цену xAI
# не верифицировали, а для редактора (черновик — свежий вход на чанк) cache-hit≈0,
# поэтому консервативно не моделируем скидку — потолок не слепнет. Уточнит полигон.
price: { input_per_m: 1.25, cached_per_m: 1.25, cache_write_per_m: 0, output_per_m: 2.50 }
# Дефолт-редактор (bake-off эксп-04): thinking OFF (0 reasoning-токенов, ~13с), temperature шлём.
capabilities:
temperature: { mode: send }
reasoning: { control: none }
note: >-
Дефолт-редактор SFW (D3, bake-off эксп-04) + главный пермиссив-тир канала B + судья 18+.
reasoning additive: think-ON только после резерва в EstimateUSD (D6.2/техдолг F3). Заведена,
в стадию не включена — переключение editor→grok в следующем конфиг-шаге (после подтверждения прод-ключа).
# claude-sonnet-5 / claude-opus-4-8 удалены вместе с провайдером anthropic
# (см. комментарий у providers выше). Судья Фазы 2 — Gemini (нативный адаптер).
local-qwen3-8b:
provider: local
price: { input_per_m: 0, cached_per_m: 0, cache_write_per_m: 0, output_per_m: 0 }
note: Скрининг/экстракция (Р4 — «спецслужба, не переводчик»). $0 допустим только для local-провайдера.