Azure Voice Live Python 技能
帮助 Python 开发者构建 Azure 上的实时双向语音 AI 应用。
文档优先推荐DefaultAzureCredential、生产环境限制凭据链,并要求使用上下文管理器;但仍提供API密钥示例,未说明最小RBAC权限、音频/转录数据流、敏感数据保留、函数调用或MCP工具的用户确认,也没有回滚方案,因此扣分。
安装、认证、连接、事件、错误处理和资源生命周期说明较完整;但快速开始未关闭DefaultAzureCredential,示例包含未定义的麦克风/播放伪代码,认证scope与参考文档默认值不一致,且没有可复现的技能专属测试,因此静态证据下扣分。
目标用户、Python异步场景和语音助手、转录、函数调用、头像等使用情境清楚;但非适用边界、触发条件、中文体验及中国大陆网络可达性未说明,且依赖Azure服务,故扣分。
目录、安装说明、环境变量、API/模型/示例参考文件、MIT许可证和1.0.0版本元数据较齐全;但缺少变更日志、明确维护责任与更新路径,且存在伪代码和未披露的服务/模型前置条件,因此扣分。
覆盖实时双向音频、VAD、手动回合、转录、工具调用、头像等核心任务,示例可作为编码起点;但部分输出依赖用户自行实现,关键集成未完成,API正确性和端到端结果未由文件中的专属测试证明,因此扣分。
提供结构化API和模型参考,并且仓库有通用CI/评估工作流与测试迹象;但未提供该技能关键路径的专属测试结果、第三方执行证据或逐项版本对应证明,结论主要依赖文档本身,因此扣分。
- 不要将示例中的YOUR_KEY、伪代码或未验证模型/事件名称直接用于生产;先核对固定版本SDK、API版本、认证scope和实际服务能力。
- 函数调用、MCP、头像和转录可能产生外部副作用或处理敏感音频;应在应用层增加用户确认、权限隔离、输入校验、日志脱敏和数据保留策略。
- 使用前确认Azure Voice Live在目标区域及中国大陆网络环境中的可达性与合规性。
它能做什么 & 适用场景
该技能面向使用 Azure AI Voice Live SDK 的 Python 开发者,指导构建基于 WebSocket 的实时双向音频应用。内容覆盖异步连接、Entra 身份认证、API 密钥兼容路径、音频收发、会话配置、转录、语音活动检测、函数调用和对话管理。它适合语音助手、语音聊天机器人、实时语音翻译和语音驱动头像等场景。技能要求整个请求路径采用异步 SDK,并强调使用上下文管理器释放连接和凭据资源。
指导安装 azure-ai-voicelive、aiohttp 和 azure-identity;配置 Azure 认知服务终结点及认证环境变量;使用 DefaultAzureCredential 或现有部署的 AzureKeyCredential 建立异步 Voice Live 连接;配置文本与音频模态、声音、音频格式、Server VAD 或 Azure Semantic VAD;通过 input_audio_buffer 发送 Base64 编码的 PCM 音频,并处理音频增量、转录、响应、函数调用和错误事件;管理响应取消、输出音频清理、会话更新及对话项目。
- 需要构建实时语音助手的 Python 开发者,可使用异步 WebSocket 连接收发音频并获得模型响应。
- 正在开发语音聊天机器人的团队,可配置转录、声音、对话历史和服务端语音活动检测。
- 需要实时语音到语音翻译的应用开发者,可利用双向音频流和转录事件处理连续会话。
- 构建语音驱动头像的开发者,可将 Voice Live 会话与头像集成场景结合。
- 需要让语音应用调用业务函数或 MCP 工具的开发者,可处理函数调用参数并提交函数输出。
优缺点一览
- 提供可复制的异步连接、认证、音频流和事件处理示例。
- 覆盖 Server VAD、Azure Semantic VAD、手动回合、打断、转录和函数调用等常见实时语音模式。
- 明确推荐 DefaultAzureCredential,并说明生产环境的凭据链约束方式。
- 列出连接资源、声音选项、音频格式和错误处理模式。
- 技能明确面向异步 Python SDK,不适合需要同步调用路径的实现。
- 示例依赖 Azure 服务端点、凭据和网络连接;源材料没有说明定价或服务配额。
- 源材料没有提供该特定技能的测试覆盖结果或独立发布流程。
- MCP 工具、头像集成和参考文档被提及,但本段内容没有给出完整实现示例。
如何安装
安装整个仓库中的技能集合:运行 npx skills add microsoft/skills,然后在向导中选择需要的技能。也可以克隆仓库后,将 .github/plugins/azure-sdk-python/skills/azure-ai-voicelive-py/ 复制到目标 Agent 的技能目录。该技能正文没有单独的技能安装命令;Python 依赖安装命令是 pip install azure-ai-voicelive aiohttp azure-identity。
如何使用
在需要构建 Azure 实时双向语音 Python 应用时触发,例如:使用 azure-ai-voicelive-py 构建一个带 Server VAD、转录和函数调用的异步语音助手。使用前设置 AZURE_COGNITIVE_SERVICES_ENDPOINT;若生产环境使用 DefaultAzureCredential,还应设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据。代码应使用 .aio 命名空间,并以 async with 管理连接和异步凭据。
对比同类
源材料明确提供了两种认证路径:推荐使用 DefaultAzureCredential;对于尚未迁移到 Entra ID 的现有密钥部署,可使用 AzureKeyCredential。它还区分了 Server VAD、Azure Semantic VAD 和手动回合控制。