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

用于 QnA Maker 的 Azure 资源

QnA Maker 使用多个 Azure 源,其中每个资源具有不同的用途。 了解了如何单独使用每个资源后,便可以规划和选择正确的定价层,或者知道何时要更改定价层。 了解如何将资源组合起来使用可以发现问题并解决出现的问题。

注意

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

资源规划

当你首次开发 QnA Maker 知识库时,在原型设计阶段,通常会将单个 QnA Maker 资源用于测试和生产。

在进入项目的开发阶段时,应该考虑到:

  • 你的知识库系统将包含多少种语言?
  • 需要在多少个区域中提供你的知识库?
  • 系统将包含每个领域中的多少个文档?

规划在单个 QnA Maker 资源中包含具有相同语言、相同区域和相同主题领域组合的所有知识库。

定价层注意事项

通常,你需要考虑三个参数:

  • 需要的服务吞吐量

    • 根据需要为应用服务选择合适的应用计划。 可以纵向扩展或收缩应用。
    • 这应当也会影响你的 Azure 认知搜索 SKU 选择,请参阅此处的更多详细信息。 此外,你可能需要用副本来调整认知搜索的容量
  • 知识库的大小和数量:针对你的方案选择合适的 Azure 搜索 SKU。 通常,你会根据不同主题领域的数量来确定所需的知识库数量。 一个主题域(适用于单一语言)应位于一个知识库中。

你的 Azure 搜索服务资源必须创建于 2019 年 1 月之后,且不能位于免费(共享)层。 当前不支持在 Azure 门户中配置客户管理的密钥。

重要

可以在特定的层中发布 N-1 个知识库,其中,N 是该层中允许的最大索引数。 还需要检查每个层允许的文档最大大小和数量。

例如,如果你的层有 15 个允许的索引,则可以发布 14 个知识库(每个已发布的知识库有 1 个索引)。 第 15 个索引用于所有知识库以进行创作和测试。

  • 源文档的数量:QnA Maker 管理服务的免费 SKU 将可以通过门户和 API 管理的文档数限制为 3(每个文档的大小限制为 1 MB)。 标准 SKU 对于可以管理的文档数没有限制。 有关更多详细信息,请参阅此处

下表提供了一些概要准则。

QnA Maker 管理 应用服务 Azure AI 搜索 限制
试验 免费 SKU 免费层 免费层 分别最多发布 2 KB、50 MB 大小
开发/测试环境 标准 SKU 共享 基本 分别最多发布 14 KB、2 GB 大小
生产环境 标准 SKU 基本 Standard 分别最多发布 49 KB、25 GB 大小
目标 QPS 应用服务 Azure AI 搜索
3 S1,一个副本 S1,一个副本
50 S3,10 个副本 S1,12 个副本
80 S3,10 个副本 S3,12 个副本
100 P3V2,10 个副本 S3,12 个副本,3 个分区
200 到 250 P3V2,20 个副本 S3,12 个副本,3 个分区

何时更改定价层

升级 原因
升级 QnA Maker 管理 SKU 你想要在知识库中包含更多的 QnA 对或文档源。
升级应用服务 SKU,检查 Azure AI 搜索层并创建认知搜索副本 你的知识库需要为来自客户端应用(例如聊天机器人)的更多请求提供服务。
升级 Azure AI 搜索服务 你打算拥有许多知识库。

通过在 Azure 门户中更新应用服务来获取最新的运行时更新。

QnA Maker 中的密钥

QnA Maker 服务处理两种类型的密钥:与应用服务中承载的运行时配合使用的创作密钥查询终结点密钥

通过 API 向服务发出请求时使用这些密钥。

Key management

名称 位置 用途
创作/订阅密钥 Azure 门户 这些密钥用来访问 QnA Maker 管理服务 API。 这些 API 可让你编辑知识库中的问题和答案,以及发布知识库。 这些密钥是在创建新的 QnA Maker 服务时创建的。

可以在“密钥和终结点”页上的“Azure AI 服务”资源中找到这些密钥。
查询终结点密钥 QnA Maker 门户 这些密钥用于查询已发布的知识库终结点,以获取对用户问题的响应。 通常,你会在连接到 QnA Maker 服务的聊天机器人或客户端应用程序代码中使用此查询终结点。 这些密钥是你发布 QnA Maker 知识库时创建的。

可以在“服务设置”页中找到这些密钥。 在页面右上方的下拉菜单上的用户菜单中找到该页。

在 Azure 门户中查找创作密钥

可以从你在其中创建了 QnA Maker 资源的 Azure 门户中查看和重置创作密钥。

  1. 转到 Azure 门户中的 QnA Maker 资源,选择具有“Azure AI 服务”类型的资源:

    QnA Maker resource list

  2. 转到“密钥和终结点”:

    QnA Maker managed (Preview) Subscription key

在 QnA Maker 门户中查找查询终结点密钥

终结点与资源位于同一区域,因为终结点密钥用于调用知识库。

可以从 QnA Maker 门户管理终结点密钥。

  1. 登录到 QnA Maker 门户,转到你的个人资料,然后选择“服务设置”。

    Endpoint key

  2. 查看或重置你的密钥:

    Endpoint key manager

    注意

    如果你认为你的密钥已泄露,请刷新密钥。 这可能需要相应地更改客户端应用程序或机器人代码。

管理服务区域

QnA Maker 的管理服务仅用于 QnA Maker 门户和初始数据处理。 此服务仅在“美国西部”区域中可用。 不会将任何客户数据存储在此美国西部服务中。

资源命名注意事项

QnA Maker 资源的名称(如 qna-westus-f0-b )也用于命名其他资源。

在 Azure 门户的创建窗口中,可以创建 QnA Maker 资源并为其他资源选择定价层。

Screenshot of Azure portal for QnA Maker resource creation

创建资源后,它们的名称是相同的,但可选的 Application Insights 资源除外,其名称的后面附加了其他字符。

Screenshot of Azure portal resource listing

提示

创建 QnA Maker 资源时请创建一个新资源组。 这样,在按资源组进行搜索时,便可以查看与 QnA Maker 资源关联的所有资源。

提示

使用命名约定在资源或资源组的名称中指示定价层。 如果在创建新知识库或添加新文档时收到错误,常见的原因是认知搜索定价层存在限制。

资源用途

使用 QnA Maker 创建的每个 Azure 资源都有特定的用途:

  • QnA Maker 资源
  • 认知搜索资源
  • 应用服务
  • 应用计划服务
  • Application Insights 服务

QnA Maker 资源

资源 QnA Maker 提供对创作和发布 API 的访问权限。

QnA Maker 资源配置设置

QnA Maker 门户中创建新知识库时,在资源级别应用的唯一设置是“语言”设置。 你将在为资源创建第一个知识库时选择语言。

认知搜索资源

认知搜索资源用于:

  • 存储 QnA 对
  • 在运行时提供 QnA 对的初始排名 (ranker #1)

索引使用情况

资源保留一个索引充当测试索引,剩余的每个索引关联到一个已发布的知识库。

按照包含 15 个索引这一条件定价的资源将包含 14 个已发布的知识库,还有一个索引用于测试所有知识库。 此测试索引按知识库分区,这样,使用交互式测试窗格的查询将使用测试索引,但只会从与特定知识库关联的特定分区返回结果。

语言的使用

在 QnA Maker 资源中创建的第一个知识库用于确定认知搜索资源及其所有索引的单个语言集。 对于一个 QnA Maker 服务,只能使用一个语言集。

使用单个认知搜索服务

如果你通过门户创建 QnA 服务及其依赖项(如搜索),则系统会为你创建一个搜索服务并将其链接到 QnA Maker 服务。 创建这些资源后,你可以更新应用服务设置,以使用先前存在的搜索服务,并删除刚刚创建的搜索服务。

了解如何配置 QnA Maker,以使用其他 Azure AI 服务资源,而不是在创建 QnA Maker 资源过程中创建的 Azure AI 服务资源。

应用服务和应用服务计划

客户端应用程序使用应用服务通过运行时终结点访问已发布的知识库。 应用服务在运行时包括 QnA 对的基于自然语言处理 (NLP) 的第二排名层 (ranker #2)。 第二排名应用智能筛选器,这些筛选器可以包含元数据和跟进提示。

若要查询已发布的知识库,所有已发布的知识库需使用相同的 URL 终结点,但要在路由中指定知识库 ID

{RuntimeEndpoint}/qnamaker/knowledgebases/{kbId}/generateAnswer

Application Insights

Application Insights 用于收集聊天日志和遥测数据。 有关服务的信息,请查看常见的 Kusto 查询

与 QnA Maker 共享服务

QnA Maker 创建多个 Azure 资源。 若要减少管理工作量并从成本分担中获益,请参考下表来了解可以和不可以共享的服务:

服务 共享 原因
Azure AI 服务 X 在设计上不可行
应用服务计划 为应用服务计划分配的固定磁盘空间。 如果共享同一应用服务计划的其他应用使用了大量磁盘空间,QnAMaker 应用服务实例将遇到问题。
应用服务 X 在设计上不可行
Application Insights 可以共享
搜索服务 1. testkb 是 QnAMaker 服务的保留名称;不能由其他服务使用。
2. 名称的同义词映射 synonym-map 为 QnAMaker 服务保留。
3. 已发布的知识库数受搜索服务层级限制。 如果有可用的索引,其他服务可以使用这些索引。

后续步骤