gigastt-pro

Продукт

Один процесс с головой rnnt распознаёт русскую речь

На вашей машине поднимается конечная точка распознавания русской речи. Внутри — GigaAM v3: Conformer-энкодер, LSTM-декодер и joiner, 240 млн параметров. Инференс идёт на собственном рантайме gigastt-tensor.

Движок

Один бинарник — сервер и CLI

Команда serve поднимает HTTP и WebSocket на одном порту, по умолчанию 127.0.0.1:9876 — доступен только с самой машины. Тот же бинарник работает из CLI: transcribe распознаёт файл офлайн, download скачивает веса. На http://127.0.0.1:9876/app/ сервер отдаёт встроенную страницу с dropzone. Перетащенный туда файл распознаётся этим же процессом; аудио с машины не уходит.

Настройки читаются из /etc/gigastt-pro/config.toml, веса — из ~/.gigastt/models или каталога, который задаёт --model-dir.

Состав

Что внутри

  • Голова только rnnt

    Символьный словарь на 34 токена, LSTM-декодер и joiner. Голова e2e_rnnt вне области продукта и не развивается.

  • Инференс на gigastt-tensor

    Фича сборки называется candle по историческим причинам, а считает собственный workspace-crate gigastt-tensor. CPU на Linux и Windows, x86_64 и aarch64. Ни candle-core, ни ONNX Runtime в дерево продукта не входят.

  • Product-веса — 225 МБ INT8

    По умолчанию download скачивает candle_int8/. Есть compact-вариант на K-quant в 99 МБ: ставится через download --compact, выбирается флагом --weights-variant compact.

  • ITN и пунктуация включаются на рантайме

    Флаг --itn переводит числительные в цифры. Пунктуацию и регистр восстанавливает rupunct, его веса лежат в каталоге punct/.

  • VAD — флаг в базовой сборке

    Silero VAD включается флагом --vad в любой candle-сборке; отдельно лежат только его веса в vad/candle/. А вот диаризация WeSpeaker и эмоции GigaAM-Emo INT8 — compile-time фичи diarization и emotion плюс свои веса: в базовом бинарнике их нет.

  • Jobs, webhooks и метрики собраны, но выключены

    Все три входят в default features бинарника. Роуты /v1/jobs поднимает --enable-jobs, вебхук о финальном статусе задачи — --jobs-webhook-url, метрики — --metrics.

Сборка

Сборка не скачивает native-библиотеки

Нужны стабильный Rust 1.88+ и C toolchain для ring; сеть на этапе сборки не используется. Первая команда даёт default-набор фич (candle, jobs, webhooks, metrics), вторая — slim-сборку, третья добавляет диаризацию.

cargo
cargo build --release
cargo build --release --no-default-features --features candle
cargo build --release --no-default-features --features candle,diarization

Границы

Чего в продукте нет

Список короткий и зафиксирован в roadmap движка. Каждый пункт снимает код из поставки и вопросы из вашего аудита.

  • Облачный API и ключи провайдера
  • ONNX Runtime и CUDA как product-бэкенд
  • Голова e2e_rnnt
  • macOS, iOS, Android и их бэкенды CoreML, ANE, NNAPI
  • Телеметрия и phone-home

Поставка на контур расписана по шагам

Установка пакета, systemd-юнит и air-gap бандл — в разделе про развёртывание. Исходники и веса доступны по запросу.