textmachine/backend/configs/pipeline-c1.yaml

75 lines
3.7 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.

# Ядро C1: draft → editor (Р2). Обязательное приложение Фазы 0 — фиксирует
# границу «конфиг vs код раннера»:
# КОНФИГ: состав/порядок стадий, роль→модель, версии промптов, сэмплинг,
# пороги гейтов, режим инъекции глоссария, токен-бюджеты сборки контекста,
# именованные эскалационные цепочки, fan-out N, cache TTL.
# РАННЕР (код): циклы по главам/чанкам, ветвление по гейтам, механика
# эскалации/ретраев, правило «эскалация → re-gate → флаг», channel-aware
# фильтр цепочек (Anthropic вне 18+), resume по чекпоинтам.
core: C1
version: 1
defaults:
# max_tokens ≈ ratio × входные токены; калибровка полигона (эксп. 01):
# русский выход zh→ru ≈1.9× входа в токенах — 2.2 с запасом на ja/en.
max_output_ratio: 2.2
min_max_tokens: 2048
context:
# Р5: обе схемы инъекции глоссария обязаны поддерживаться конфигом.
# selective — ключи/алиасы/леммы в волатильном хвосте (~100800 ток.);
# full_prefix — весь глоссарий в стабильном префиксе (выгодно при cache-hit
# DeepSeek $0.0028/M — решается расчётом на прототипе).
glossary_injection: selective
glossary_token_budget: 800
stm_depth: 2 # глубина STM в чанках (Фаза 1)
overlap_tokens: 200 # перекрытие чанков = read-only контекст (Фаза 1)
cache_ttl: "5m"
retries:
# Содержательные регенерации после провала гейта ДО эскалации (транспортные
# ретраи — отдельно, в timeouts models.yaml).
regenerate_before_escalate: 1
stages:
- name: draft
role: translator
model: deepseek-v4-flash
prompt: ../prompts/translator.md
prompt_version: v0-draft
temperature: 0.3
reasoning: "off"
- name: edit
role: editor
model: glm-5
prompt: ../prompts/editor.md
prompt_version: v0-draft
temperature: 0.4
reasoning: "off"
gates:
coverage:
# Фаза 1. Пороги полигона (эксп. 02, символы БЕЗ пробелов): нижняя граница
# — подозрение на вырезание, верхняя — аномалия/галлюцинация.
enabled: false
len_ratio_bounds:
zh-ru: [2.2, 4.2]
ja-ru: [1.4, 2.6]
en-ru: [0.70, 1.4]
sent_cov_min: 0.75
min_chunk_chars: 500 # калибровка порогов — на фрагментах 5002500 симв.
escalation:
chains:
# Anthropic убран из стека (владелец, 04.07). Провизорная не-Anthropic
# эскалация — Kimi K2.6; финальную модель эскалации (после отказа от
# Anthropic — кандидаты GLM-5.1/5.2, Gemini) выбирает оркестратор к Фазе 1.
# В Фазе 0 эскалация не исполняется (гейты off).
default: [kimi-k2.6]
adult: [kimi-k2.6]
# Адресный премиум-бюджет книги, $. Формула «≤2×» из Р5 неоднозначна после
# токен-калибровки — [НУЖНО РЕШЕНИЕ] п.1; до решения бюджет задаётся явно.
budget_usd: 0
fanout:
candidates: 1 # C1: один черновик