Skip to Content

Установка сервера AI

Подключаемся к серверу по SSH под пользователем с правами root.

Установка Docker

Установите Docker.

⚠️

Сервер использует подсеть server_ai, которая создается автоматически при первом запуске финальной команды данной статьи.

Загрузка образов

docker load -i /srv/samba/shared/install/docker/server/server_api.tar
docker load -i /srv/samba/shared/install/docker/server/server_auth.tar
docker load -i /srv/samba/shared/install/docker/server/server_inference.tar
docker load -i /srv/samba/shared/install/docker/server/server_logs.tar
docker load -i /srv/samba/shared/install/docker/server/server_ui.tar

При необходимости для сред разработки/тестирования загрузите сторонние зависимости:

docker load -i /srv/samba/shared/install/docker/server/postgres.tar
docker load -i /srv/samba/shared/install/docker/server/rabbitmq.tar

Размещение файлов

  1. Создаем папку /app/Primo.AI/Api и дочерние:

    sudo mkdir -p /app/Primo.AI/Api/volumes/conf/Api/ /app/Primo.AI/Api/volumes/conf/Auth/ /app/Primo.AI/Api/volumes/conf/Logs/ /app/Primo.AI/Api/volumes/conf/MachineInfo/ /app/Primo.AI/Api/volumes/conf/Inference/ /app/Primo.AI/Api/volumes/nginx/ /app/Primo.AI/Api/volumes/Api_Models/ /app/Primo.AI/Api/volumes/Api_ContextFiles/ /app/Primo.AI/Api/volumes/Logs/
  2. Размещаем окружение сервера в /app/Primo.AI/Api:

    sudo cp /srv/samba/shared/install/docker/server/docker-compose.yaml /app/Primo.AI/Api/
    sudo cp -r /srv/samba/shared/install/docker/server/volumes/* /app/Primo.AI/Api/volumes/
    sudo unzip /srv/samba/shared/install/docker/server/env.zip -d /app/Primo.AI/Api/

    При необходимости укажите нестандартные учётные данные БД, RabbitMQ или временную зону в .env-файле:

    sudo nano /app/Primo.AI/Api/.env
  3. Размещаем файлы моделей Умного OCR:

    sudo cp -r /srv/samba/shared/install/data/models/SmartOCR/* /app/Primo.AI/Api/volumes/Api_Models/
  4. Размещаем файлы моделей AI Текст.

    Модели AI Текст:

    Имя моделиТип LLM-ядраМультимодальностьИмя файла
    base-LLM-01.zipvLLMНетe255188e-d9f6-41d3-b170-0c25bc0bd02f
    base-LLM-02.zipLlama.cppНетddc02d8d-0117-4c67-acb3-2dd0549d2985
    base-LLM-03.zipvLLMНетb1bf77a1-ca4e-4088-942c-8ec83086611b
    base-LLM-04.zipvLLMДаebe98258-1c21-4d19-af56-cf39f7e3883d

    Файлы моделей объемные, поэтому можно скопировать только отдельные (укажите вместо ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’ имя файла модели, воспользовавшись столбцом “Имя файла” из таблицы выше).

    sudo cp /srv/samba/shared/install/data/models/NLP/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /app/Primo.AI/Api/volumes/Api_Models/

    Либо, если места достаточно, скопируйте все модели:

    sudo cp /srv/samba/shared/install/data/models/NLP/* /app/Primo.AI/Api/volumes/Api_Models/

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

  5. Размещаем стандартный контекст NLP-запросов:

    sudo cp -r /srv/samba/shared/install/data/context/* /app/Primo.AI/Api/volumes/Api_ContextFiles/

    Должна получиться следующая иерархия папок для соответствия стандартному docker-compose.yaml:

    /app/Primo.AI/Api/ ├── .env ├── docker-compose.yaml └── volumes ├── conf │ └── Api │ ├── appsettings.json │ └── appsettings.ProdLinux.json │ └── Logs │ ├── appsettings.json │ └── appsettings.ProdLinux.json │ └── Inference │ ├── appsettings.json │ └── appsettings.ProdLinux.json │ └── Auth │ ├── appsettings.json │ └── appsettings.ProdLinux.json │ └── nginx │ └── nginx.conf ├── Api_Models │ ├─── cf7d9f7f-ab96-4c15-873e-82c6aad7f9a4 │ ├─── 3901af0a-8c50-4b76-b96f-481cae5e4a35 │ ├─── ... │ └─── e255188e-d9f6-41d3-b170-0c25bc0bd02f ├── Api_ContextFiles │ ├─── 13fb0ff5-3f31-44e1-9c99-e24276380a3f │ ├─── e41cc59b-059f-4471-8d09-328aab8ed60f │ ├─── a9d109d6-0125-42f9-b44e-2052a0c4e164 │ └─── d24b857c-6c21-4d5f-990f-52d6235c33dd └── Logs

Редактируем конфигурационные файлы

Конфигурационный файл Api

  1. Открываем в редакторе конфигурационный файл:
    sudo nano /app/Primo.AI/Api/volumes/conf/Api/appsettings.ProdLinux.json
  2. Указываем адрес портала AI Server в Security > EnabledOrigins:
    "Security": { ... "EnabledOrigins": [ "https://192.168.0.4:44392", "https://ai-server-portal:44392" ], ... }

Конфигурационный файл Api.Auth

  1. Открываем в редакторе конфигурационный файл:
    sudo nano /app/Primo.AI/Api/volumes/conf/Auth/appsettings.ProdLinux.json
  2. Указываем адрес портала AI Server в Security > EnabledOrigins:
    "Security": { ... "EnabledOrigins": [ "https://192.168.0.4:44392", "https://ai-server-portal:44392" ], ... }

Конфигурационный файл Api.Inference

  1. Открываем в редакторе конфигурационный файл:

    sudo nano /app/Primo.AI/Api/volumes/conf/Inference/appsettings.ProdLinux.json
  2. Указываем адрес портала AI Server в Security > EnabledOrigins:

    "Security": { ... "EnabledOrigins": [ "https://192.168.0.4:44392", "https://ai-server-portal:44392" ], ... }

Конфигурационный файл Api.Logs

  1. Открываем в редакторе конфигурационный файл:
    sudo nano /app/Primo.AI/Api/volumes/conf/Logs/appsettings.ProdLinux.json
  2. Указываем адрес портала AI Server в Security > EnabledOrigins:
    "Security": { ... "EnabledOrigins": [ "https://192.168.0.4:44392", "https://ai-server-portal:44392" ], ... }

Конфигурационный файл nginx

При необходимости можно указать в конфигурационном файле число рабочих процессов, максимальное число соединений, которые одновременно может открыть рабочий процесс, и другие параметры.

  1. Открываем в редакторе конфигурационный файл:
    sudo nano /app/Primo.AI/Api/volumes/nginx/nginx.conf

Запуск контейнеров

docker compose -f /app/Primo.AI/Api/docker-compose.yaml up -d