textmachine/backend/configs/pipeline-arm-mistral.yaml

89 lines
5.2 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.

# Свап-арм редактора: mistral-large-2512 (WS6 / D39.9 — редактор = слабое звено).
#
# Зачем он есть. Редактор — самое дорогое и самое влияющее звено, а mistral-large не reasoning-модель, так
# что эхо-мины у неё нет. ⚠ Долларовые числа прежней редакции («COGS $0.205 против $0.335 у glm») СНЯТЫ: они
# из архивного плана (`11-implementation-plan.md`, шапка — «история дизайна, не действующий план») и стоят на
# ценовом базисе, который пере-пин DeepSeek опроверг (D39.137; сегодняшний `output_per_m` в models.yaml —
# 3.96). Сравнение COGS редакторов ждёт пере-замера, а не пере-цитирования. ⚠ Как НЕСУЩИЙ
# редактор mistral исключён (D39.20 — критические смысловые аварии); этот файл существует для замера, не
# для прода.
#
# ⛔ ПРЕД-УСЛОВИЕ РАЗВЁРТЫВАНИЯ (WS1 §1б / ревью-2 F4): mistral-large — агрессивный rate-limiter (~48 %
# retry-fails под N-∥ без guard'а, 00-provider-quirks §Транспорт). models.yaml обязан нести
# rate_limit.max_concurrency на mistral-large-2512, и пер-модельный семафор волнового раннера реально
# ограничивает конкуренцию. Без этого арм через прод-путь НЕ идёт; пред-условие пиннуто
# config.TestSwapArmConfigs.
#
# ⛔ ОБОСНОВАНИЯ КЛЮЧЕЙ ЗДЕСЬ НЕТ. Всё, кроме блока редактора ниже, — копия pipeline-c1.yaml, и доводы
# по каждому ключу живут ТАМ, в одном экземпляре. Здесь только то, что верно про ЭТОТ арм.
#
# «Копия боевого с единственным изменением» — теперь ГЕЙТ, а не обещание шапки:
# config.TestAnArmIsTheProductionConfigWithADifferentEditor сравнивает ЗАГРУЖЕННЫЕ конфиги целиком и
# краснеет на любом ключе, который появился в c1 и не доехал сюда. До 07.09 шапка обещала ровно это, а арм
# расходился с боевым на два десятка ключей — включая весь банковый контур (коммит b8154cd дал c1 +64
# строки, армам один prompt_version), и тест, назвавший себя сторожем этого свойства, сверял три поля.
core: C1
version: 1
defaults:
max_output_ratio: 2.2
min_max_tokens: 2048
context:
glossary_injection: selective
glossary_token_budget: 800
cache_ttl: "5m"
retries:
regenerate_before_escalate: 1
regenerate_echo_before_escalate: 1
stages:
- name: draft
role: translator
model: deepseek-v4-flash
prompt_override: ../prompts/zh-ru/translator-banknote.md
prompt_version: v2-reflow-nogenre-banknote
temperature: 0.3
reasoning: "low"
escalate_to: deepseek-v4-pro
- name: edit
role: editor
# ⛔ ОТЛИЧИЙ ОТ БОЕВОГО pipeline-c1.yaml ровно ДВА, и оба здесь: `model` — другой редактор, и строки
# `few_shot: false` у арма НЕТ (умолчание намеренное, см. следующий комментарий). Остальные ключи
# блока по ЗНАЧЕНИЮ равны боевому — расходятся только хвостовые комментарии, которые по правилу
# шапки живут в c1 в одном экземпляре. Редактор не эскалирует (D12).
model: mistral-large-2512
prompt_version: v4-discourse-reflow-nogenre
temperature: 0.4
# "off" оставлено НАМЕРЕННО (решение строки 112): mistral-large-2512 — ReasoningNone и не
# thinking-модель, ключ отсутствует, вендорский дефолт — без reasoning, стены max_tokens быть не
# может. "low" купила бы thinking, которого там нет. ⚠ Пере-решить, если Mistral включит его по
# умолчанию.
reasoning: "off"
# few_shot НЕ задан ⇒ дефолт ON: mistral не reasoning-модель, примеры P1a-дискурса её CoT не ломают.
mining:
contrast_path: mining-contrast.zh.txt
gates:
banknote:
enabled: true
terminology:
enabled: true
model: deepseek-v4-flash
reasoning: low
target_script: Cyrillic
budget_usd: 1.00
classify_types: true
classify_budget_usd: 1.00
coverage:
enabled: false
sent_cov_min: 0.75
min_chunk_chars: 500
sanitizer:
enabled: true
regression_guard:
enabled: true
escalation:
chains:
default: [deepseek-v4-pro, glm-5.1, gemini-3.1-pro-preview]
adult: [grok-4.3]
budget_usd: 0
fanout:
candidates: 1