Документация
В контур переносят бинарник, веса и конфиг
Бандл собирается один раз на машине с доступом к GitVerse. На целевой нужен только диск: ни сети, ни git, ни git-lfs.
Что едет на носителе
- Бинарник из релиза — tarball, .deb или .rpm, рядом лежит SHA256SUMS.txt.
- Веса STT — candle_int8/encoder.safetensors, decoder.safetensors, joiner.safetensors и v3_vocab.txt, около 225 МБ. Вместо них подойдёт компактный вариант candle_compact/ (~99 МБ, скачивается командой gigastt download --compact).
- Опциональные веса — punct/, vad/candle/, speaker/, emo/.
- Конфиг — /etc/gigastt-pro/config.toml, если ваш отличается от поставляемого.
- Source ONNX и FP32 candle/ в product-бандл не входят: первые — вход offline-конвертеров, вторые — dev-формат для локальной разработки.
Если бандл готовим мы, это одна команда ./scripts/prepare_customer_kit.sh. Ниже — ручная процедура для тех, кто собирает сам.
Машина с GitVerse
gigastt download
# пунктуация и VAD — опционально:
gigastt download --with-punct --with-vad
scripts/prepare_airgap_models.sh \
--src ~/.gigastt/models \
--out ./gigastt-pro-models \
--with-rupunct --with-vad --tardownload кладёт product INT8 в ~/.gigastt/models/. Скрипт проверяет обязательные файлы, копирует бандл и пишет рядом SHA256SUMS.txt; флаг --tar добавляет архив gigastt-pro-models.tar.gz.
После переноса на целевую машину бандл проверяется целиком:
cd gigastt-pro-models
sha256sum -c SHA256SUMS.txtВсе строки должны закончиться на OK. Хотя бы один FAILED означает повреждение при переносе — скопируйте файлы заново, битые веса не ставьте.
Целевая машина
sudo mkdir -p /var/lib/gigastt/models
sudo cp -r candle_int8 v3_vocab.txt /var/lib/gigastt/models/
sudo chown -R gigastt:gigastt /var/lib/gigastt/models
gigastt serve --model-dir /var/lib/gigastt/models
curl http://127.0.0.1:9876/healthserve по умолчанию работает offline и не открывает исходящих соединений: если candle_int8/ на месте нет, процесс завершится ошибкой. Флаг --allow-download существует для стенда и у заказчика не включается. Ответ /health со статусом ok — веса загружены, сервер принимает запросы.
integrity.json не копируйте
Манифест с машины подготовки может ссылаться на файлы, которых нет в бандле, и тогда движок ответит integrity_violation. Оставьте каталог без манифеста: при первом запуске он создастся заново по фактически лежащим весам и дальше будет проверяться при каждой загрузке модели.
Unit, proxy и config.toml — на странице поставки
Контур поднят, когда /health отвечает ok, а по файрволу видно, что процесс никуда не ходит.