你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:部署企业聊天 Web 应用
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
在本文中,你将部署一个企业聊天 Web 应用,该应用将你自己的数据与 AI Studio 中的大型语言模型配合使用。
数据源用于帮助为模型标定特定数据。 标定意味着模型使用你的数据来帮助它了解问题上下文。 你不会更改已部署的模型本身。 数据单独安全地存储在原始数据源中
本教程中的步骤包括:
- 在没有数据的情况下部署和测试聊天模型。
- 添加数据。
- 使用数据测试模型。
- 部署 Web 应用。
先决条件
Azure 订阅 - 免费创建订阅。
AI Studio 中心、项目和已部署的 Azure OpenAI 聊天模型。 完成 AI Studio 操场快速入门,以创建这些资源(如果尚未创建)。
用于为示例产品数据编制索引的 Azure AI 搜索服务连接。
需要产品数据的本地副本。 GitHub 上的 Azure-Samples/rag-data-openai-python-promptflow 存储库包含与本教程场景相关的零售产品信息示例。 具体而言,
product_info_11.md
文件包含与本教程示例相关的 TrailWalker 徒步鞋的产品信息。 将 ZIP 文件中的 Contoso Trek 零售产品数据示例下载到本地计算机。你需要在所选订阅中注册 Microsoft.Web 资源提供程序才能部署到 Web 应用。
添加数据并再次尝试聊天模型
在 AI Studio 操场快速入门(这是本教程的先决条件)中,可以观察模型在没有数据的情况下如何响应。 接下来,将数据添加到模型中,以帮助它回答有关产品的问题。
要完成本部分,需要产品数据的本地副本。 GitHub 上的 Azure-Samples/rag-data-openai-python-promptflow 存储库包含与本教程场景相关的零售产品信息示例。 具体而言,product_info_11.md
文件包含与本教程示例相关的 TrailWalker 徒步鞋的产品信息。 将 ZIP 文件中的 Contoso Trek 零售产品数据示例下载到本地计算机。
按照以下步骤将数据添加到聊天操场,以帮助助手回答有关产品的问题。 你不会更改已部署的模型本身。 数据单独安全地存储在 Azure 订阅中。
转到 Azure AI Studio 中的项目。
从左侧窗格中选择“操场”>“聊天”。
从“部署”下拉列表中选择部署的聊天模型。
在聊天操场左侧,选择“添加数据”>“+ 添加新数据源”。
在“数据源”下拉列表中,选择“上传文件”。
选择“上传”>“上传文件”以浏览本地文件。
选择要上传的文件。 选择之前下载或创建的产品信息文件。 现在添加所有文件。 稍后将无法在同一操场会话中添加更多文件。
选择“上传”将文件上传到 Azure Blob 存储帐户。 然后,选择“下一步”。
选择 Azure AI 搜索服务。 在此示例中,从“选择 Azure AI 搜索服务”下拉列表中选择“连接其他 Azure AI 搜索资源”。 如果没有搜索资源,可选择“创建新的 Azure AI 搜索资源”来创建一个。 然后返回到此步骤,连接并选择该资源。
浏览 Azure AI 搜索服务,然后选择“添加连接”。
对于“索引名称”,请输入“product-info”,然后选择“下一步”。
在“矢量设置”下的“搜索设置”页上,取消选中“将矢量搜索添加到此搜索资源”复选框。 此设置有助于确定模型如何响应请求。 然后,选择“下一步”。
注意
如果添加矢量搜索,可在此处使用更多选项,但需要支付额外费用。
检查设置,然后选择“创建”。
在操场中,可以看到数据引入正在进行中。 此过程可能需要几分钟时间。 在继续操作之前,请等到看到数据源和索引名称代替状态。
现在,你可以与模型聊天,询问与之前相同的问题(“TrailWalker 徒步鞋有多少”),这一次,它使用数据中的信息来构造响应。 可以展开“引用”按钮以查看使用的数据。
部署 Web 应用
对 Azure AI Studio 中的体验感到满意后,可以将模型部署为独立的 Web 应用程序。
在 Azure 门户中查找资源组
在本教程中,Web 应用部署到与 AI Studio 中心相同的资源组。 稍后在 Azure 门户中为 Web 应用配置身份验证。
按照以下步骤在 Azure 门户中从 Azure AI Studio 导航到资源组:
转到 Azure AI Studio 中的项目。 然后从左窗格中选择“设置”。
选择资源组名称以在 Azure 门户中打开资源组。 在此示例中,资源组命名为
rg-contoso
。现在应位于 Azure 门户中,查看在其中部署了中心的资源组的内容。 使此页面在浏览器选项卡中保持打开状态。稍后将返回处理此文件。
部署 Web 应用
发布会在订阅中创建 Azure 应用服务。 它可能会产生成本,具体取决于你选择的定价计划。 完成应用后,可以从 Azure 门户中删除它。
若要部署 Web 应用:
注意
你需要在所选订阅中注册 Microsoft.Web 资源提供程序才能部署到 Web 应用。
完成上一部分中的步骤,将数据添加到操场。
注意
可以使用或不使用自己的数据部署 Web 应用,但至少需要部署的模型,如 AI Studio 操场快速入门所述。
选择“部署到 Web 应用”。
在“部署 Web 应用”页,输入以下详细信息:
- 名称:Web 应用的唯一名称。
- 订阅:Azure 订阅。
- 资源组:选择要在其中部署 Web 应用的资源组。 可以使用与中心相同的资源组。
- 位置:选择要在其中部署 Web 应用的位置。 可以使用与中心相同的位置。
- 定价计划:选择 Web 应用的定价计划。
- 在 Web 应用中启用聊天历史记录:对于本教程,未选中聊天历史记录框。 如果启用该功能,用户将有权访问之前的各个查询和响应。 有关详细信息,请参阅聊天历史记录备注。
选择“部署”。
等待应用部署,这可能需要几分钟时间。
准备就绪后,工具栏上将启用“启动”按钮。 但不要启动该应用,并且不要关闭“聊天操场”页面 - 稍后将返回该应用。
配置 Web 应用身份验证
默认情况下,只有你才能访问该应用。 在本教程中,你将添加身份验证以将应用的访问权限限制为 Azure 租户的成员。 系统将要求用户使用其 Microsoft Entra 帐户登录,以便能够访问你的应用。 如果愿意,可以按照类似的过程添加另一个标识提供者。 除验证用户是否为租户成员以外,应用不会以任何其他方式使用用户的登录信息。
返回到包含 Azure 门户的浏览器选项卡(或在新的浏览器选项卡中重新打开 Azure 门户),并查看在其中部署了中心和 Web 应用的资源组的内容(可能需要刷新查看 Web 应用的视图)。
从资源组中的资源列表中选择“应用服务”资源。
在“设置”下的可折叠左侧菜单中,选择“身份验证”。
使用以下设置添加标识提供者:
- 标识提供者:选择 Microsoft 作为标识提供者。 此页上的默认设置将应用限制为仅租户,因此无需在此处更改任何其他内容。
- 租户类型:员工
- 应用注册:创建新的应用注册
- 名称:Web 应用服务的名称
- 支持的帐户类型:当前租户 - 单租户
- 限制访问:需要身份验证
- 未经身份验证的请求:HTTP 302 发现重定向 - 建议用于网站
使用此 Web 应用
即将完成! 现在可以测试 Web 应用。
等待 10 分钟左右,使身份验证设置生效。
返回到包含 Azure AI Studio 中“聊天操场”页的浏览器选项卡。
选择“启动”以启动已部署的 Web 应用。 如果出现提示,请接受权限请求。
如果身份验证设置尚未生效,请关闭 Web 应用的浏览器选项卡,并返回到 Azure AI Studio 中的聊天操场。 然后稍等片刻,重试。
在 Web 应用中,可以提出与之前相同的问题(“TrailWalker 徒步鞋有多少”),这次它使用数据中的信息来构造响应。 可以展开“引用”按钮以查看使用的数据。
清理资源
为了避免产生不必要的 Azure 成本,如果不再需要在本快速入门中创建的资源,应该将其删除。 若要管理资源,可以使用 Azure 门户。
注解
聊天历史记录
利用聊天历史记录功能,用户将有权访问之前的各个查询和响应。
部署 Web 应用时,可以启用聊天历史记录。 选中“在 Web 应用中启用聊天历史记录”复选框。
重要
启用聊天历史记录会在资源组中创建 Cosmos DB 实例,并会因所使用的存储而产生额外费用。 删除 Web 应用不会自动删除 Cosmos DB 实例。 若要删除 Cosmos DB 实例以及所有存储的聊天,需要导航到 Azure 门户中的关联资源并将其删除。
启用聊天历史记录后,用户将能够在应用的右上角显示和隐藏它。 显示历史记录时,他们可以重命名或删除对话。 登录应用后,对话将从最新到最早自动排序,并根据对话中的第一个查询进行命名。
如果删除 Cosmos DB 资源,但在 Studio 中仍然启用聊天历史记录选项,用户将收到连接错误通知,但可以在不访问聊天历史记录的情况下继续使用 Web 应用。
相关内容
- 开始使用提示流 SDK 生成聊天应用
- 使用提示流 SDK 构建自定义聊天应用。