Перейти к содержимому

Каталог пайплайнов

Весь контент платформы производят пайплайны — многошаговые программы, работающие с данными контракта. Файл каталога 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: { ... }

Из этой конструкции следуют три правила:

  1. Добавить версию — правка в одну строку в каталоге плюс новая папка pipelines/{id}/{variant}/{version}/. Больше её нигде регистрировать не нужно.
  2. Старые версии остаются запускаемыми. Прогон можно запинить на любую версию из списка; latest задаёт лишь дефолт для новых диспатчей.
  3. Манифест — это контракт. Каждая папка версии несёт свой manifest.yaml с шагами, требуемым окружением и entrypoint’ами — диспетчер читает манифест и никогда не интроспектирует код, чтобы решить, как запускать.
  • Ночной дейлиран — прод-планировщик диспатчит Collect → Generate → publish по всему флоту контрактов по таймеру. Прогон виден как записи pipeline_run / run_step через API.
  • API — отдельные прогоны запускаются на контракт или статью.
  • Пины версий — дейлиран пинит версии пайплайнов явно, поэтому свежесмерженная версия не попадает на прод-трафик, пока пин не передвинут осознанно.