Каталог пайплайнов
Весь контент платформы производят пайплайны — многошаговые программы,
работающие с данными контракта. Файл каталога pipelines/catalog.yaml —
единственный источник истины для диспатча: какие пайплайны существуют,
какие у них варианты и какая версия — текущий дефолт.
Пайплайны
Заголовок раздела «Пайплайны»| Пайплайн | Назначение | Работает над |
|---|---|---|
Collect (link_ranker) | Поиск источников: собирает статьи-кандидаты по нише контракта, ранжирует их по семантической близости к онтологии и квалифицирует лучшие для генерации. Линия v3 — векторная: кандидаты ранжируются по косинусу эмбеддингов, а не по ключевым словам. | контракт |
Generate (generate) | Производство статей: берёт квалифицированный источник, заземляет его в исследовательском корпусе контракта (RAG), пишет статью через ступенчатый LLM-пайплайн с детерминированными гейтами качества, рендерит финальную вёрстку и публикует. | статью |
Localize (localize) | Языковые версии: производит локализованные варианты статьи для мультиязычных инстансов. | контракт |
Как устроен каталог
Заголовок раздела «Как устроен каталог»У каждого пайплайна — варианты (prod, dev) и список версий с
указателем latest на текущий дефолт:
pipelines: generate: display_name: "Generate (контент-пайплайн)" entity: generated_articles variants: prod: latest: v3.1.x # текущий дефолт versions: v3.0.0: { ... } # каждая версия остаётся в списке — и остаётся запускаемой v3.1.x: { ... }Из этой конструкции следуют три правила:
- Добавить версию — правка в одну строку в каталоге плюс новая папка
pipelines/{id}/{variant}/{version}/. Больше её нигде регистрировать не нужно. - Старые версии остаются запускаемыми. Прогон можно запинить на любую
версию из списка;
latestзадаёт лишь дефолт для новых диспатчей. - Манифест — это контракт. Каждая папка версии несёт свой
manifest.yamlс шагами, требуемым окружением и entrypoint’ами — диспетчер читает манифест и никогда не интроспектирует код, чтобы решить, как запускать.
Откуда пайплайны запускаются
Заголовок раздела «Откуда пайплайны запускаются»- Ночной дейлиран — прод-планировщик диспатчит
Collect → Generate → publish по всему флоту контрактов по таймеру.
Прогон виден как записи
pipeline_run/run_stepчерез API. - API — отдельные прогоны запускаются на контракт или статью.
- Пины версий — дейлиран пинит версии пайплайнов явно, поэтому свежесмерженная версия не попадает на прод-трафик, пока пин не передвинут осознанно.