Azure 对话语言理解 Python
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/azure-ai-language-conversations-py。
技能介绍
要解决什么问题
在 Azure 上落地对话语言理解(CLU)时,开发者往往卡在认证方式不统一、对话负载字段含义不清,以及同步/异步客户端混用导致的资源泄漏。本技能把 azure-ai-language-conversations 的推荐用法收敛成可复制的模式,而不是泛泛介绍 Language 服务。
技能如何引导实现
- 认证:优先
DefaultAzureCredential(本地 Azure CLI / VS Code / Developer CLI 与托管身份、工作负载身份同一套代码);遗留 API 密钥场景才考虑AzureKeyCredential。 - 客户端生命周期:
ConversationAnalysisClient必须用上下文管理器(同步with/ 异步async with);异步路径下DefaultAzureCredential来自azure.identity.aio,同样要async with。 - 分析调用:通过
analyze_conversation传入task,其中analysisInput.conversationItem需正确设置participantId、id、modality、language、text;parameters绑定projectName、deploymentName(通常来自环境变量如AZURE_CONVERSATIONS_*)。 - 工程约定:同一模块内只选同步或异步一种模式;生产可通过
AZURE_TOKEN_CREDENTIALS收紧凭据链;异常需显式处理。
适用边界
技能侧重 CLU 对话分析与负载构造,非全量 Language 能力清单;次要场景见资料中的 references/capabilities.md 与 references/non-hero-scenarios.md。未迁移到 Entra ID 的密钥部署仍属过渡方案,新代码应以令牌凭据为准。
使用场景
- 客服或助手后端收到用户一句自然语言后,需调用 `analyze_conversation` 解析 `topIntent` 再路由到对应业务 API。
- 新建 Python 服务接入已部署的 CLU 项目,通过环境变量配置 endpoint、projectName、deploymentName 并完成首轮对话分析。
- 受监管环境仍保留 API 密钥,但新模块要按技能规范改用 `ConversationAnalysisClient` 与上下文管理器释放连接。
- 多轮对话流水线里为每条 utterance 构造 `conversationItem`(含 `participantId`、`id`、语言与 modality)再提交分析。
适合人员
- 维护 Azure 对话机器人后端的 Python 工程师,要把 CLU 调用与 DefaultAzureCredential 写成可复用的生产模板。
- 在 Language Studio 管理 CLU 项目/部署名称,并负责让运行时代码与 `parameters` 字段一致的平台或 ML 工程师。
- 负责身份与合规改造的后端负责人,需要把连接字符串或 API 密钥路径迁移到 Entra 令牌凭据且避免混用同步/异步客户端。
- 集成自然语言理解到现有 Python monolith 的全栈开发者,需要明确异常处理与对话负载字段含义。