5 configuration
AI Wiki Bot edited this page 2026-09-16 19:34:21 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Конфигурация

Сервер GigaAM-Multilingual ASR настраивается исключительно через переменные окружения. Все параметры читаются при старте процесса в модуле server.py и определяют поведение конвейера распознавания, политику доступа и сетевые параметры.

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

Модели и каталоги данных

Эти переменные указывают, какие модели загружать и откуда их читать. В Docker-образе каталоги моделей монтируются с хоста (см. Установка и запуск).

Переменная По умолчанию Описание
MODEL_DIR models/gigaam-onnx (локально) / /models/gigaam-onnx (Docker) Корневой каталог для ASR-моделей. Каждая модель размещается в отдельной подпапке {MODEL_DIR}/{имя}/.
VAD_DIR models/vad (локально) / /models/vad (Docker) Каталог, содержащий файл silero_vad.onnx и config.json.
MODELS gigaam-multilingual-large-ctc,gigaam-multilingual-ctc Список моделей, разделяемый запятыми. Формат записи: alias=имя_в_onnx_asr или просто имя (тогда alias совпадает с именем). Каждая указанная модель загружается при старте. Неизвестное имя модели в запросе приводит к ошибке 404.
QUANTIZATION int8 Режим квантизации ONNX-модели. Допустимые значения: int8 (рекомендуется) или пустая строка (fp32).

Пример настройки одной модели

Если объём видеопамяти ограничен, можно загрузить только большую модель:

MODELS=gigaam-multilingual-large-ctc

Или использовать собственный alias для совместимости с существующими клиентами:

MODELS=my-large-model=gigaam-multilingual-large-ctc,my-small-model=gigaam-multilingual-ctc

В этом случае в запросах к API следует указывать model=my-large-model.

Производительность и обработка аудио

Параметры, влияющие на скорость обработки и способ сегментации длинных записей. Подробности о выборе размера модели и оценке RTF см. в разделе Производительность.

Переменная По умолчанию Описание
GIGAAm_CUDA auto Выбор устройства выполнения. Значения: auto (автоопределение CUDA), 1 (принудительно GPU), 0 (только CPU).
CHUNK_SECONDS 300 Порог активации VAD для длинных записей. Если длительность аудио превышает это значение (в секундах), используется Silero VAD для сегментации. Значение 0 отключает VAD — вся запись обрабатывается одним блоком.
MAX_DURATION 3600 Максимально допустимая длительность аудио в секундах. Запросы с более длинным файлом отклоняются.
FFMPEG_BIN (не задано) Путь к исполняемому файлу ffmpeg. Если не задано, сервер пытается найти ffmpeg в PATH или использовать пакет imageio-ffmpeg.

Авторизация

Механизм проверки Bearer-токенов. Если авторизация включена, каждый запрос к защищённым конечным точкам должен содержать заголовок Authorization: Bearer <токен>.

Переменная По умолчанию Описание
API_KEYS (пусто) Список допустимых токенов, разделённых запятыми. Если переменная пуста или не задана, проверка авторизации отключена, и сервер принимает любые запросы.

Пример включения авторизации

API_KEYS=key-alpha,key-beta

Теперь запросы должны выглядеть так:

curl http://localhost:8000/v1/audio/transcriptions \
  -H "Authorization: Bearer key-alpha" \
  -F file=@speech.mp3 \
  -F model=gigaam-multilingual-large-ctc

Подробнее о формате запросов и ответах см. в Справочнике API.

CORS (Cross-Origin Resource Sharing)

Настройка политик межсайтовых запросов. Актуально при использовании браузера или прокси-сервисов (например, LiteLLM), которые выполняют preflight-запросы OPTIONS.

Переменная По умолчанию Описание
CORS_ORIGINS * Политика CORS. Значения: * — разрешены все origin; список origin через запятую (например, https://example.com,https://app.example.com); пустая строка — CORS полностью отключён.

Пример строгой политики

CORS_ORIGINS=https://frontend.mycompany.kz,https://admin.mycompany.kz

Сетевые параметры

Базовые настройки HTTP-сервера.

Переменная По умолчанию Описание
HOST 0.0.0.0 Адрес привязки сокета.
PORT 8000 Порт прослушивания.

Пример полного конфигурационного блока (docker-compose)

Ниже приведён фрагмент файла docker-compose.yml с типичной настройкой для производственной среды:

services:
  gigaam-asr:
    image: git.maydayoffice.kz/maydayoffice/gigaam-asr-server:v0.1.4
    ports:
      - "43000:8000"
    environment:
      # Устройства и модели
      GIGAAm_CUDA: "1"
      MODELS: gigaam-multilingual-large-ctc,gigaam-multilingual-ctc
      QUANTIZATION: int8
      
      # Обработка аудио
      CHUNK_SECONDS: "300"
      MAX_DURATION: "3600"
      
      # Безопасность
      API_KEYS: "secret-token-1,secret-token-2"
      CORS_ORIGINS: "https://asr-client.mycompany.kz"
      
      # Сеть
      HOST: "0.0.0.0"
      PORT: "8000"
    volumes:
      - ./models:/models:ro
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Примечания

  • Все переменные читаются один раз при старте приложения. Для применения изменений необходимо перезапустить контейнер или процесс.
  • Переменные MODEL_DIR, VAD_DIR и MODELS имеют разные значения по умолчанию внутри Docker-образа (указаны в ENV секции Dockerfile) и при локальном запуске Python.
  • При работе с несколькими моделями убедитесь, что каждая из них скачана в соответствующую подпапку. Скрипт download_models.py поддерживает выбор конкретных моделей через переменную ASR_MODELS.