Обновление 1.25.4.5 → 1.25.10.0
Инструкции ограничиваются вариантом установки через Docker.
Значимые изменения в версии 1.25.10.0, которые следует учитывать системному администратору:
- теперь мы распространяем Docker-образы через репозиторий Nexus Docker Registry (ранее – ownCloud)
- в т.ч. внешние (postgres / rabbitmq), которые получили префикс externals/ (см. таблицу ниже)
- изменилась архитектура Умного OCR:
- агент, встроенный в
primo-rpa/ai-server-smartocrна 5004 порту больше не потребуется - теперь агент
/app/Primo.AI/Agentуправляет запуском множества контейнеров IDP-сервера (по-умолчанию на портах в диапазоне 9100-9999)
- агент, встроенный в
- в IDP- и Logics-серверы теперь вшит venv.zip
Библиотеки теперь не распространяются отдельно от образа.
Каталоги
/app/Primo.AI/NLP,/app/Primo.AI/SmartOCRбольше не потребуются - обновились все дистрибутивы компонентов Api, а также UI
- среди компонентов сервера появился Redis
- обновился файл конфигурации сервиса UI:
nginx.conf. - обновились все дистрибутивы целевых машин
- новые образы:
primo-rpa/ai-server-smartocr-cpu,primo-rpa/ai-server-smartocr-gpu - не актуален образ:
primo-rpa/ai-server-smartocr - обновились агенты:
Agent-linux.zip,Agent.NlpEngine-linux.zip;
- новые образы:
Загрузка образов
Загрузите обновленные образы в соответствии со статьей:
| Компонент | Наименование | Старое имя образа | Новое имя образа в Nexus | Изменение |
|---|---|---|---|---|
| Сервер | UI | primo-rpa/ai-server-ui:1.25.4.5 | primo-rpa/ai-server-ui | Обновлен |
| Сервер | Api | primo-rpa/ai-server-api:1.25.4.5 | primo-rpa/ai-server-api | Обновлен |
| Сервер | Auth | primo-rpa/ai-server-auth:1.25.4.5 | primo-rpa/ai-server-auth | Обновлен |
| Сервер | Inference | primo-rpa/ai-server-inference:1.25.4.5 | primo-rpa/ai-server-inference | Обновлен |
| Сервер | MachineInfo | primo-rpa/ai-server-machineinfo:1.25.4.5 | primo-rpa/ai-server-machineinfo | Обновлен |
| Сервер | Logs | primo-rpa/ai-server-logs:1.25.4.5 | primo-rpa/ai-server-logs | Обновлен |
| Сервер | Redis | - | externals/redis | Добавлен |
| Сервер | Postgres | - | externals/postgres:17.6 | Обновлен |
| Сервер | RabbitMQ | - | externals/rabbitmq:3.10.7-management | Обновлен |
| Умный OCR | Целевая машина Умного OCR | primo-rpa/ai-server-smartocr:1.25.4.5 | - | Удален |
| Умный OCR | IDP-сервер (cpu) | - | primo-rpa/ai-server-smartocr-cpu | Добавлен |
| Умный OCR | IDP-сервер (gpu) | - | primo-rpa/ai-server-smartocr-gpu | Добавлен |
| NLP | Logics-сервер | primo-rpa/ai-server-logics:1.25.4.2 | primo-rpa/ai-server-logics | Обновлен |
| NLP | vLLM (cpu) | primo-rpa/ai-server-vllm-cpu:1.25.4.1 | primo-rpa/ai-server-vllm-cpu | Обновлен |
| NLP | vLLM (gpu) | primo-rpa/ai-server-vllm-gpu:1.25.4.1 | primo-rpa/ai-server-vllm-gpu | Обновлен |
| NLP | Ollama | primo-rpa/ai-server-ollama:1.25.4.2 | primo-rpa/ai-server-ollama | Обновлен |
Машина сервера
-
Обновите образы (см. “Загрузка образов”)
- Обновите образы компонентов Api: UI, Api, Auth, Inference, Logs
- Установите образ Redis
- Поменяйте имена образов сервисов Postgres, RabbitMQ
-
Добавьте Redis в
/app/Primo.AI/Api/docker-compose.yaml:
version: "3.7"
services:
...
redis:
image: redis:latest
container_name: redis
restart: always
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD}
ports:
- 6379:6379
networks:
- server_ai
...Также добавьте пароль в .env-файл /app/Primo.AI/Api/.env:
REDIS_PASSWORD=Qwe123!@#-
Скорректируйте файл конфигурации
/app/Primo.AI/Api/docker-compose.yamlв соответствии с файлом конфигурацииdocker/server/docker-compose.yaml:- порядок компонентов,
- блоки depends_on
- имена образов в соответствии с таблицей выше
-
Обновите файл конфигурации
/app/Primo.AI/Api/volumes/nginx/nginx.conf. -
Отредактируйте файл конфигурации
/app/Primo.AI/Api/volumes/conf/Api/appsettings.ProdLinux.json:-
Добавьте в секцию
ApiпараметрInferenceBaseUrl:"Api": { ... "InferenceMinAvailableVersion": "1.25.10.0", "InferenceBaseUrl": "http://server_inference:5012", "InferenceVersionUrl": "http://server_inference:5012/api/version", ... }, -
Добавьте в секцию
FileUploadпараметрTempLinkExpirationSeconds:"FileUpload": { ... "TempLinkExpirationSeconds": 60 }, -
Добавьте в секцию
DocumentationпараметрInferenceProcessConfigUrl:"Documentation": { ... "InferenceProcessConfigUrl": "https://docs.primo-rpa.ru/ru/primo-ai/user/smart-ocr/inference/additional-parameters" }, -
Скорректируйте секцию
Redisдля снижения нагрузки на БД:"Redis": { "Enabled": true, "ConnectionString": "redis:6379,password=Qwe123!@#", // задается в /app/Primo.AI/Api/.env "WorkerThreads": 1000 },
-
-
Отредактируйте файл конфигурации
/app/Primo.AI/Api/volumes/conf/Inference/appsettings.ProdLinux.json:-
Скорректируйте секцию
Redisдля снижения нагрузки на БД:"Redis": { "Enabled": true, "ConnectionString": "redis:6379,password=Qwe123!@#", // задается в /app/Primo.AI/Api/.env "WorkerThreads": 1000 },
-
-
Перезапустите компоненты Api:
docker compose -f /app/Primo.AI/Api/docker-compose.yaml down && \ docker compose -f /app/Primo.AI/Api/docker-compose.yaml up -d -
Обновите сервис Api.MachineInfo, скачав файл
Api.MachineInfo-linux.zipиз каталогаdistr:sudo systemctl stop Primo.AI.Api.MachineInfosudo unzip -o Api.MachineInfo-linux.zip -x "appsettings*" -d /app/Primo.AI/Api.MachineInfo/sudo chmod +x /app/Primo.AI/Api.MachineInfo/Primo.AI.Api.MachineInfosudo chown primo:primo-ai /app/Primo.AI/Api.MachineInfo/sudo systemctl start Primo.AI.Api.MachineInfo
Целевые машины
-
Агент.
-
В отсутствие агента
/app/Primo.AI/Agentустановите его согласно инструкции. -
Если агент установлен, обновите агент, скачав файл
Agent-linux.zipиз каталогаdistr:sudo systemctl stop Primo.AI.Agentsudo rm /app/Primo.AI/Agent/InMemoryProcessStore.jsonsudo unzip -o Agent-linux.zip -x "appsettings*" -d /app/Primo.AI/Agent/sudo chmod +x /app/Primo.AI/Agent/Primo.AI.Agentsudo chown -R agent:primo-ai /app/Primo.AI/Agent/sudo systemctl start Primo.AI.Agent
-
Целевая машина Умный OCR
-
Обновите образы (см. “Загрузка образов”)
- Удалите образ
primo-rpa/ai-server-smartocr - Установите образы
primo-rpa/ai-server-smartocr-cpu/primo-rpa/ai-server-smartocr-gpu
- Удалите образ
-
Отредактируйте файл конфигурации агента
/app/Primo.AI/Agent/appsettings.ProdLinux.json- Добавьте
InternalHttpвKestrel:
"ExternalHttps": { "Url": "https://*:5002", "Certificate": { ... } }, "InternalHttp": { "Url": "http://*:5092" }- Добавьте
AgentBaseUrlвApi:
"Api": { ... "AgentBaseUrl": "http://172.17.0.1:5092", // URL агента, доступный из IDP-сервера ... },- Добавьте
IdpProcess(укажите для GPU корректное имя образа:primo-rpa/ai-server-smartocr-gpu):
"IdpProcess": { "BaseUrlTemplate": "http://localhost:{port}", // Шаблон базового URL с плейсхолдером {port} "Cpus": null, // Опционально. Количество ядер CPU, отдаваемое всем контейнерам IDP-сервера. "HealthCheck": { "TimeoutSeconds": 30, // Как долго ждать полного запуска IDP-сервера "PeriodMilliseconds": 500 }, "IdpServerDockerOptions": { "PortsRangeFrom": 9200, "PortsRangeTo": 9999, "ImageName": "primo-rpa/ai-server-smartocr-cpu", // gpu: primo-rpa/ai-server-smartocr-gpu "ContainerNamePrefix": "smartocr", "Subnet": "agent_agent_ai", "SharedMemorySize": 4 } },- Обновите имена образов — новое имя образа указано в таблице выше.
- Добавьте правило в файерволл:
sudo ufw allow tcp/5092 - Добавьте
-
Перезапустите агента:
sudo systemctl restart Primo.AI.Agent- Остановите старый контейнер с целевой машиной:
docker compose -f /app/Primo.AI/SmartOCR/docker-compose.yaml downКаталог /app/Primo.AI/SmartOCR больше не нужен и может быть безопасно
удален.
Целевая машина NLP
-
Обновите образы Logics-сервера, а также vLLM / Ollama (см. “Загрузка образов”)
-
Отредактируйте файл конфигурации агента
/app/Primo.AI/Agent/appsettings.ProdLinux.json- Скорректируйте расположение yml-файла в
NlpProcess>LogicsDockerCompose:
"NlpProcess": { ... "LogicsDockerCompose": { ... "DockerComposeYamlDirectory": "./", "DockerComposeYamlFileName": "logics-server.yml", ... } }, - Скорректируйте расположение yml-файла в
-
Перезапустите агента:
sudo systemctl restart Primo.AI.AgentКаталог /app/Primo.AI/NLP больше не нужен и может быть безопасно удален.
-
Обновите имена образов vLLM / Ollama в файле конфигурации
/app/Primo.AI/Agent.NlpEngine/appsettings.ProdLinux.json— новое имя образа указано в таблице выше. -
Обновите агента LLM-ядра, скачав файл
Agent.NlpEngine-linux.zipиз каталогаdistr:sudo systemctl stop Primo.AI.Agent.NlpEnginesudo rm /app/Primo.AI/Agent.NlpEngine/InMemoryProcessStore.jsonsudo unzip -o Agent.NlpEngine-linux.zip -x "appsettings*" -d /app/Primo.AI/Agent.NlpEngine/sudo chmod +x /app/Primo.AI/Agent.NlpEngine/Primo.AI.Agent.NlpEnginesudo chown -R agent:primo-ai /app/Primo.AI/Agent.NlpEngine/sudo systemctl start Primo.AI.Agent.NlpEngine