通过 Language Studio 使用问题解答模型
在本练习中,你将使用 Language Studio 创建和训练客户服务机器人将使用的问答知识库。 知识库的内容将来自 Margie’s Travel(一家虚构的旅行社)的网站上的现有常见问题解答页面。 然后,你将使用 Language Studio 来查看其在客户使用时的工作方式。
实现机器人时,第一步是创建问答对知识库。 这与内置的自然语言处理功能一起使用,以便机器人可以解读问题并找到最适合用户的答案。
Azure AI 语言服务包括问题解答** 功能,你将用它来创建知识库。 知识库可以通过手动输入问答对或基于现有文档或网页创建。 Margie’s Travel 想要使用其现有的常见问题解答文档。
语言服务的问题解答功能让你可以通过输入问答对或基于现有文档或网页快速创建知识库。 然后,它可以使用一些内置的自然语言处理功能来解释问题并找到合适的答案。
创建“语言”资源**
若要使用问题解答功能,需要具有语言** 资源。
-
在另一个浏览器标签页中,打开 Azure 门户 (https://portal.azure.com),并使用与 Azure 订阅关联的 Microsoft 帐户登录。
- 单击“+ 创建资源”按钮,然后搜索“语言服务”**。 选择创建“语言服务”计划**。 你将转到相应页面以“选择其他功能”**。 使用以下设置:
- “选择其他功能”:**
- 默认功能:保留默认功能。
- 自定义功能:选择自定义问题解答。
- 选择“继续创建资源” “创建启用了自定义问题解答的语言服务资源”**。
- “选择其他功能”:**
- 在“创建语言”页上指定以下设置:
- 项目详细信息
- 订阅:Azure 订阅。
- 资源组:选择现有资源组或创建新资源组。
- 实例详细信息
- 区域**:选择区域。如果在美国东部,请使用“美国东部 2”
- 名称:语言资源的唯一名称。
- 定价层:S(每分钟 1000 次调用)
- 自定义问题解答**
- Azure 搜索区域:任何可用位置。
- “Azure 搜索定价层”**:“免费 F (3 个索引)”-(如果该层级不可用,请选择“基本”)
- 负责任的 AI 通知
- 选中此框即表示我已查看并确认负责任 AI 声明中的条款:已选中。
- 项目详细信息
-
选择“查看并创建”**,然后选择“创建”**。 等待部署支持自定义问题解答知识库的语言服务。
备注:如果已预配免费层 Azure 认知搜索** 资源,则配额可能不支持再创建另一个资源。 在这种情况下,请选择“免费 F”以外的其他层。
创建新项目
- 在新的浏览器标签页中,打开“Language Studio”门户 (https://language.azure.com),然后使用与 Azure 订阅关联的 Microsoft 帐户登录。
- 如果系统提示选择语言资源,请选择以下设置:
- “Azure 目录”**:包含订阅的 Azure 目录。
- Azure 订阅:你的 Azure 订阅。
- “语言资源”**:先前创建的语言资源。
如果系统未提示你选择语言资源,原因可能是订阅中有多个语言资源;在这种情况下,你应该:
- 在页面顶部的栏中,选择“设置(⚙)”**。
- 在“设置”页上,查看“资源”选项卡。
- 选择刚刚创建的语言资源,然后选择“切换资源”**。
- 在页面顶部,选择“Language Studio”** 以返回到 Language Studio 主页。
-
在 Language Studio 门户顶部的“新建”菜单中,选择“自定义问题解答”。
-
在“选择资源‘你的资源’的语言设置”页上,选择“我想要在此资源中创建项目时选择语言”,然后单击“下一步” 。
- 在“输入基本信息”页上,输入以下详细信息,然后单击“下一步”:
- 语言资源:选择语言资源。
- Azure 搜索资源:选择 Azure 搜索资源。
- 名称:
MargiesTravel
- 说明:
A simple knowledge base
- 源语言:英语
- 未返回任何答案时的默认答案:
- 在“检查并完成”页上,单击“创建项目”。
- 你将访问“管理源”页。 选择“+添加源”,然后选择“URL”****。
- 在“添加 URL”框中,选择“+ 添加 URL”****。 键入以下内容,然后选择“全部添加”:
- “URL 名称”**:
MargiesKB
- URL:
https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-fundamentals/main/data/natural-language/margies_faq.docx
- 对文件结构进行分类:自动检测
- “URL 名称”**:
- 选择“全部添加”**。
编辑知识库
你的知识库基于常见问题解答文档中的详细信息和一些预定义的答复。 可以添加自定义问答对来补充这些问题。
- 展开左侧面板,然后选择“编辑知识库”**。 然后选择 **+ 以添加新的问题对。
- 在“添加新的问答对”对话框中,在“问题”中键入
Hello
,在“答案”中键入Hi
,然后选择“完成”******。 - 展开“备用问题”,然后选择“+ 添加备用问题”****。 然后输入
Hiya
作为“你好”的替代措辞。 - 在“问答对”窗格的顶部,选择“保存”以保存知识库。****
训练和测试知识库
现在,你已拥有知识库,可以对其进行测试。
- 在“问答对”窗格的顶部,选择“测试”以测试知识库。****
- 在测试窗格的底部,输入消息
Hi
。 此时应返回响应“你好”**。 -
在测试窗格的底部,输入消息
I want to book a flight
。 应会返回来自常见问题解答的适当答复。注意:答复包括一个简短回答以及一个更详细的回答段落 - 回答段落显示常见问题解答文档中最接近匹配问题的全文,而简短回答是从段落中智能提取的内容 。 可使用测试窗格顶部的“显示简短回答”复选框来控制是否从答复中显示简短回答。
- 尝试另一个问题,例如
How can I cancel a reservation?
- 测试完知识库后,选择“测试”以关闭测试窗格**。
为知识库创建机器人
该知识库提供了一个后端服务,客户端应用程序可以使用该服务通过某种用户界面回答问题。 通常情况下,这些客户端应用程序就是机器人。 若要使机器人可以使用知识库,必须将其发布为可通过 HTTP 访问的服务。 然后,可以使用 Azure 机器人服务创建并托管使用知识库的机器人来回答用户问题。
- 在左侧面板中,选择“部署知识库”**。
- 在页面顶部,选择“删除”。 一个对话框会询问是否要部署项目。 选择“部署”。
- 部署服务后,选择“创建机器人”**。 这会在新的浏览器选项卡中打开 Azure 门户,以便可以在 Azure 订阅中创建 Web 应用机器人。
-
在 Azure 门户中,创建 Web 应用机器人。** (你可能会看到一条警告消息,提醒检查模板源是否可信。 无需对该消息执行任何操作。)通过更新以下设置继续:
- 项目详细信息
- 订阅:Azure 订阅
- 资源组:包含语言资源的资源组
- 实例详细信息
- 资源组位置:与你的语言服务相同的位置。
- Azure 机器人
- 机器人句柄:机器人的唯一名称(预填充)
- 选择定价层
- 定价层:免费 (F0)(可能需要选择“更改计划”)
- Microsoft 应用 ID
- “创建类型”**:选择“新建用户分配的托管标识”**
- 项目详细信息
- 选择“下一步”以继续更新设置。**
- 应用服务
- 应用名称:与“机器人句柄”相同,但会自动追加“.azurewebsites.net”**
- SDK 语言:选择 C# 或 Node.js
- 应用服务计划
- “创建类型”**:选择“创建新的应用服务计划”**
- 应用设置
- “语言资源密钥”**: 你将需要复制语言资源密钥并将其粘贴到此处:
- 打开另一个浏览器标签页,导航到 Azure 门户 (https://portal.azure.com)。
- 浏览到语言服务资源。
- 在“密钥和终结点”页面上,复制其中一个密钥**
- 将其粘贴到此处。
- 语言项目名称:MargiesTravel
- 语言服务终结点主机名:已使用你的语言服务终结点预先填充
- “语言资源密钥”**: 你将需要复制语言资源密钥并将其粘贴到此处:
- 语言服务详细信息
- 订阅 ID:已使用你的订阅 ID 预先填充
- 资源组名称:已使用你的资源组名称预先填充
- 帐户名称:已使用你的资源名称预先填充
- 应用服务
- 选择创建。 等待机器人创建完毕(右上角的通知图标会在等待时呈现动画效果,该图标看起来像个铃铛)。 然后,在表示部署已完成的通知中,单击“前往资源”**(或者,在主页上单击“资源组”,打开在其中创建了机器人的资源组,然后选择“Azure 机器人”资源)。**
- 在机器人的左侧窗格中查找“设置”,选择“在 Web 聊天中测试”,然后等待机器人显示消息“欢迎使用”(初始化过程可能需要几秒钟时间)****。
- 使用测试聊天界面确保机器人按照预期回答知识库中的问题。 例如,尝试提交
I need to cancel my hotel
。
试用机器人。 你可能会发现它可以非常准确地回答常见问题解答中的问题,但它解答未经训练的问题的能力有限。 可以随时使用 Language Studio 编辑知识库以对其进行改进,然后重新发布它。
清理
如果不打算做更多的练习,请删除任何不再需要的资源。 这可以避免产生任何不必要的成本。
- 打开 Azure 门户,然后选择包含你所创建的资源的资源组。
- 选择该资源并选择“删除”,然后选择“是”以**** 进行确认。 这样便会删除该资源。
了解详细信息
- 若要了解问题解答服务的详细信息,请参阅文档。
- 若要详细了解 Microsoft 机器人服务,请查看 Azure 机器人服务页。