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

В состав сервиса входят следующие компоненты:
- Компоненты серверной части:
Nginx— веб-сервер для отдачи статического контента в UI (через браузер) и реверс-прокси для Primo.AI.Api и его компонентов.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— служит для обеспечения запросов на инференс: запуск, хранение данных и для передачи результатов клиенту.
- Целевая машина
Primo.AI.Agent— осуществляет взаимодействие Primo.AI.Api с компонентами Целевой машины, управляет жизненным циклом IDP-сервера, FT-сервера и NLP-сервера.- Умный OCR
- IDP-сервер — служит для обучения и инференса CV-моделей.
- AI Текст > NLP
- NLP-сервер — непосредственно взаимодействует с LLM-моделями.
- FT-сервер — производит файнтюнинг моделей.
- AI Текст
Primo.AI.Agent.NlpEngine— управляет жизненным циклом LLM-ядра.- LLM-ядро — производит инференс LLM-моделей.