Skip to Content

Архитектура

Primo RPA AI Server построен на клиент-серверной архитектуре. Взаимосвязь компонентов представлена на схеме ниже.

alt

В состав сервиса входят следующие компоненты:

  1. Компоненты серверной части:
    • Nginx — веб-сервер для отдачи статического контента в UI (через браузер) и реверс-прокси для Primo.AI.Api и его компонентов.
      • Служит в т.ч. для хостинга UI Портала AI Server
    • RabbitMQ — брокер сообщений, служит для обмена событиями между компонентами Primo.AI.Api.
    • Базы данных и хранилища данных:
      • PostgreSQL — служит для управления основными реляционными базами данных, хранящими настройки веб-приложения Primo AI, данные о пользователях, ролях, лицензиях, событиях и др.
      • Redis — управляет базами данных класса NoSQL. Данные БД используются для временного хранения токенов авторизации и результатов инференсов. Опциональный компонент.
      • MinIO — объектное хранилище изображений, применяемых в обучении моделей нейронной сети и в процессе распознавания данных на документах. Опциональный компонент.
    • Primo.AI.Api — REST API для взаимодействия клиентской и серверной части Primo RPA AI Server, включая взаимодействие с агентом на целевой машине.
    • Primo.AI.Api.Auth — служит для аутентификации пользователей в системе.
    • Primo.AI.Api.Logs — служит для приема событий от компонентов Primo.AI.Api и от агентов, для хранения событий и передачи данных о событиях через UI.
    • Primo.AI.Api.MachineInfo — служит для определения параметров машин для лицензий.
    • Primo.AI.Api.Inference — служит для обеспечения запросов на инференс: запуск, хранение данных и для передачи результатов клиенту.
  2. Целевая машина
    • Primo.AI.Agent — осуществляет взаимодействие Primo.AI.Api с компонентами Целевой машины, управляет жизненным циклом IDP-сервера и Logics-сервера.
    • Умный OCR
      • IDP-сервер — служит для обучения и инференса CV-моделей
    • AI Текст > NLP
      • Logics-сервер — непосредственно взаимодействует с LLM-моделями
      • Primo.AI.Agent.NlpEngine — управляет жизненным циклом LLM-ядра
      • LLM-ядро — производит инференс LLM-моделей