Найти в Дзене
КУЗНЯ

Почему я выбрал C++ и Apache MiNiFi для КУЗНИ

Это вторая статья из цикла. Первая была о том, зачем вообще нужна программа, которая управляет нейросетями. Теперь — о том, как она устроена под капотом. Когда я начинал делать КУЗНЮ, у меня был выбор: писать на Python, как многие, или на C++, как я привык. Python — это быстро сделать прототип. Но когда программа начинает крутиться 24/7, генерируя сотни картинок, он может начать тормозить. А если программа тормозит, то вся ваша работа встаёт. C++ — это сложнее в начале. Но потом он работает годами без перезагрузки, не тратит память зря и не заставляет вас ждать. Я на нём пишу с университета, у меня уже был опыт в создании системы, где всё крутилось в реальном времени, и мне нравится, когда программа не падает и не тормозит. Поэтому для КУЗНИ я выбрал C++. Не потому, что это круто, а потому, что это надёжно. В основе КУЗНИ лежит программа под названием Apache MiNiFi. Но чтобы объяснить, что это такое, нужно сначала рассказать про её «старшего брата» — Apache NiFi. NiFi — это программа
Оглавление

Это вторая статья из цикла. Первая была о том, зачем вообще нужна программа, которая управляет нейросетями. Теперь — о том, как она устроена под капотом.

C++ — это не про пафос, а про надёжность

Когда я начинал делать КУЗНЮ, у меня был выбор: писать на Python, как многие, или на C++, как я привык.

Python — это быстро сделать прототип. Но когда программа начинает крутиться 24/7, генерируя сотни картинок, он может начать тормозить. А если программа тормозит, то вся ваша работа встаёт.

C++ — это сложнее в начале. Но потом он работает годами без перезагрузки, не тратит память зря и не заставляет вас ждать. Я на нём пишу с университета, у меня уже был опыт в создании системы, где всё крутилось в реальном времени, и мне нравится, когда программа не падает и не тормозит.

Поэтому для КУЗНИ я выбрал C++. Не потому, что это круто, а потому, что это надёжно.

Что такое Apache MiNiFi (и при чём тут конвейеры)

В основе КУЗНИ лежит программа под названием Apache MiNiFi. Но чтобы объяснить, что это такое, нужно сначала рассказать про её «старшего брата» — Apache NiFi.

NiFi — это программа, которая помогает перемещать и обрабатывать данные. Представьте себе заводской конвейер: деталь движется от станка к станку, каждый что-то с ней делает — сверлит, шлифует, красит. В конце получается готовое изделие.

NiFi делает то же самое, но с данными: берёт файл, базу данных, картинку, пропускает через цепочку действий и выгружает результат туда, где он нужен.

MiNiFi — это лёгкая версия NiFi. Она делает то же самое, но потребляет меньше ресурсов и может работать на маленьких компьютерах, где нет места для тяжёлых программ.

Я 6 лет работаю с NiFi. Я знаю его как свои пять пальцев: дорабатывал, расширял, настраивал под себя. Когда пришло время делать КУЗНЮ, я подумал: зачем изобретать велосипед? Уже есть отличная основа — MiNiFi. Она:

  • умеет строить цепочки действий,
  • написана на C++ (как я люблю),
  • работает без сбоев годами.

Что я добавил от себя

MiNiFi — это хороший конвейер, но он не умеет работать с нейросетями. Поэтому я сделал несколько «насадок»:

  • одна умеет запускать нейросеть-художника (ComfyUI),
  • вторая — работать с языковыми моделями (писать тексты, код),
  • третья — делать быстрые операции на видеокарте.

И добавил одну важную штуку, которой в стандартном MiNiFi не было: возможность соединять блоки не только в одну линию, но и в сложные схемы. Как в Lego: можно построить не просто башню, а целый замок с башнями, мостами и подземными ходами.

Что это даёт вам

Вам не нужно знать, как устроен конвейер внутри. Вы просто работаете с КУЗНЕЙ через визуальный конструктор (где вы перетаскиваете блоки мышкой) или через команды для программистов.

Но под капотом у вас крутится ядро, которое:

  • проверено годами работы в больших компаниях,
  • написано на C++, а значит, работает быстро и без сбоев,
  • расширено моими насадками, которые умеют общаться с нейросетями.

Это как купить не самодельный агрегат, который может сломаться в любой момент, а промышленный конвейер с хорошей репутацией. А я просто сделал к нему насадку, чтобы он умел работать с AI.

А зачем это мне, если я не программист?

КУЗНЯ — это инструмент для тех, кто создаёт контент. Если вы художник, дизайнер или просто любите генерировать картинки с помощью нейросетей, КУЗНЯ может взять на себя всю рутину: запуск, переименование, сохранение, отправку результатов. Вы задаёте стиль, а она делает всё остальное.

Если вы не занимаетесь такими вещами — возможно, вам просто интересно посмотреть, как работает технология изнутри. Или вы хотите понять, как вообще устроены программы, которые управляют нейросетями.

Что дальше

В следующей статье я расскажу про нейросети, которые использует КУЗНЯ: почему я выбрал локальные модели (которые работают на вашем компьютере) вместо облачных сервисов вроде Midjourney.

А если вы хотите следить за тем, как КУЗНЯ растёт, заглядывайте в Telegram-канал. Там я выкладываю демки и рассказываю, что происходит под капотом.

Подписывайтесь на Telegram-канал:
https://t.me/kuzn_ai