Разработка интеллектуального конвейера новостей

Разработка интеллектуального конвейера новостей (crmfeed)

Тип проекта: Автоматизированный AI-агрегатор контента Роль: Software Architect, Full-Stack Developer

Стек: PHP, Laravel, MySQL, Nginx, GigaChat API, OpenAI API (ChatGPT), Mistral, Gemini, Chrome Headless

Описание проекта

В условиях постоянного потока информации ручная обработка, рерайт и визуальное оформление новостей требуют колоссальных затрат времени. Проект crmfeed создавался как отказоустойчивый конвейер (pipeline) для полной автоматизации этого процесса.

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

Архитектура и технические решения

В основе проекта лежит монолитная архитектура на базе фреймворка Laravel. Главным приоритетом при разработке была прагматичность: система должна работать автономно, корректно обрабатывать таймауты сторонних API и не требовать постоянного вмешательства разработчика.

Ключевые узлы системы:

  • Изолированные фоновые процессы: Обработка тяжелых задач вынесена в Artisan-команды, запускаемые по расписанию (Cron). Это исключает блокировку веб-интерфейса и позволяет гибко управлять нагрузкой на сервер.

  • Умный парсинг контента: Разработан кастомный скрейпер, способный обходить защиты (имитация браузера) и извлекать чистый текст с сайтов любой сложности, включая адаптивные алгоритмы для специфичных доменов (например, rbc.ru).

  • Интеграция GigaChat API: На первом этапе ИИ анализирует оригинальную новость. Написан кастомный сервис, который не просто делает рерайт, но и извлекает метаданные: определяет тональность (позитив/негатив), гео-привязку, проставляет теги и вычисляет «вес» (relevance score) новости для целевой аудитории.

  • Система конечных автоматов (State Machine): Жизненный цикл статьи строго контролируется набором статусов (new -> ai_processing -> ai_rewrite -> ai_image_processing -> pending). Это защищает от дублирования запросов к API и позволяет легко отлавливать ошибки (ai_failed, ai_image_failed).

Пользовательский интерфейс и дашборд

Вместо перегруженных корпоративных интерфейсов была реализована минималистичная админ-панель. Она решает одну главную задачу — дать модератору возможность за секунды оценить готовую новость.

Реализована умная система фильтрации на лету: статьи можно отсортировать по ценности (весу), тональности или текущему статусу. Цветовое кодирование статусов и AI-метрик позволяет мгновенно считывать контекст массива данных.

R&D и альтернативная генерация изображений (PHP)

Помимо базового флоу генерации картинок через нейросети (YandexART / OpenAI), заказчику было предложено и реализовано более предсказуемое решение — динамическая сборка новостной инфографики на стороне сервера.

С помощью PHP и headless-режима Google Chrome система на лету компилирует HTML/CSS-шаблоны в готовые новостные карточки, накладывая сгенерированные ИИ короткие тезисы и иконки поверх тематических фонов. Это гарантирует 100% читаемость текста (в отличие от «галлюцинаций» шрифтов в нейросетях) и строгое соблюдение фирменного стиля проекта.

Кроме того, в рамках R&D (Research & Development) был проведен масштабный тест различных AI-моделей для задач компьютерного зрения (Vision) и генерации. Были написаны интеграции и консольные тесты для оценки качества анализа изображений и текста через:

  • Google Gemini 1.5 Flash (Vision API)

  • Mistral Vision

  • GigaChat API (генерация изображений)

  • OpenAI (GPT-4.1-mini)

Такой подход позволил выбрать наиболее оптимальные по соотношению цена/качество/скорость инструменты для финального продукта.

Преодоление технических вызовов

При интеграции нескольких тяжеловесных LLM-моделей в один процесс возникли проблемы с потреблением оперативной памяти (OOM) и стабильностью соединения с БД. Проблема была решена на уровне инфраструктуры сервера (настройка SWAP, оптимизация swappiness) и программно — за счет лимитирования выборок (chunking) и жесткого контроля времени выполнения скриптов. Дополнительно реализованы механизмы фоллбэка (fallback) при парсинге ответов от ИИ, если нейросеть возвращает невалидный JSON, а также резервный поиск картинок (Google/DuckDuckGo Image Search) на случай недоступности YandexART.

Результат

Создан стабильный, масштабируемый инструмент, который сократил время подготовки публикации с десятков минут до нескольких кликов. Проект демонстрирует умение строить отказоустойчивые backend-системы, писать сложные парсеры, проводить независимый R&D и интегрировать современные AI-инструменты в реальные бизнес-процессы.


Сделать заказ

| необходим для связи с вами
В кротчайшие сроки я свяжусь с вами.

Также вы можетете связать со мной:
telegram: @ifwcom