用于语言理解 (LUIS) 的 SDK、REST 和 CLI 开发人员资源
重要
LUIS 将于 2025 年 10 月 1 日停用,从 2023 年 4 月 1 日开始,你将无法创建新的 LUIS 资源。 建议将 LUIS 应用程序迁移到对话语言理解,以便从持续的产品支持和多语言功能中受益。
SDK、REST API、CLI 用于以编程语言开发语言理解 (LUIS) 应用。 管理 Azure 资源和 LUIS 预测。
Azure 资源管理
使用 Azure AI 服务的管理层来创建、编辑、列出和删除语言理解或 Azure AI 服务资源。
根据以下工具来查找参考文档:
语言理解创作和预测请求
可以从需要创建的 Azure 资源访问语言理解服务。 有两个资源:
- 使用创作资源进行训练,以便创建、编辑、训练和发布内容。
- 将预测用于运行时,以便发送用户的文本并接收预测。
使用 Azure AI 服务示例代码,了解并使用最常见的任务。
REST 规范
GitHub 上公开提供 LUIS REST 规范以及所有 Azure REST 规范。
REST API
创作终结点 API 和预测终结点 API 都可在 REST API 中使用:
类型 | 版本 |
---|---|
创作 | V2 预览 V3 |
预测 | V2 V3 |
REST 终结点
LUIS 目前有 2 种类型的终结点:
- 在训练终结点上进行创作
- 运行时终结点上的查询预测。
目的 | URL |
---|---|
在训练终结点上进行 V2 创作 | https://{your-resource-name}.api.cognitive.azure.cn/luis/api/v2.0/apps/{appID}/ |
在训练终结点上进行 V3 创作 | https://{your-resource-name}.api.cognitive.azure.cn/luis/authoring/v3.0-preview/apps/{appID}/ |
V2 预测 - 运行时终结点上的所有预测 | https://{your-resource-name}.api.cognitive.azure.cn/luis/v2.0/apps/{appId}?q={q}[&timezoneOffset][&verbose][&spellCheck][&staging][&bing-spell-check-subscription-key][&log] |
V3 预测 - 运行时终结点上的版本预测 | https://{your-resource-name}.api.cognitive.azure.cn/luis/prediction/v3.0/apps/{appId}/versions/{versionId}/predict?query={query}[&verbose][&log][&show-all-intents] |
V3 预测 - 运行时终结点上的槽预测 | https://{your-resource-name}.api.cognitive.azure.cn/luis/prediction/v3.0/apps/{appId}/slots/{slotName}/predict?query={query}[&verbose][&log][&show-all-intents] |
下表说明了上表中用大括号 {}
表示的参数。
参数 | 目的 |
---|---|
your-resource-name |
Azure 资源名称 |
q 或 query |
从客户端应用程序(如聊天机器人)发送的话语文本 |
version |
10 字符版本名称 |
slot |
production 或 staging |
REST 查询字符串参数
V3 API 查询字符串参数包括:
查询参数 | LUIS 门户名称 | 类型 | 版本 | 默认 | 目的 |
---|---|---|---|---|---|
log |
保存日志 | boolean | V2 和 V3 | false | 将查询存储在日志文件中。 默认值为 false。 |
query |
- | string | 仅 V3 | 无默认值 - 在 GET 请求中是必需的 | 在 V2 中,要预测的言语位于 q 参数中。 在 V3 中,该功能在 query 参数中传递。 |
show-all-intents |
包括所有意向的分数 | boolean | 仅 V3 | false | 在 prediction.intents 对象中返回包含相应评分的所有意向。 意向将在父 intents 对象中作为对象返回。 这样,便可以通过编程方式进行访问,而无需在数组中查找意向:prediction.intents.give 。 在 V2 中,这些意向在数组中返回。 |
verbose |
包括更多实体详细信息 | boolean | V2 和 V3 | false | 在 V2 中,如果设置为 true,则返回所有预测意向。 如果需要所有预测的意向,请使用 V3 参数 show-all-intents 。在 V3 中,此参数仅提供实体预测的实体元数据详细信息。 |
timezoneOffset |
- | string | V2 | - | 应用于 datetimeV2 实体的时区。 |
datetimeReference |
- | string | V3 | - | 应用于 datetimeV2 实体的时区。 替换 V2 中的 timezoneOffset 。 |
应用架构
应用架构以 .json
或 .lu
格式导入和导出。
基于语言的 SDK
语言 | 参考文档 | 程序包 | 快速入门 |
---|---|---|---|
C# | 创作 预测 |
NuGet 创作 NuGet 预测 |
创作 查询预测 |
Go | 创作和预测 | SDK | |
Java | 创作和预测 | Maven 创作 Maven 预测 |
|
Javascript | 创作 预测 |
NPM 创作 NPM 预测 |
创作 预测 |
Python | 创作和预测 | Pip | 创作 预测 |
容器
语言理解 (LUIS) 提供一个可提供本地版和包含版应用的容器。
导出和导入格式
语言理解提供以 JSON 格式管理应用及其模型的功能,并提供 .LU
(LUDown) 格式以及用于语言理解容器的压缩包。
可以通过 API 和 LUIS 门户导入和导出这些格式。 此门户通过“应用”列表和“版本”列表提供导入和导出功能。
研讨会
- GitHub:(研讨会)Conversational-AI:使用 LUIS 的 NLU
Bot Framework 工具
Bot Framework 在多种语言中以 SDK 形式提供。
Bot Framework 提供有助于语言理解的多种工具,其中包括:
- Bot Framework Emulator - 一款桌面应用程序,可让机器人开发人员测试和调试使用 Bot Framework SDK 构建的机器人。
- Bot Framework Composer - 一个集成开发工具,供开发人员和多学科团队通过 Microsoft Bot Framework 构建机器人和聊天体验
- Bot Framework 示例 - 使用 #C、JavaScript、TypeScript 和 Python 编写
后续步骤
- 了解常见的 HTTP 错误代码
- 所有 API 和 SDK 的参考文档
- Bot Framework 和 Azure AI 机器人服务
- LUDown
- 认知容器