Установка и запуск агента LLM OpenAILTS
Агент LLM OpenAI — это дополнительный модуль системы Proceset, предназначенный для подключения внешних LLM-сервисов, совместимых с OpenAI API. Агент — опциональный компонент. Его устанавливают, если в системе Proceset необходимо выполнять запросы к внешним или внутренним LLM-сервисам: OpenAI, DeepSeek, Qwen, LLaMA через совместимых провайдеров или другим сервисам с OpenAI-совместимым API.
После запуска агента LLM OpenAI в блоках работы с нейросетью можно выбрать модели, указанные в конфигурации агента.
Proceset и агент LLM OpenAI взаимодействуют по gRPC. Агент обращается к внешнему или внутреннему LLM-сервису по адресу API, указанному в переменной окружения LLM_OPENAI_URL. Дистрибутив агента LLM OpenAI — Docker-образ. GPU на сервере с агентом LLM OpenAI не требуется: агент только передает запросы во внешний или внутренний OpenAI-совместимый сервис.
Установка агента LLM OpenAI
Подготовка хостов и параметров конфигурации
Перед запуском агента LLM OpenAI определите сетевые адреса и параметры конфигурации.
Для примера рассмотрим следующие условные имена хостов, которые можно заменить на актуальные в вашей системе:
proceset.domain.local— адрес хоста, на котором располагается система Procesetagent.domain.local— адрес хоста, на котором располагается агент LLM OpenAIhttps://api.openai.com/v1/— пример URL API внешнего LLM-сервиса
Если LLM-сервис расположен внутри инфраструктурного контура, доступ в интернет не требуется. Если используется внешний сервис, например OpenAI или DeepSeek, серверу с агентом LLM OpenAI необходим сетевой доступ к URL API этого сервиса.
Во время запуска агента LLM OpenAI задайте переменные окружения, определяющие его параметры работы.
| Переменная окружения | Описание |
|---|---|
CL_NAME | Уникальное имя текущей ноды |
CL_PORT | Порт, используемый для входящих соединений gRPC |
CL_REMOTE_NODES | Полные адреса, включая порт, нод, с которыми происходит взаимодействие по gRPC. Для агента указывается адрес сервера Proceset, для сервера Proceset — адрес агента LLM OpenAI |
LLM_OPENAI_URL | URL API LLM-сервиса. Укажите URL OpenAI-совместимого API |
LLM_OPENAI_TOKEN | Токен доступа к LLM-сервису. Для публичных сервисов токен обязателен |
LLM_OPENAI_MODELS | Список моделей, которые будут доступны в Proceset. Модели указываются через разделитель ; |
Для публичных LLM-сервисов, например OpenAI, укажите действующий токен доступа. Если подключаемый внутренний OpenAI-совместимый сервис не требует авторизации по токену, переменную LLM_OPENAI_TOKEN все равно необходимо передать. В этом случае можно указать значение-заглушку: -e LLM_OPENAI_TOKEN='EXAMPLE'
Настройка URL API LLM-сервиса
В переменной LLM_OPENAI_URL укажите URL API OpenAI-совместимого LLM-сервиса.
| Сервис | Пример URL |
|---|---|
| OpenAI | https://api.openai.com/v1/ |
| DeepSeek | https://api.deepseek.com/v1/ |
| Другой OpenAI-совместимый сервис | URL указывается согласно документации используемого сервиса |
В значении LLM_OPENAI_URL необходимо указывать завершающий слеш / после v1/.
Подключение к LLM-сервису по HTTPS с самоподписанным сертификатом
В версиях агента LLM OpenAI с поддержкой самоподписанных сертификатов поддерживается подключение к LLM-сервисам по HTTPS с самоподписанными сертификатами, а также с сертификатами, выпущенными внутренним удостоверяющим центром клиента.
Чтобы агент доверял такому сертификату при подключении к LLM-сервису, передайте в контейнер сертификат сервиса или сертификат удостоверяющего центра, которым подписан сертификат сервиса. Смонтируйте сертификат в контейнер по пути /run/secrets/llm_openai.crt:
-v /opt/agent/<название сертификата>.crt:/run/secrets/llm_openai.crt
Где /opt/agent/<название сертификата>.crt — путь к сертификату на хосте, где запускается агент LLM OpenAI.
Этот сертификат используется только для проверки доверия к HTTPS-соединению с LLM-сервисом. Он не относится к настройке взаимодействия между сервером Proceset и агентом LLM OpenAI.
Подготовка образа
Загрузите образ с дистрибутивом агента LLM OpenAI на сервер, где он будет запущен. После этого добавьте образ в локальный реестр Docker:
docker load < infomaximum_app_llm-agent_<версия>-openai.tar
Имя образа с версией приведено для примера. Укажите образ, соответствующий устанавливаемой версии агента.
Запуск агента LLM OpenAI
Создайте volume для хранения логов агента LLM OpenAI:
docker volume create infomaximum-llm-agent-log
Запустите контейнер с агентом LLM OpenAI. Замените адреса, токен, список моделей и имя образа на значения, соответствующие вашей инфраструктуре:
docker run --name infomaximum-llm-agent \
-d \
-e CL_NAME='openai-agent' \
-e CL_PORT='7000' \
-e CL_REMOTE_NODES='proceset.domain.local:7000' \
-e LLM_OPENAI_URL='https://api.openai.com/v1/' \
-e LLM_OPENAI_TOKEN='your-api-token-here' \
-e LLM_OPENAI_MODELS='gpt-4o;gpt-4.1-mini' \
--mount type=volume,src=infomaximum-llm-agent-log,target=/var/log/infomaximum/ \
-p 7001:7000 \
--restart=on-failure \
infomaximum/infomaximum_app_llm-agent:<версия>-openai
Имя образа с версией приведено для примера. Укажите образ, соответствующий устанавливаемой версии агента.
Если LLM-сервис использует самоподписанный сертификат или сертификат, выпущенный внутренним удостоверяющим центром, добавьте в команду запуска монтирование сертификата:
-v /opt/agent/<название сертификата>.crt:/run/secrets/llm_openai.crt \
Где:
CL_NAME='openai-agent'— имя агента LLM OpenAICL_PORT='7000'— внутренний порт агента для входящих gRPC-соединенийCL_REMOTE_NODES='proceset.domain.local:7000'— адрес сервера Proceset, с которым должен взаимодействовать агентLLM_OPENAI_URL='https://api.openai.com/v1/'— URL API OpenAI-совместимого LLM-сервисаLLM_OPENAI_TOKEN='your-api-token-here'— токен доступа к LLM-сервисуLLM_OPENAI_MODELS='gpt-4o;gpt-4.1-mini'— список моделей, которые будут доступны в Proceset-p 7001:7000— публикация порта агента на хосте. Если агент LLM OpenAI запускается на том же сервере, что и Proceset, внешний порт агента должен отличаться от внешнего gRPC-порта сервера Proceset. Например, можно использовать7001:7000. Если агент запускается на отдельном сервере, можно использовать7000:7000infomaximum/infomaximum_app_llm-agent:<версия>-openai— имя Docker-образа агента LLM OpenAI
Если агент LLM OpenAI запускается на том же сервере, где уже опубликован gRPC-порт сервера Proceset 7000, для агента укажите другой внешний порт, например 7001:7000. Если агент LLM OpenAI запускается на отдельном сервере, можно оставить публикацию порта 7000:7000.
Настройка сервера Proceset для взаимодействия с агентом LLM OpenAI
Для работы агента LLM OpenAI с сервером Proceset укажите серверу Proceset параметры gRPC-взаимодействия с агентом. Перед запуском с новыми параметрами остановите службу Proceset:
docker service rm infomaximum-app
После этого выполните запуск службы Proceset с новыми параметрами. Ниже приведен пример команды для случая, когда агент LLM OpenAI опубликован на внешнем порту 7001. Сохраните параметры из вашей текущей команды запуска и добавьте к ним переменные CL_NAME, CL_PORT, CL_REMOTE_NODES, а также публикацию порта 7000 для gRPC-взаимодействия:
docker service create --name infomaximum-app \
--secret infomaximum_app_https_certificate \
--secret infomaximum_app_https_certificate_password \
--mount type=volume,src=infomaximum-app-data,target=/var/lib/infomaximum/data/ \
--mount type=volume,src=infomaximum-app-log,target=/var/log/infomaximum/ \
--publish published=443,target=8010,mode=host \
--publish published=7000,target=7000,mode=host \
--restart-max-attempts 5 \
--restart-condition "on-failure" \
-e JVM_MAX_MEMORY='4G' \
-e FE_URL='https://proceset.domain.local' \
-e FE_CORS_POLICY="*" \
-e CL_NAME='proceset' \
-e CL_PORT='7000' \
-e CL_REMOTE_NODES='agent.domain.local:7001' \
infomaximum/infomaximum_app:d<версия>
Имя образа с версией приведено для примера. Укажите образ, соответствующий устанавливаемой версии Proceset.
При запуске с новыми параметрами добавлены:
CL_NAME='proceset'— имя сервера ProcesetCL_PORT='7000'— порт сервера Proceset для gRPC-взаимодействияCL_REMOTE_NODES='agent.domain.local:7001'— адрес агента LLM OpenAI. Если агент запущен на том же сервере, что и Proceset, и опубликован как7001:7000, укажите внешний порт7001. Если агент запущен на отдельном сервере и опубликован как7000:7000, укажите порт7000--publish published=7000,target=7000,mode=host— публикация gRPC-порта сервера Proceset на хосте
Остальные параметры должны соответствовать вашей предыдущей команде запуска Proceset.
Проверка подключения агента к серверу Proceset
После успешного запуска агента LLM OpenAI дополнительных настроек в веб-интерфейсе Proceset не требуется.
Чтобы проверить, что агент LLM OpenAI подключился к серверу Proceset:
- Перейдите в веб-интерфейс Proceset.
- Откройте раздел Настройки → Администрирование → О системе.
- Проверьте, что в списке модулей появилась строка
llm-agent.proceset. - Разверните строку и проверьте наличие модуля
com.infomaximum.subsystem.aiopenaiagent.
Появление модуля в разделе О системе означает, что агент LLM OpenAI корректно подключился к серверу Proceset.
После этого проверьте выполнение запроса к модели:
- Создайте тестовый скрипт.
- Добавьте блок работы с нейросетью, поддерживающий выбор внешней модели.
- В настройках блока проверьте, что в списке доступны модели, указанные в
LLM_OPENAI_MODELS. - Выполните тестовый запрос к внешней модели.
Была ли статья полезна?