Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Установка сервиса распознавания речи NanoASR

Материал из Платформа Эра. Документации

Общая информация

NanoASR - это утилита с открытым исходным кодом, позволяющая запускать модели машинного обучения для распознавания речи (транскрибации) и разделения спикеров (диаризации).

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

Системные требования

Для установки требуется 4гб свободного дискового пространства.

Технически, утилита способна работать на минимальной конфигурации - 1 ядро CPU и 1гб ОЗУ. Единственное требование к CPU - поддержка AVX-инструкций. В таком случае, она сможет обрабатывать 1 параллельный запрос, со скоростью примерно 0.5 от реального времени (1 минуту записи обрабатывать за 2 минуты).

Рекомендуемые параметры сервера:

  • 4 ядра CPU
  • 4гб RAM
  • 20гб SSD

В таком режиме, NanoASR может обрабатывать до 4 параллельных запросов со скоростью реального времени (минуту записи за минуту расчетов), либо 2 параллельных запроса со скоростью х2 (минуту записи за 30 секунд расчетов).

Технические детали

Утилита написана на языке Golang и представляет собой единый бинарный файл. В качестве среды исполнения моделей используется библиотека sherpa-onnx.

Утилита поддерживает различные архитектуры моделей, однако "из коробки" загружает следующий набор:

Модели NanoASR
Модель Назначение
gigaam-v3-rnnt-punct-ru Распознавание речи
silero-vad-v5 Детектор голосовой активности
pyannote-segmentation-3 Модель разделения спикеров
campplus-sv-zh-en Модель построения "слепков" голосов (голосовых эмбеддингов)

Установка на Linux

Результат установки на Linux

Доступна быстрая установка с помощью готового скрипта.

Скрипт автоматически установит утилиту в /opt/nanoasr, зарегистрирует в systemd, загрузит веса всех необходимых моделей и установит ffmpeg для работы с mp3.

curl -fsSL https://github.com/usunrise88/NanoASR/releases/latest/download/install.sh | bash

Доступны также ручная установка и установка с помощью docker, оба варианта описаны в readme на github.

После установки будет отображены данные для подключения, включая токены доступа.

Если необходимо реализовать доступ к сервису из внешней сети, необходимо настроить на сервере реверс-прокси (например nginx или Caddy) с TLS к порту 8080.

Установка на Windows

Результат установки Windows

Доступна быстрая установка с помощью готового скрипта. Скрипт автоматически установит утилиту в C:/Program Files/NanoASR, создаст сервис, загрузит веса всех необходимых моделей и установит ffmpeg для работы с mp3.

Для быстрой установки необходимо вызвать данную команду в Powershell:

irm https://github.com/usunrise88/NanoASR/releases/latest/download/install.ps1 | iex

Доступны также ручная установка и установка с помощью docker, оба варианта описаны в readme на github.

Если необходимо реализовать доступ к сервису из внешней сети, необходимо настроить на сервере реверс-прокси (например nginx или Caddy) с TLS к порту 8080.

Подключение к Платформе Эра

Мастер домен -> Приложение "Настройки" -> Домен -> Параметры

Необходимо найти параметр record_asr_options.

Задать значение по следующему шаблону:

{
  "servers": [
    {
      "headers": [
        "Authorization: Bearer sk-nanoasr-*"
      ],
      "uri": "http://[NanoASR_host]/asr_task?encode=true&task=transcribe&language=ru&output=json",
      "uri_get_task_result": "http://[NanoASR_host]/asr_task/%TASK_ID%"
    }
  ],
  "thread_count": 5,
  "type": "whisper",
  "utc_hours": [
    0,
    0
  ]
}

Где:

  • sk-nanoasr-* это ключ, полученный после установки (либо в yaml конфигурационном файле NanoASR);
  • [NanoASR_host] - адрес и порт установелнного сервиса NanoASR.

Подключение к AI Softphone

Настройки -> Расшифровка -> Распознаватели -> Добавить

Значения настроек для AI Softphone
Настройка Значение
Название NanoASR (любое название)
Вид Совместимый с OpenAI (Whisper, OpenAI)
Адрес http://[NanoASR_host]/v1 где [NanoASR_host] = адрес и порт установленного NanoASR
Ключ ключ, полученный после установки (либо в yaml конфигурационном файле NanoASR);
Модель По умолчанию gigaam-v3-ctc-punct-ru
Включен Да

Конфигурационный файл nanoasr.yaml