Создание собственной модели (BYOM) с помощью Voice Live API

API голосовой трансляции предоставляет возможности создания собственной модели (BYOM), что позволяет интегрировать пользовательские модели в рабочий процесс взаимодействия с голосовой связью. BYOM полезен для следующих сценариев:

  • Настроенные модели: Используйте пользовательские модели Azure OpenAI или Azure Foundry.
  • Любая модель Foundry, не предварительно развернутая Voice Live: используйте модели из каталога Foundry, такие как Anthropic Claude, Grok, Fireworks с пользовательскими весами или развертывание модельного маршрутизатора
  • Подготовленная пропускная способность. Использование развертываний PTU (подготовленных единиц пропускной способности) для обеспечения согласованной производительности
  • Безопасность содержимого. Применение настраиваемых конфигураций безопасности содержимого с помощью LLM

Это важно

Вы можете интегрировать любую модель, развернутую в ресурсе Azure Foundry, с API голосовой трансляции. Для использования развертываний моделей из другого ресурса Foundry см. в разделе «Переопределения ресурсов».

Подсказка

При использовании собственного развертывания модели с голосовой трансляцией рекомендуется настроить фильтрацию содержимого на асинхронную фильтрацию, чтобы уменьшить задержку. Параметры фильтрации содержимого можно настроить на портале Microsoft Foundry.

Настройка проверки подлинности

При использовании проверки подлинности Microsoft Entra ID с Voice Live API в режиме byom-azure-openai-chat-completion или byom-foundry-anthropic-messages необходимо правильно настроить соответствующие разрешения для ресурса Foundry. Так как срок действия токенов истекает во время длительных сеансов, управляемая системой удостоверение ресурса Foundry требует доступа к развёртыванию моделей в этих режимах BYOM.

Выполните следующие команды Azure CLI, чтобы настроить необходимые разрешения:

export subscription_id=<your-subscription-id>
export resource_group=<your-resource-group>
export foundry_resource=<your-foundry-resource>

# Enable system-assigned managed identity for the foundry resource
az cognitiveservices account identity assign --name ${foundry_resource} --resource-group ${resource_group} --subscription ${subscription_id}

# Get the system-assigned managed identity object ID
identity_principal_id=$(az cognitiveservices account show --name ${foundry_resource} --resource-group ${resource_group} --subscription ${subscription_id} --query "identity.principalId" -o tsv)

# Assign the Azure AI User role to the system identity of the foundry resource
az role assignment create --assignee-object-id ${identity_principal_id} --role "Azure AI User" --scope /subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.CognitiveServices/accounts/${foundry_resource}

Аутентификация между ресурсами

При использовании переопределения ресурсов настройка проверки подлинности является обязательной вне зависимости от используемого метода проверки подлинности (ключ API или Microsoft Entra ID). Необходимо настроить разрешения как для ресурса Voice Live Foundry, так и для ресурса модели Foundry. Выполните следующие команды, чтобы настроить необходимые разрешения:

export subscription_id_for_model=<your-subscription-id-for-model-resource>
export resource_group_for_model=<your-resource-group-for-model-resource>
export foundry_resource_for_model=<your-foundry-resource-for-model>

export subscription_id_for_voice_live=<your-subscription-id-for-voice-live-resource>
export resource_group_for_voice_live=<your-resource-group-for-voice-live-resource>
export foundry_resource_for_voice_live=<your-foundry-resource-for-voice-live>

# Enable system-assigned managed identity for the Voice Live Foundry resource
az cognitiveservices account identity assign \
    --name ${foundry_resource_for_voice_live} \
    --resource-group ${resource_group_for_voice_live} \
    --subscription ${subscription_id_for_voice_live}

# Get the system-assigned managed identity object ID
# for the Voice Live resource
identity_principal_id=$(az cognitiveservices account show \
    --name ${foundry_resource_for_voice_live} \
    --resource-group ${resource_group_for_voice_live} \
    --subscription ${subscription_id_for_voice_live} \
    --query "identity.principalId" -o tsv)

# Assign the Azure AI User role to the Voice Live resource's
# system identity on the model Foundry resource
az role assignment create \
    --assignee-object-id ${identity_principal_id} \
    --role "Azure AI User" \
    --scope /subscriptions/${subscription_id_for_model}/resourceGroups/${resource_group_for_model}/providers/Microsoft.CognitiveServices/accounts/${foundry_resource_for_model}

Выбор режима интеграции BYOM

API Голосовой трансляции поддерживает три режима интеграции BYOM:

Mode Description Примеры моделей
byom-azure-openai-realtime Azure модели OpenAI в режиме реального времени для потоковой передачи голосовых взаимодействий gpt-realtime, gpt-realtime-mini
byom-azure-openai-chat-completion Модели завершения диалога для взаимодействия на основе текста из Azure OpenAI. Также применяется к другим моделям Foundry gpt-5.4 gpt-5.3-chat grok-4
byom-foundry-anthropic-messages Модели Anthropic Claude, развернутые в Azure Foundry, с помощью API сообщений (предварительная версия) claude-sonnet-4.6, claude-haiku-4.5

Замечание

В byom-foundry-anthropic-messages настоящее время режим находится в режиме предварительной версии. Предварительные версии функций могут изменяться и могут иметь ограниченную доступность.

Интегрировать BYOM

Обновите URL-адрес конечной точки в вызове API, чтобы включить конфигурацию BYOM:

wss://<your-foundry-resource>.cognitiveservices.azure.com/voice-live/realtime?api-version=2025-10-01&profile=<your-byom-mode>&model=<your-model-deployment>

Получите значение <your-model-deployment> на портале Foundry. Это соответствует имени, заданному вами модели во время развертывания.

Например, чтобы использовать модель Anthropic Claude, развернутую в Azure Foundry:

wss://<your-foundry-resource>.cognitiveservices.azure.com/voice-live/realtime?api-version=2025-10-01&profile=byom-foundry-anthropic-messages&model=<your-claude-deployment-name>

Чтобы использовать развертывание модели из другого ресурса Foundry, добавьте параметр foundry-resource-override.

wss://<your-foundry-resource>.cognitiveservices.azure.com/voice-live/realtime?api-version=2025-10-01&profile=<your-byom-mode>&model=<your-model-deployment>&foundry-resource-override=<foundry-resource>

Значением <foundry-resource> является имя ресурса без суффикса домена. Например, если конечная точка ресурса Foundry имеет значение https://my-foundry-resource.services.ai.azure.com, используйте my-foundry-resource.

Замечание

При использовании режима byom-foundry-anthropic-messages поле usage в событиях response.done содержит только использование аудио токенов, применяемых для распознавания речи и преобразования текста в речь. Использование маркера LLM из модели Anthropic сообщается отдельно в метаданных ответа.

Переопределения ресурсов

По умолчанию Voice Live API использует развертывания LLM в том же ресурсе Foundry, что и служба Voice Live. Если развертывания модели находятся в другом ресурсе Foundry, укажите foundry-resource-override параметр запроса для перенаправления API в правильный ресурс. Это поддерживает сценарии между регионами, в которых служба Voice Live и развертывания модели находятся в разных регионах.

Значением foundry-resource-override является имя ресурса без суффикса домена. Например, если конечная точка ресурса Foundry имеет значение https://my-foundry-resource.services.ai.azure.com, используйте my-foundry-resource.

Дополнительные сведения о реализации см. на каждой вкладке в разделе "Интеграция BYOM ".

Это важно

При использовании переопределений ресурсов необходимо настроить проверку подлинности cross-resource authentication независимо от метода проверки подлинности (ключ API или Microsoft Entra ID).