你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

QnA Maker 中的知识库生命周期

QnA Maker 在反复的模型变更、表述示例、发布以及从终结点查询收集信息等周期中,会取得最佳的学习成效。

Authoring cycle

注意

QnA Maker 服务将于 2025 年 3 月 31 日停用。 问答功能的较新版本现已作为 Azure AI 语言的一部分提供。 有关语言服务中的问答功能,请参阅问答。 从 2022 年 10 月 1 日开始,你将无法创建新的 QnA Maker 资源。 有关将现有 QnA Maker 知识库迁移到问题解答的信息,请参阅迁移指南

创建 QnA Maker 知识库

QnA Maker 知识库 (KB) 终结点基于知识库的内容为用户查询提供匹配度最高的答案。 创建知识库是设置问题、答案和相关元数据的内容存储库的一次性操作。 可以通过对预先存在的内容(例如以下源)进行抓取来创建 KB:

  • 常见问题解答页面
  • 产品手册
  • 问答对

了解如何创建知识库

测试和更新知识库

知识库只要填充了内容(无论是以编辑方式填充还是通过自动提取填充),就可以用于测试。 可以在 QnA Maker 门户中通过“测试”面板进行交互式测试。 输入常见的用户查询。 然后,验证返回的响应既具有正确的响应,又具有足够的置信度分数。

  • 修复置信度较低的评分:添加替代问题。
  • 如果查询错误地返回默认响应 :将新答案添加到正确的问题。

测试更新这一紧凑周期会持续至得到满意的结果为止。 了解如何测试知识库

对于大型的 KB,请通过 generateAnswer APIisTest 正文属性使用自动测试。该属性查询 test 知识库,而不是已发布的知识库。

{
  "question": "example question",
  "top": 3,
  "userId": "Default",
  "isTest": true
}

发布知识库

完成知识库的测试后,即可发布此知识库。 发布操作会将经过测试的知识库的最新版本推送至代表“已发布”知识库的专用 Azure AI 搜索索引。 还会创建一个终结点,可在应用程序或聊天机器人中调用此终结点。

由于发布操作的原因,对知识库的测试版本进行的任何进一步更改都不会影响已发布的版本。 已发布的版本可能在生产应用程序中。

所有这些知识库都可以单独作为测试目标。 使用 API,可以在 generateAnswer 调用中使用 isTest 正文属性,将知识库的测试版本作为目标。

了解如何发布知识库

监视使用情况

若要能记录服务的聊天日志,需要在创建 QnA Maker 服务时启用 Application Insights。

可以获取服务使用情况的各种分析信息。 了解如何使用 Application Insights 获取 QnA Maker 服务的分析

根据从分析中得出的结论,适当更新知识库

知识库中数据的版本控制

数据的版本控制是通过 QnA Maker 门户中“设置”页面上的导入/导出功能提供的。

可以通过导出 .tsv.xls 格式的知识库来对知识库进行备份。 导出后,将此文件作为常规源代码管理检查的一部分包含在内。

需要返回到特定版本时,可以从本地系统导入该文件。 导出的知识库只能通过“设置”页上的“导入”进行使用 。 不能将它用作文件或 URL 文档数据源。 这会将当前位于知识库中的问题和答案替换为导入的文件的内容。

测试和生产知识库

知识库是通过 QnA Maker 创建、维护和使用的问题和答案集的存储库。 每个 QnA Maker 资源可以保存多个知识库。

知识库有两种状态:“测试”和“已发布” 。

测试知识库

“测试知识库”是当前编辑和保存的版本。 测试版本已经过测试,能够保证响应的准确性和完整性。 对测试知识库所做的更改不会影响应用程序或聊天机器人的最终用户。 测试知识库在 HTTP 请求中被称为 test。 QnA Maker 的门户交互测试窗格中提供了 test 知识。

生产知识库

“已发布的知识库”是聊天机器人或应用程序中使用的版本。 发布知识库会将其测试版本的内容放入其发布的版本中。 已发布的知识库是应用程序通过终结点使用的版本。 请确保内容正确并经过充分的测试。 已发布的知识库在HTTP 请求中被称为 prod

后续步骤