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

My Image

Архитектура Система сбора, анализа, обработки деловых и проектных отношений и взаимосвязей с интегрированными мультимодальными нейросетями и генеративными моделями


1. Описание Системы

«Система сбора, анализа, обработки деловых и проектных отношений и взаимосвязей с интегрированными мультимодальными нейросетями и генеративными моделями» (далее — Система) — это единая внутренняя платформа для сбора, индексации и интеллектуальной обработки разноформатных источников данных о деловых и проектных отношениях и взаимосвязях. Система объединяет разнородные данные (транскрибации переговоров, результаты анализа кода, выгрузки задач, сообщения Telegram-каналов, RSS-ленты и произвольные документы) в рамках сущности «Проект», индексирует их векторными представлениями (эмбеддингами) и делает доступными для больших языковых моделей через единый ассистент с вызовом инструментов и семантическим поиском.

Поверх слоя данных работают прикладные функции: рерайтинг и агрегация материалов по RSS- и Telegram-источникам, работа с текстом по цепочкам промптов, генерация видео с ИИ-ведущим, распознавание речи, а также конвейер ИИ-агентов «ИИ редакция», который самостоятельно готовит, проверяет, редактирует и публикует материалы во внешние каналы.

Система состоит из серверного приложения с двумя контурами доступа — системы управления контентом (CMS) и программного интерфейса (JSON API) — и набора внешних поверхностей (публичная RSS-лента, встраиваемые JS-виджеты, Telegram-бридж). Схема взаимодействия компонентов Системы представлена на Рисунке 1.

Рисунок 1 — Схема взаимодействия компонентов Системы

2. Используемые библиотеки и компоненты

В Системе используются следующие библиотеки и компоненты с открытым исходным кодом, а также типы лицензий к ним:

Библиотека / компонентНазначениеЛицензияСсылка на лицензию
PostgreSQLСУБД (основное хранилище)PostgreSQL License (BSD/MIT-подобная)postgresql.org/about/licence
pgvector (+ gem neighbor)Векторные эмбеддинги, kNN-поискPostgreSQL License / MITgithub.com/pgvector/pgvector
RubyЯзык программирования (3.3.4)Ruby License / BSD-2-Clauseruby-lang.org/en/about/license.txt
Ruby on RailsСерверный веб-фреймворк (~> 8.0)MITopensource.org/license/mit
PumaСервер приложений (6.4)BSD-3-Clausegithub.com/puma/puma/blob/master/LICENSE
NginxОбратный прокси / веб-серверBSD-2-Clausenginx.org/LICENSE
Node.jsСреда сборки фронтендаMITgithub.com/nodejs/node/blob/main/LICENSE
ShakapackerСборка JS-ассетов (6.6)MITgithub.com/shakacode/shakapacker
TinyMCEWYSIWYG-редактор материаловMITgithub.com/tinymce/tinymce
Delayed JobОчередь фоновых задачMITgithub.com/collectiveidea/delayed_job
PunditАвторизация уровня записи (политики)MITgithub.com/varvet/pundit

2.1. Внешние сервисы и интеграции

Система взаимодействует с внешними сервисами по сетевым программным интерфейсам (вызовы OpenAI выполняются через SOCKS-прокси):

  • Провайдеры больших языковых моделей: DeepSeek, OpenAI, Kimi (Moonshot), Ollama (локально).
  • HeyGen — генерация видео с ИИ-ведущим.
  • Yandex SpeechKit — распознавание речи (транскрибация аудио и видео).
  • Telegram (демон на базе TDLib) — сбор сообщений каналов и двусторонний бот-бридж; поддержка нескольких аккаунтов.
  • Программные интерфейсы 5 сайтов холдинга (материалы, тематические данные, рекламные и аудиометрические отчёты).
  • Redmine — выгрузка задач и ревизий; Wordstat — частотный анализ запросов.

3. Архитектура Системы

Система построена по клиент-серверной архитектуре и представляет собой серверный монолит на Ruby on Rails с тремя контурами: (1) система управления (CMS) на серверных шаблонах и клиентских компонентах Vue; (2) собственный программный интерфейс (JSON API); (3) исходящие интеграции с внешними сервисами. Структура Системы и распределение функций по ролям и внешним поверхностям представлены на Рисунке 2.

Рисунок 2 — Функциональная структура Системы

3.1. Роли пользователей Системы

Доступ к Системе предоставляется только зарегистрированным пользователям (регистрация — по приглашению администратора). Анонимного доступа к CMS нет. Права разграничиваются по трём независимым матрицам уровней «роль» и «профиль»: разделы CMS (handlers), модели генерации (ai_models) и категории инструментов ИИ-ассистента (tool_accesses). Предусмотрены четыре роли:

  • SuperAdmin — полный доступ ко всем разделам, моделям и инструментам; единственная роль, которой доступны проекты всех пользователей, а также аудит Telegram-каналов.
  • Admin — полный доступ к разделам, моделям и инструментам; доступ к проектам ограничен политиками (только собственные проекты и проекты, где назначен участником). Управляет пользователями и выдачей прав.
  • Client — роль по умолчанию при создании пользователя; ограниченный набор разделов, моделей и категорий инструментов.
  • User — минимальный набор прав: работа с чатами, документами и анализом; часть инструментов ИИ-ассистента для этой роли недоступна.

Регистрация и авторизация выполняются по адресу электронной почты и паролю (сессионная аутентификация). Пользователь создаётся администратором либо через инструмент приглашения; на указанный адрес отправляется письмо со сгенерированным паролем. Доступ к разделам CMS гейтится матрицей прав, доступ к отдельным ресурсам (проектам, документам) — политиками уровня записи.