Дата публикации
ai_products

Как проверить голосового ассистента до релиза: Microsoft выложила VoiceLive Evaluation Harness

Что нового

Microsoft выложила на GitHub набор инструментов VoiceLive Evaluation для проверки качества голосовых ассистентов на базе Azure VoiceLive (Speech-to-Speech-to-Text).

Главные элементы:

  1. evaluation_agent/ — облачный агент для автоматизации оценки VoiceLive:
  • 23 HTTP‑эндпоинта на Azure Functions
  • отдельный Container App для долгой обработки аудио
  • интеграция с Azure AI Foundry Agent по OpenAPI
  • управление датасетами, настройка сессий, запуск тестов VoiceLive (Push-to-Talk и Voice Activity Detection), запуск оценок в Foundry и анализ результатов.
  1. evaluation_harness/ — локальный стенд для оценки по заранее записанным аудиофайлам через VoiceLive SDK:
  • режимы Push-to-Talk и Voice Activity Detection
  • настройка параметров сессии: тип VAD, голос, шумоподавление, эхоподавление
  • конфигурация через JSON-файлы
  • выбор набора оценщиков Azure AI Foundry: дефолтные 8, все 13 или свой список
  • пакетная обработка аудио
  • интеграция с Azure AI Foundry для автоматической оценки
  • два режима работы: прямое подключение к VoiceLive‑модели (model mode) и работа через Foundry Agent (--agent-name).
  1. dataset_validator/ — CLI для проверки JSONL‑датасетов:
  • проверка синтаксиса и обязательных полей
  • проверка наличия аудиофайлов
  • базовые метрики качества и согласованности контента.
  1. helper_scripts/ — скрипты для подготовки датасетов, создания агентов и очистки ресурсов в Azure AI Foundry, плюс загрузчик датасетов из HuggingFace.

Отдельный плюс: в репозитории уже есть тесты разного уровня — от юнитов до интеграции с реальной инфраструктурой.

Как это работает

Архитектура делится на два сценария — облачный и локальный.

Облачный агент: evaluation_agent/

  • Azure Functions поднимают 23 эндпоинта, которые закрывают полный цикл: загрузка датасета, конфигурация сессий, запуск голосовых сессий в VoiceLive, запуск оценок в Azure AI Foundry, сбор и агрегация результатов.
  • Для долгих задач (например, длинные аудиофайлы) используется Container App, которая обрабатывает аудио без таймаутов функций.
  • Вся логика оценки завязана на Azure AI Foundry Agent, к которому подключены OpenAPI‑инструменты. То есть агент может сам вызывать нужные сервисы по описанию API.

Локальный стенд: evaluation_harness/

  • Работает поверх VoiceLive SDK и прогоняет заранее записанные аудиофайлы через тот же стек, что и боевой ассистент.
  • Поддерживает два вида взаимодействия:
    • Push-to-Talk (PTT) — имитация нажатия кнопки разговора
    • Voice Activity Detection (VAD) — автоматическое определение, когда пользователь говорит
  • В конфиге можно задать:
    • тип VAD
    • используемый голос
    • включение/выключение шумоподавления
    • включение/выключение эхоподавления
  • Конфигурация задаётся JSON‑файлами, что удобно для версионирования и A/B‑тестов.
  • Оценка качества завязана на Azure AI Foundry evaluators. Можно выбрать:
    • дефолтный набор из 8 оценщиков
    • полный набор из 13
    • свой кастомный список.
  • Есть два режима подключения:
    • model mode — прямой вызов развернутой VoiceLive‑модели
    • agent mode — работа через Foundry Agent, который передаётся через --agent-name.

Валидация датасетов: dataset_validator/

CLI‑утилита проверяет JSONL‑файлы с тестовыми сценариями:

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

Служебные скрипты: helper_scripts/

Здесь лежат утилиты для рутины вокруг оценок:

  • подготовка датасетов
  • создание агентов в Azure AI Foundry
  • очистка ресурсов после экспериментов
  • загрузчик датасетов с HuggingFace.

Что это значит для вас

Кому это реально полезно

  • Команды, которые делают голосовых ассистентов на Azure VoiceLive. Можно прогнать ассистента по реальным аудиосценариям до релиза и понять, как он справляется с:

    • распознаванием намерений
    • соблюдением сценария/задачи
    • полнотой и корректностью ответа.
  • Разработчики, которые уже сидят в Azure AI Foundry. Инструменты сразу интегрируются с Foundry evaluators и Foundry Agent. Не нужно собирать свою инфраструктуру для оценок с нуля.

  • Качество и продукт. Можно собрать отдельный датасет для регрессии, фиксировать баги и проверять, что после обновления ассистент не стал хуже.

Для каких задач

  • Регулярный регрессионный прогон голосового ассистента перед релизом.
  • Сравнение разных конфигураций VoiceLive: голоса, VAD, шумоподавление, эхоподавление.
  • Быстрая проверка новых сценариев: добавили новый тип диалога — сразу прогнали через harness.
  • Валидация датасетов перед тем, как подключать их к пайплайну оценок.

Где инструмент не поможет

  • Если вы не используете Azure VoiceLive и Azure AI Foundry, пользы почти не будет. Всё заточено под этот стек.
  • Если нужен простой «записал — послушал» тест без метрик и автоматизации, этот набор избыточен.

Доступность из России

VoiceLive Evaluation завязан на Azure‑сервисы. Для работы с облачным агентом и Foundry нужны аккаунт Azure и доступ к соответствующим ресурсам. При ограничениях на доступ к Azure может понадобиться VPN и корпоративная учётка.

Место на рынке

VoiceLive Evaluation решает довольно узкую, но важную задачу: системная оценка голосовых ассистентов.

  • В экосистеме Azure это прямой инструмент «из коробки» для VoiceLive и Azure AI Foundry.
  • В отличие от самописных скриптов, здесь уже есть:
    • 23 готовых эндпоинта для управления пайплайном
    • связка с Foundry evaluators
    • режимы PTT и VAD
    • CLI для проверки датасетов.

Прямых численных сравнений с другими фреймворками в репозитории нет. Основное отличие — глубокая интеграция именно с VoiceLive и Azure AI Foundry, чего нет у более общих open‑source решений для оценки LLM.

Если вы уже строите голосовых агентов на Azure, это естественный выбор. Если сидите на другом стеке (например, на собственных ASR/TTS и LLM), придётся сильно адаптировать код или искать более нейтральные инструменты.

Установка

Репозиторий использует виртуальное окружение Python и отдельные зависимости для каждого подпроекта.

Базовая установка в корне:

python - m venv .venv
.venv\Scripts\Activate.ps1
python.exe - m pip install -- upgrade pip
pip install - r .\requirements.txt

Важно: у каждого подпроекта (evaluation_agent/, evaluation_harness/, dataset_validator/, helper_scripts/) свой requirements.txt. Устанавливайте зависимости из того каталога, с которым сейчас работаете.

Как запустить тесты

В репозитории уже есть готовый набор тестов.

Юнит‑тесты (без Azure‑учётки)

# Тесты конфигов и оценщиков (40 тестов)
python evaluation_harness/tests/test_config_and_evaluators.py

# Тесты формата и структуры пайплайна
python evaluation_harness/tests/test_e2e_pipeline.py

# Тесты медиаформатов и поддержки датасетов Foundry (24 теста)
python evaluation_harness/tests/test_media_dataset.py

E2E‑пайплайн (нужны Azure‑учётка и VoiceLive‑эндпоинт)

python evaluation_harness/tests/test_e2e_full_pipeline.py --mode both --skip-evaluation

Интеграционные тесты (нужна развернутая инфраструктура)

# 8 тестов интеграции медиа и Foundry
python evaluation_agent/tests/test_media_integration.py

Как участвовать в разработке

Проект открыт для вкладов через pull‑request.

  • Перед принятием вклада Microsoft попросит согласиться с Contributor License Agreement (CLA). Это делается один раз для всех репозиториев, которые используют этот CLA.
  • После отправки PR сработает CLA‑бот, который покажет, нужно ли вам подписывать соглашение, и даст инструкции.
  • Проект использует Microsoft Open Source Code of Conduct. Вопросы по нему можно отправлять на opencode@microsoft.com.

Правовой блок и товарные знаки

  • В репозитории могут встречаться товарные знаки и логотипы Microsoft. Их использование регулируется Microsoft Trademark & Brand Guidelines.
  • Любое использование логотипов и знаков Microsoft в модифицированных версиях не должно вводить в заблуждение и создавать ощущение официального спонсорства.
  • Товарные знаки и логотипы третьих сторон подчиняются правилам соответствующих правообладателей.

Если вы уже строите голосового ассистента на Azure VoiceLive и хотите понимать, как он ведёт себя до релиза, VoiceLive Evaluation даёт готовый каркас для системного тестирования и метрик качества.


Читайте также