Действия

PVE. Установка сервисного пакета окружения: различия между версиями

Материал из Флора AI

Нет описания правки
 
(не показано 29 промежуточных версий 3 участников)
Строка 1: Строка 1:
===== '''Общее описание''' =====
===== '''Общее описание''' =====
Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального python3 окружения для работы сервисов:
Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального Python3 окружения для работы сервисов:
    • Simple Entity Extractor
    • Simple Message Classifier
     • Short Phrase Recognizer
     • Short Phrase Recognizer
     • Simple Biometry Server
     • Simple Biometry Server
    • Simple Entity Extractor
    • Simple Message Classifier
     • Text To Speech Server
     • Text To Speech Server
    • Question Answering System
    • Script Engine Service
    • Report Engine Service


====='''Термины и определения'''=====
====='''Термины и определения'''=====
Python Virtual Environment (PVE) – пакет для установки python3 окружения для сервисов. Самостоятельно PVE не используется
Python Virtual Environment (PVE) – пакет для установки Python3 окружения для сервисов. Самостоятельно PVE не используется.




====='''Расчет нагрузки'''=====
====='''Расчет нагрузки'''=====
Для установки пакета требуется свободное место в каталоге /opt не менее 4 Gb.
Для установки пакета требуется свободное место в каталоге /opt не менее 4Gb без поддержки видеокарты и/или 19Gb с поддержкой.


Также при установке используется временная папка /tmp/archive, куда распаковывается содержимое архива до 17Gb.
====='''Установка/обновление пакета окружения'''=====
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/pve&fileid=612 Дистрибутив] распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в ''онлайн''-режиме при наличии прямого доступа в интернет или через прокси. Для установки в ''оффлайн''-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.
* Загрузить последнюю версию окружения  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s <nowiki>https://repo.connect2ai.net/api/pve</nowiki> --user '[user]:[pass]' 2>&1)"</code>.
* Обновить PVE <code>/opt/pve/inupdate</code> в интерактивном режиме. Или запустить с ключом:
** <code>/opt/pve/inupdate -b</code> – обновить до последней beta версии;
** <code>/opt/pve/inupdate -r</code> – обновить до последней release версии;
** <code>/opt/pve/inupdate -n</code> – обновить до последней версии (неважно beta или release).
* Проверить актуальную версию окружения <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/version</nowiki></code>.
* Посмотреть лог изменений  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/changelog</nowiki>" --user '[user]:[pass]'</code>.
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> – это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.]
* В папке с окружением можно добавить 2 файла конфигурации (данные файлы также будут использоваться продуктами при отсутствии у них своих):
** echo -n <code>"[user]:[pass]"</code>  > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления)
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code>  > /opt/pve/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету)
При установке рядом со скриптом окружения можно положить freeze.txt с альтернативным набором модулей. В потоке вывода в результате вы увидите сообщение «Существует внешний файл — список модулей pip3».


====='''Установка пакета окружение'''=====
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/pve&fileid=612 Дистрибутив] распространяется в виде универсального установочного пакета.
Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку.
Пакет может быть установлен в ''онлайн'' режиме (при наличии доступа к репозиториям) или ''оффлайн'' (с предварительно собранными пакетами)
и с ''минимальным/полным'' набором модулей (''без/с'' возможностью обучения моделей).
Для установки в оффлайн режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версия и ядро ОС) с доступом к репозиториям.
В шапке скрипта можно изменить место установки окружения, а также версию python3. Скрипт содержит комментарии.


===== '''Варианты использование инсталлятора'''=====
===== '''Варианты использование инсталлятора'''=====


Описание ключей установки приведено в таблице
Описание ключей установки приведено в таблице
{| class="wikitable"
{| class="wikitable"
|+
|+
!Параметр
!Параметр,
!Назначение
назначение
!Параметр,
назначение
!Параметр,
назначение
!Примечание
|-
|-
|''-i/--install''
|''-i/--install - установить окружение''
|Установить сервис в online/offline режиме с минимальным, максимальным, для ups набором модулей . Режим выбирается ключами -off -on
| -on/--online - онлайн
| -cpu/--cpu - полный набор pip3 модулей под CPU
| rowspan="5" |Данные наборы ключей используются совместно, в разных комбинациях. Чтобы установить в оффлайн-режиме, необходимо собрать скрипт с ключом -b/--build. Установка с ключом CPU актуальна при отсутствии видеокарты в системе, окружение занимает всего ~3Gb.  
|-
|-
|''-off/--offline''
|
|установка оффлайн (''необходимо предварительно собрать скрипт с ключем -b/--build'')
| -off/--offline - оффлайн
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
|-
|-
|''-on/--online''
|
|Установка онлайн (''собирать с ключем -b/--build не надо'')
|
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
|-
|-
|''-m/--minimal''
|
|Установка миниального набора модулей pip3 для продов
|
| -ups/--ups - отдельное окружение для ups
|-
|-
|''-f/--full''
|
|Установка полного набора модулей pip3 с возможностью варки моделей
|
| -res/--res - отдельное окружение для res
|-
|-
| -ups/--uinstall
| -u/--update - обновить окружение
|Установка выделенного окружения под UPS со своим списком pip3 модулей
| -on/--online - онлайн
| -cpu/--cpu - полный набор pip3 модулей под CPU
| rowspan="5" |Данные наборы ключей используются совместно, в разных комбинациях. Чтобы обновить в оффлайн режиме, необходимо собрать скрипт с ключом -b/--build. Обновление с ключом CPU актуально при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. Обновление отличается от установки тем, что пропускается этап установки системных пакетов. Ставится только окружение с модулями. Оффлайн инсталлятор с ключом обновления становится универсальным под любую ОС, так как не зависим от системных пакетов.
|-
|-
|''-e/--extract''
|
|Скопировать внутренний архив рядом со скриптом
| -off/--offline - оффлайн
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
|-
|-
|''-p/--pack имя_архива''
|
|запаковать архив в скрипт, архив создавать без абсолютных каталогов <code>tar -czvf urs-install.tgz -C archive $(ls -A archive)</code>
|
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
|-
|-
|''-d/--dir путь/имя_каталога''
|
|Используется совместно с -p/--pack или -e/--extract, сжать\распаковать каталог в\из архива
|
| -ups/--ups - отдельное окружение для ups
|-
|-
|''-b/--build''
|
|Скачать все пакеты, и модули, и упаковать в тело скрипта для оффлайн установки
|
| -res/--res - отдельное окружение для res
|-
|-
|''-n/--null''  
| -b/--build - скачать все пакеты, и модули, и упаковать в скрипт
|Удалить внутренний архив из скрипта
|''-i/--install - для установки с системными пакетами''
| -f/--full - полный набор pip3 модулей под все типы
| rowspan="6" |Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключом CPU актуальна при отсутствии видеокарты в системе, собранный инсталлятор весит ~1Gb. Ключ полного набора модулей делает инсталлятор универсальным, но такой инсталлятор весит ~9Gb. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси.
|-
|-
|''-r/--renew full/minimal имя_файла''
|
|вписать в скрипт новый full/minimal список pip модулей из внешнего файла
| -u/--update - для обновления, только окружение
| -cpu/--cpu - полный набор pip3 модулей под CPU
|-
|
|
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
|-
|
|
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
|-
|
|
| -ups/--ups - отдельное окружение для ups
|-
|
|
| -res/--res - отдельное окружение для res
|-
| -u/--uninstall - удалить окружение
|
|
|Одинарный ключ, удаляет окружение из папки /opt
|-
| -e/--extract - скопировать внутренний архив рядом со скриптом
| -d/--dir путь/имя_каталога
|
|Второй аргумент не обязательный. Без указания папки, распакуется архив. С указанием папки, распакуется содержимое архива в указанную папку.
|-
| -p/--pack имя_архива - запаковать архив в скрипт
| -d/--dir путь/имя_каталога
|
|Второй аргумент не обязательный. Без указания папки к установщику прикрепляем архив. С указанием папки к установщику прикрепляем содержимое каталога.
|-
| -n/--null - удалить внутренний архив из скрипта
|
|
|Удаляем внутренний архив из инсталлятора. Редактирование инсталлятора с архивом может привести к повреждению архива.
|}
|}
Примеры использования ключей
Примеры использования ключей:
-Установить PVE полным набором модулей pip3 онлайн под варку
 
<code>./pve-<версия>-<релиз>.sh -i -f -on</code>
-- Установить окружение с полным набором модулей под CPU.
-Установить окружение онлайн под UPS со своим набором pip3 модулей
 
<code>./pve-<версия>-<релиз>.sh -i -ups -on</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -i -cpu -on</code>
-Установить сервис с минимальным набором модулей pip3 онлайн на прод
 
<code>./pve-<версия>-<релиз>.sh -i -m -on</code>
  -- Установить окружение из заранее собранного инсталлятора с полным набором модулей под CPU.
-Установить сервис из заранее собранного инсталлера
 
<code>./pve-<версия>-<релиз>.sh -i -off</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -i -cpu -off</code>
-Скопировать внутренний архив рядом со скриптом не распаковывая в папку
 
<code>./pve-<версия>-<релиз>.sh --extract</code>
  -- Собрать все пакеты для установки оффлайн окружения с полным набором модулей под CPU.
-Запаковать архив в скрипт
 
<code>./pve-<версия>-<релиз>.sh --pack <service>-offline.tgz</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -b -i -cpu</code>
-Сжать каталог и запаковать архив в скрипт
 
<code>./pve-<версия>-<релиз>.sh --pack -d <имя каталога></code>
  -- Собрать все пакеты для обновления оффлайн окружения с полным набором модулей под CPU.
-Распаковать внутренний архив рядом со скриптом в каталог
 
<code>./pve-<версия>-<релиз>.sh -e -d archive</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -b -u -cpu</code>
-Собрать все пакеты для установки оффлайн сервиса с полным набором модулей pip3 под варку
 
<code>./pve-<версия>-<релиз>.sh --build -f</code>
  -- Скопировать внутренний архив рядом со скриптом, не распаковывая в папку.
-Собрать все пакеты для установки оффлайн сервиса с минимальным набором модулей pip3 на прод
 
<code>./pve-<версия>-<релиз>.sh --build -m</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -e</code>
-Удалить внутренний архив из скрипта
 
<code>./pve-<версия>-<релиз>.sh --null</code>
  -- Запаковать архив в скрипт.
-Изменить список pip модулей в скрипте
 
<code>./pve-<версия>-<релиз>.sh -r full freeze.txt</code>
  Пример использования: <code>./pve-<версия>-<релиз>.sh -p <service>-offline.tgz</code>
 
  -- Сжать каталог и запаковать архив в скрипт.
 
  Пример использования: <code>./pve-<версия>-<релиз>.sh -p -d <имя каталога></code>
 
  -- Распаковать внутренний архив рядом со скриптом в каталог.
 
  Пример использования: <code>./pve-<версия>-<релиз>.sh -e -d archive</code>
 
  -- Удалить внутренний архив из скрипта.
 
  Пример использования: <code>./pve-<версия>-<релиз>.sh --null</code>
 
  -- Удалить окружение.
 
  Пример использования: <code>./pve-<версия>-<релиз>.sh --uninstall</code>
 
 
 


====='''Удаление окружения'''=====
====='''Удаление окружения'''=====
Для удаления удалите каталог /opt/pve/ <code>rm -rf /opt/pve/</code>.
Для удаления выполните команду: <code>/opt/pve/uninstall</code>.
 
Для удаления UPS окружения удалите каталог /opt/ups/pve/ <code>rm -rf /opt/ups/pve/</code>.

Текущая версия от 13:40, 25 ноября 2025

Общее описание

Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального Python3 окружения для работы сервисов:

   • Simple Entity Extractor
   • Simple Message Classifier
   • Short Phrase Recognizer
   • Simple Biometry Server
   • Text To Speech Server
   • Question Answering System
   • Script Engine Service
   • Report Engine Service


Термины и определения

Python Virtual Environment (PVE) – пакет для установки Python3 окружения для сервисов. Самостоятельно PVE не используется.


Расчет нагрузки

Для установки пакета требуется свободное место в каталоге /opt не менее 4Gb без поддержки видеокарты и/или 19Gb с поддержкой.

Также при установке используется временная папка /tmp/archive, куда распаковывается содержимое архива до 17Gb.


Установка/обновление пакета окружения

Дистрибутив распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в онлайн-режиме при наличии прямого доступа в интернет или через прокси. Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.

  • Загрузить последнюю версию окружения curl -s "https://repo.connect2ai.net/api/pve/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/pve --user '[user]:[pass]' 2>&1)".
  • Обновить PVE /opt/pve/inupdate в интерактивном режиме. Или запустить с ключом:
    • /opt/pve/inupdate -b – обновить до последней beta версии;
    • /opt/pve/inupdate -r – обновить до последней release версии;
    • /opt/pve/inupdate -n – обновить до последней версии (неважно beta или release).
  • Проверить актуальную версию окружения curl -s "https://repo.connect2ai.net/api/pve/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/pve/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] – это тот же логин и пароль, что и от Nextcloud.
  • В папке с окружением можно добавить 2 файла конфигурации (данные файлы также будут использоваться продуктами при отсутствии у них своих):
    • echo -n "[user]:[pass]" > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/pve/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету)

При установке рядом со скриптом окружения можно положить freeze.txt с альтернативным набором модулей. В потоке вывода в результате вы увидите сообщение «Существует внешний файл — список модулей pip3».


Варианты использование инсталлятора

Описание ключей установки приведено в таблице

Параметр,

назначение

Параметр,

назначение

Параметр,

назначение

Примечание
-i/--install - установить окружение -on/--online - онлайн -cpu/--cpu - полный набор pip3 модулей под CPU Данные наборы ключей используются совместно, в разных комбинациях. Чтобы установить в оффлайн-режиме, необходимо собрать скрипт с ключом -b/--build. Установка с ключом CPU актуальна при отсутствии видеокарты в системе, окружение занимает всего ~3Gb.
-off/--offline - оффлайн -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-u/--update - обновить окружение -on/--online - онлайн -cpu/--cpu - полный набор pip3 модулей под CPU Данные наборы ключей используются совместно, в разных комбинациях. Чтобы обновить в оффлайн режиме, необходимо собрать скрипт с ключом -b/--build. Обновление с ключом CPU актуально при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. Обновление отличается от установки тем, что пропускается этап установки системных пакетов. Ставится только окружение с модулями. Оффлайн инсталлятор с ключом обновления становится универсальным под любую ОС, так как не зависим от системных пакетов.
-off/--offline - оффлайн -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-b/--build - скачать все пакеты, и модули, и упаковать в скрипт -i/--install - для установки с системными пакетами -f/--full - полный набор pip3 модулей под все типы Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключом CPU актуальна при отсутствии видеокарты в системе, собранный инсталлятор весит ~1Gb. Ключ полного набора модулей делает инсталлятор универсальным, но такой инсталлятор весит ~9Gb. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси.
-u/--update - для обновления, только окружение -cpu/--cpu - полный набор pip3 модулей под CPU
-cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-u/--uninstall - удалить окружение Одинарный ключ, удаляет окружение из папки /opt
-e/--extract - скопировать внутренний архив рядом со скриптом -d/--dir путь/имя_каталога Второй аргумент не обязательный. Без указания папки, распакуется архив. С указанием папки, распакуется содержимое архива в указанную папку.
-p/--pack имя_архива - запаковать архив в скрипт -d/--dir путь/имя_каталога Второй аргумент не обязательный. Без указания папки к установщику прикрепляем архив. С указанием папки к установщику прикрепляем содержимое каталога.
-n/--null - удалить внутренний архив из скрипта Удаляем внутренний архив из инсталлятора. Редактирование инсталлятора с архивом может привести к повреждению архива.

Примеры использования ключей:

-- Установить окружение с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -on

  -- Установить окружение из заранее собранного инсталлятора с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -off

  -- Собрать все пакеты для установки оффлайн окружения с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -b -i -cpu

  -- Собрать все пакеты для обновления оффлайн окружения с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -b -u -cpu

  -- Скопировать внутренний архив рядом со скриптом, не распаковывая в папку.

  Пример использования: ./pve-<версия>-<релиз>.sh -e

  -- Запаковать архив в скрипт.

  Пример использования: ./pve-<версия>-<релиз>.sh -p <service>-offline.tgz

  -- Сжать каталог и запаковать архив в скрипт.

  Пример использования: ./pve-<версия>-<релиз>.sh -p -d <имя каталога>

  -- Распаковать внутренний архив рядом со скриптом в каталог.

  Пример использования: ./pve-<версия>-<релиз>.sh -e -d archive

  -- Удалить внутренний архив из скрипта.

  Пример использования: ./pve-<версия>-<релиз>.sh --null

  -- Удалить окружение.

  Пример использования: ./pve-<версия>-<релиз>.sh --uninstall



Удаление окружения

Для удаления выполните команду: /opt/pve/uninstall.