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

教程:在 Azure AI Studio 中使用提示流生成和部署问答 Copilot

注意

Azure AI Studio 目前处于公开预览阶段。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

在本 Azure AI Studio 教程中,你将使用生成式 AI 和提示流为名为 Contoso 的零售公司生成、配置和部署 Copilot。 零售公司专门销售户外露营装备和服装。

Copilot 应该回答有关产品和服务的问题。 它还应回答有关客户的问题。 例如,Copilot 可以回答诸如“How much do the TrailWalker hiking shoes cost?”和“How many TrailWalker hiking shoes did Daniel Wilson buy?”等问题。

本教程中的步骤包括:

  1. 创建一个 Azure AI Studio 项目。
  2. 部署一个 Azure OpenAI 模型并根据数据聊天。
  3. 在操场中创建提示流。
  4. 为提示流自定义多个数据源。
  5. 使用问答评估数据集评估流。
  6. 部署流以供使用。

先决条件

在 Azure AI Studio 中创建 Azure AI 项目

Azure AI 项目用于在生成 Copilot 时组织工作并保存状态。 在本教程中,项目包含数据、提示流运行时、评估和其他资源。 有关 Azure AI 项目和资源模型的详细信息,请参阅 Azure AI 中心资源

若要在 Azure AI Studio 中创建 Azure AI 项目,请执行以下操作:

  1. 选择页面顶部的“生成”选项卡。

  2. 选择“+ 新建 AI 项目”。

    Azure AI Studio 的“生成”选项卡的屏幕截图,其中显示了创建新项目的选项。

  3. 输入项目的名称。

  4. 从下拉列表中选择一个 Azure AI 中心资源来托管你的项目。 如果你尚无法访问 Azure AI 中心资源,请选择“创建新资源”

    “创建项目”对话框中的项目详细信息页的屏幕截图。

    注意

    若要创建 Azure AI 中心资源,必须对所选资源组具有“所有者”或“参与者”权限。 建议与你的团队共享 Azure AI 中心资源。 这样,你便可以与所有项目共享数据连接等配置,并集中管理安全设置和支出。

  5. 如果你是创建新的 Azure AI 中心资源,请输入一个名称。

  6. 从下拉列表中选择自己的 Azure 订阅。 出于计费、访问权限或管理原因,为项目选择特定的 Azure 订阅。 例如,这会向用户和服务主体授予对项目的订阅级访问权限。

  7. 资源组保留为默认组,以创建新资源组。 也可以从下拉列表中选择现有资源组。

    提示

    特别是在开始阶段,建议为项目创建一个新的资源组。 这允许你轻松管理项目及其所有资源。 创建项目时,会在资源组中创建多个资源,包括 Azure AI 中心资源、容器注册表和存储帐户。

  8. 输入 Azure AI 中心资源的“位置”,然后选择“下一步”。 该位置是托管 Azure AI 中心资源的区域。 Azure AI 中心资源的位置也是项目的位置。 Azure AI 服务可用性因区域而异。 例如,某些模型在某些区域中可能不可用。

  9. 从下拉列表中选择现有 Azure OpenAI 资源,或创建一个新实例。

    “创建项目”对话框中的“创建资源”页的屏幕截图。

  10. 在“查看和完成”页上,可以看到要查看的 Azure OpenAI 服务资源名称和其他设置。

    “创建项目”对话框中的“查看和完成”页的屏幕截图。

  11. 查看项目详细信息,然后选择“创建 AI 项目”。 可以看到资源创建进度,该过程完成时项目便创建完毕。

    “创建项目”对话框中资源创建进度的屏幕截图。

创建项目后,可以访问左侧导航面板中的工具组件AI 项目设置资产。 对于使用支持 Azure OpenAI 的 Azure AI 中心的项目,你将在“工具”下看到“操场”导航选项。

部署聊天模型

按照以下步骤为 Copilot 部署 Azure OpenAI 聊天模型。

  1. 使用有权访问 Azure OpenAI 资源的凭据登录到 Azure AI Studio。 在登录过程中或登录之后,选择适当的目录、Azure 订阅和 Azure OpenAI 资源。 你应该位于 Azure AI Studio“主页”页面上。

  2. 从顶部菜单中选择“生成”,然后选择“部署”>“创建”>“实时终结点”。

    部署页的屏幕截图,其中包含用于新建项目的按钮。

  3. 在“选择模型”页上,从模型列表中选择要部署的模型。 例如,选择 gpt-35-turbo-16k。 然后选择“确认”

    模型选择页的屏幕截图。

  4. 在“部署模型”页上,输入部署的名称,然后选择“部署”。 创建部署后,会看到部署详细信息页。 详细信息包括创建部署的日期以及所部署的模型的创建日期和版本。

  5. 在上一步的部署详细信息页上,选择“在操场打开”

    GPT 聊天部署详细信息的屏幕截图。

有关部署模型的详细信息,请参阅如何部署模型

在没有数据的情况下在操场中聊天

Azure AI Studio 操场中,可以观察模型如何在有数据和没有数据的情况下进行响应。 在本部分中,你将在没有数据的情况下测试模型。 在下一部分中,你将数据添加到模型,以帮助它更好地回答有关你的产品的问题。

  1. 在操场中,请确保从“模式”下拉列表中选择“聊天”。 从“部署”下拉列表中选择部署的聊天模型。

    聊天操场的屏幕截图,其中选择了聊天模式和模型。

  2. 在“助手设置”窗格的“系统消息”文本框中,提供此提示来指导助手:“你是帮助人员查找信息的 AI 助手。”可以为方案定制提示。 有关详细信息,请参阅提示示例

  3. 选择“应用更改”以保存更改,当出现是否更新系统消息的提示时,请选择“继续”

  4. 在聊天会话窗格中,输入以下问题:“How much do the TrailWalker hiking shoes cost”,然后选择向右箭头图标发送。

    第一个聊天问题的屏幕截图,其中无上下文关联数据。

  5. 助手回答说它不知道答案。 该模型无法访问有关 TrailWalker 徒步鞋的产品信息。

    助手回复的屏幕截图,其中无上下文关联数据。

在下一部分中,你将数据添加到模型,以帮助它回答有关你的产品的问题。

添加数据并再次尝试聊天模型

需要示例产品信息的本地副本。 有关详细信息和示例数据的链接,请参阅先决条件

将本地数据文件上传到 Azure Blob 存储并创建 Azure AI 搜索索引。 数据源用于帮助为模型标定特定数据。 标定意味着模型使用你的数据来帮助它了解问题上下文。 你不会更改已部署的模型本身。 数据单独安全地存储在 Azure 订阅中。 有关详细信息,请参阅数据中的 Azure OpenAI

按照以下步骤将数据添加到操场,以帮助助手回答有关产品的问题。

  1. 如果尚未进入 Azure AI Studio 操场,请从顶部菜单中选择“生成”,然后从可折叠的左侧菜单中选择“操场”。

  2. 在“助手设置”磁贴上,选择“添加数据(预览)”>“+ 添加数据源”。

    聊天操场的屏幕截图,其中包含用于添加数据源可见的选项。

  3. 在显示的“数据源”页中,从“选择数据源”下拉列表中选择“上传文件”。

    产品数据源选择选项的屏幕截图。

    提示

    有关数据源选项和支持的文件类型和格式,请参阅数据中的 Azure OpenAI 数据

  4. 输入“product-info”作为产品信息索引的名称。

    上传文件所需的资源和信息的屏幕截图。

  5. 选择或创建一个名为 contoso-outdoor-search 的 Azure AI 搜索资源,然后选择确认连接该资源将导致使用你的帐户。

    注意

    在本教程后面的提示流中使用 product-info 索引和 contoso-outdoor-search Azure AI 搜索资源。 如果你输入的名称不同于此处指定的名称,请确保在本教程的其余部分使用你输入的名称。

  6. 选择包含要使用的 Azure OpenAI 资源的 Azure 订阅。 然后,选择“下一步”。

  7. 在“上传文件”页中,选择“浏览文件”,并选择要上传的文件。 选择之前下载或创建的产品信息文件。 请参阅先决条件。 如果要上传多个文件,请立即上传。 以后将无法在同一操场会话中添加更多文件。

  8. 选择“上传”将文件上传到 Azure Blob 存储帐户。 然后,在页面底部,选择“下一步”。

    用于选择和上传文件的对话框的屏幕截图。

  9. 在“搜索类型”下的“数据管理”页中,选择“关键字”。 此设置有助于确定模型如何响应请求。 然后,选择“下一步”。

    注意

    如果在“选择或添加数据源”页上添加了矢量搜索,则可以增加费用在此处使用更多选项。 有关详细信息,请参阅数据中的 Azure OpenAI

  10. 查看输入的详细信息,然后选择“保存并关闭”。 现在,你可以与模型聊天,模型将使用数据中的信息来构造响应。

    用于添加数据的查看和完成页的屏幕截图。

  11. 现在,在“助手设置”窗格中,可以看到数据引入正在进行中。 在继续操作之前,请等到看到数据源和索引名称代替状态。

    聊天操场的屏幕截图,其中包含视图中数据引入的状态。

  12. 现在,你可以与模型聊天,询问与之前相同的问题(“How much do the TrailWalker hiking shoes cost”),这一次,它使用数据中的信息来构造响应。 可以展开“引用”按钮以查看使用的数据。

    助手回复的屏幕截图,其中有上下文关联数据。

创建提示流所需的计算和运行时

使用提示流优化发送到 Copilot 聊天模型的消息。 提示流需要计算实例和运行时。 如果已有计算实例和运行时,可以跳过本部分,留在操场中。

若要创建计算实例和运行时,请执行以下步骤:

  1. 如果你没有计算实例,可以在 Azure AI Studio 中创建一个
  2. 然后,按照如何创建运行时中的步骤创建运行时。

若要完成本教程的其余部分,请确保运行时处于“正在运行”状态。 可能需要选择“刷新”才能看到更新的状态。

重要

运行计算实例时,系统会收费。 为了避免产生不必要的 Azure 成本,请当未在提示流中主动工作时暂停计算实例。 有关详细信息,请参阅如何启动和停止计算

从操场创建提示流

现在,你部署的聊天模型已在操场中使用数据运行,你可以在操场中将 Copilot 部署为 Web 应用

但你可能会问“该如何进一步自定义此 Copilot?”你可能想要添加多个数据源、比较不同的提示或多个模型的性能。 提示流充当可执行工作流,以简化基于 LLM 的 AI 应用程序的开发。 它提供了一个全面的框架,用于管理应用程序中的数据流和处理。

本部分介绍如何在操场中转换到提示流。 导出操场聊天环境,包括与添加的数据的连接。 本教程稍后将评估流,然后部署流以进行使用

注意

提示流中所做的更改不会向后应用以更新操场环境。

可以按照以下步骤在操场中创建提示流:

  1. 如果尚未进入 Azure AI Studio 操场,请从顶部菜单中选择“生成”,然后从可折叠的左侧菜单中选择“操场”。

  2. 从“聊天会话”窗格上方的菜单中选择“在提示流中打开”。

  3. 输入提示流的文件夹名称。 然后选择“打开”。 Azure AI Studio 将导出操场聊天环境,包括数据到提示流的连接。

    提示流对话框打开的屏幕截图。

在流中,节点占据中心位置,表示具有独特功能的特定工具。 这些节点使用输入和输出处理数据处理、任务执行和算法操作。 通过连接节点,可以建立一个无缝的操作链,指导数据流通过应用程序。 有关详细信息,请参阅提示流工具

为了辅助节点配置和微调,通过 DAG(有向无环图)图提供工作流结构的可视化形式。 此图展示了节点之间的连接和依赖关系,提供了整个工作流的清晰概况。 下图中显示的节点代表导出到提示流的操场聊天体验。

从操场导出到提示流的默认图形的屏幕截图。

警告

Azure AI Studio 为预览版,可能会发生变化。 本教程中的屏幕截图和说明可能与当前体验不符。

可以添加、更新、重新排列或删除节点。 此时流中的节点包括:

  • DetermineIntent:此节点确定用户的查询意向。 它使用系统提示来确定意向。 可以编辑系统提示,以提供特定于方案的少数示例。
  • ExtractIntent:此节点设置 DetermineIntent 节点输出的格式,并将其发送到 RetrieveDocuments 节点。
  • RetrieveDocuments:此节点搜索与查询相关的热门文档。 此节点使用搜索类型和在操场中预配置的任何参数。
  • FormatRetrievedDocuments:此节点设置 RetrieveDocuments 节点输出的格式,并将其发送到 DetermineReply 节点。
  • DetermineReply:此节点包含广泛的系统提示,要求 LLM 仅使用已检索文档做出响应。 有两种输入:
    • RetrieveDocuments 节点提供检索最多的文档。
    • FormatConversation 节点提供已设置格式的对话历史记录,包括最新的查询。

FormatReply 节点设置 DetermineReply 节点输出的格式。

在提示流中,还将看到:

  • 保存:可以通过从顶部菜单中选择“保存”,随时保存提示流。 在本教程中进行更改时,请务必定期保存提示流。

  • 运行时:之前在本教程中创建的运行时。 可以通过左侧菜单中的“AI 项目设置”启动和停止运行时和计算实例。 若要在提示流中工作,请确保运行时处于“正在运行”状态。

    提示流编辑器和周围菜单的屏幕截图。

  • 工具:选择左侧菜单中“工具”中的“提示流”,可以随时返回到提示流。 然后选择之前创建的提示流文件夹(不是示例流)。

    提示流列表的屏幕截图。

为提示流自定义多个数据源

之前在 Azure AI Studio 操场中,你添加了数据以创建一个搜索索引,其中包含 Contoso Copilot 的产品数据。 到目前为止,用户只能询问有关产品的问题,例如“How much do the TrailWalker hiking shoes cost?”。 但用户无法获得诸如“How many TrailWalker hiking shoes did Daniel Wilson buy?”等问题的答案为了启用此方案,我们将另一个包含客户信息的索引添加到流中。

创建客户信息索引

需要示例客户信息的本地副本。 有关详细信息和示例数据的链接,请参阅先决条件

请按照以下说明创建一个新索引:

  1. 在左侧菜单中选择“索引”。 然后选择“+ 新建索引”。

    索引页的屏幕截图,其中包含用于新建索引的按钮。

    你会看到“创建索引”向导。

  2. 在“源数据”页上,从“上传”下拉列表中选择“上传文件夹”。 选择之前下载或创建的客户信息文件。 请参阅先决条件。

    客户数据源选择选项的屏幕截图。

  3. 选择页面底部的“下一步”。

  4. 选择用于产品信息索引 (product-info) 的同一 Azure AI 搜索资源 (contoso-outdoor-search)。 然后,选择“下一步”。

    所选 Azure AI 搜索资源的屏幕截图。

  5. 为“搜索类型”选择“混合 + 语义(推荐)”。 此类型应默认处于选中状态。

  6. 从“Azure OpenAI 资源”下拉列表中选择 Default_AzureOpenAI。 选中该复选框以确认将部署 Azure OpenAI 嵌入模型(如果尚未部署)。 然后,选择“下一步”。

    索引搜索类型选项的屏幕截图。

    注意

    嵌入模型在“部署”页中与其他模型部署一起列出。

  7. 输入索引名称为 customer-info。 然后,选择“下一步”。

    索引名称和虚拟机选项的屏幕截图。

  8. 查看输入的详细信息,然后选择“创建”。

    查看和完成索引创建页的屏幕截图。

    注意

    在本教程后面的提示流中使用 customer-info 索引和 contoso-outdoor-search Azure AI 搜索资源。 如果你输入的名称不同于此处指定的名称,请确保在本教程的其余部分使用你输入的名称。

  9. 你将进入索引详细信息页面,可以在其中查看索引创建操作的状态

    客户信息索引详细信息的屏幕截图。

有关如何创建索引的详细信息,请参阅创建索引

将客户信息添加到流

警告

Azure AI Studio 为预览版,可能会发生变化。 本教程中的屏幕截图和说明可能与当前体验不符。

创建索引后,返回到提示流,然后按照以下步骤将客户信息添加到流中:

  1. 从图中选择 RetrieveDocuments 节点,并将其重命名为 RetrieveProductInfo。 现在,检索产品信息节点可以与添加到流的检索客户信息节点区分开来。

    用于检索产品信息的提示流节点的屏幕截图。

  2. 从顶部菜单中选择“+ Python”,以创建用于检索客户信息的新 Python 节点

    用于检索客户信息的提示流节点的屏幕截图。

  3. 将节点命名为 RetrieveCustomerInfo 并选择“添加”。

  4. 将 RetrieveProductInfo 节点中的 Python 代码复制并粘贴到 RetrieveCustomerInfo 节点,以替换所有默认代码。

  5. 选择“验证和分析输入”按钮,以验证 RetrieveCustomerInfo 节点的输入。 如果输入有效,提示流将分析输入,并创建必要的变量以便在代码中使用。

    验证和分析输入按钮的屏幕截图。

  6. 编辑提示流为你分析的 RetrieveCustomerInfo 输入,以便该输入可以连接到 customer-info 索引。

    要在客户信息节点中编辑的输入的屏幕截图。

    注意

    将 queries 输入值设置为 ExtractIntent.output.search_intents 后立即更新图。 在图中可以看到,RetrieveCustomerInfo 从 ExtractIntent 获取输入。

    输入区分大小写,因此请确保它们与以下值完全匹配:

    名称 类型
    embeddingModelConnection Azure OpenAI Default_AzureOpenAI
    embeddingModelName string
    indexName string customer-info
    queries string ${ExtractIntent.output.search_intents}
    queryType string simple
    searchConnection 认知搜索 contoso-outdoor-search
    semanticConfiguration string
    topK int 5
  7. 从顶部菜单中选择“保存”以保存更改。

设置要输出的已检索文档的格式

警告

Azure AI Studio 为预览版,可能会发生变化。 本教程中的屏幕截图和说明可能与当前体验不符。

在提示流中同时拥有产品信息和客户信息后,可以设置已检索文档的格式,以便大型语言模型可以使用这些文档。

  1. 从图中选择 FormatRetrievedDocuments 节点。

  2. 复制并粘贴以下 Python 代码以替换 FormatRetrievedDocuments 代码块中的所有内容。

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. 选择“验证和分析输入”按钮,以验证 FormatRetrievedDocuments 节点的输入。 如果输入有效,提示流将分析输入,并创建必要的变量以便在代码中使用。

  4. 编辑提示流为你分析的 FormatRetrievedDocuments 输入,以便该输入可以从 RetrieveProductInfo 和 RetrieveCustomerInfo 节点中提取产品信息和客户信息。

    要以检索的文档节点格式编辑的输入的屏幕截图。

    输入区分大小写,因此请确保它们与以下值完全匹配:

    名称 类型
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. 从图中选择 DetermineReply 节点。

  6. 将 documentation 输入设置为 ${FormatRetrievedDocuments.output.strResult}。

    在确定回复节点中编辑文档输入值的屏幕截图。

  7. 从图中选择 outputs 节点。

  8. 将 fetched_docs 输入设置为 ${FormatRetrievedDocuments.output.combined_docs}。

    在输出节点中编辑 fetched_docs 输入值的屏幕截图。

  9. 从顶部菜单中选择“保存”以保存更改。

在具有产品信息和客户信息的提示流中聊天

现在,提示流中同时拥有产品信息和客户信息。 你可以在提示流中与模型聊天,获得诸如“How many TrailWalker hiking shoes did Daniel Wilson buy?”等问题的答案在继续进行更正式的评估之前,可以选择与模型聊天,以查看模型如何回答你的问题。

  1. 从提示流中的顶部菜单中选择“聊天”以尝试聊天。

  2. 输入“How many TrailWalker hiking shoes did Daniel Wilson buy?”,然后选择向右箭头图标发送。

  3. 响应即是预期的结果。 该模型使用客户信息来回答问题。

    助手回复的屏幕截图,其中包含产品和客户上下文关联数据。

使用问答评估数据集评估流

Azure AI Studio 中,需要在部署流以进行使用之前评估该流。

在本部分中,你将使用内置评估通过问答评估数据集评估流。 内置评估使用 AI 辅助指标来评估流:真实性、相关性和检索分数。 有关详细信息,请参阅内置评估指标

创建评估

你需要一个问答评估数据集,其中包含与你的方案相关的问答。 在本地创建一个名为 qa-evaluation.jsonl 的新文件。 将以下问题和答案 ("truth") 复制并粘贴到文件中。

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

拥有评估数据集后,可以按照以下步骤评估流:

  1. 从提示流的顶部菜单中选择“评估”>“内置评估”。

    用于从提示流创建内置评估的选项的屏幕截图。

    你会看到“创建新评估”向导。

  2. 输入评估的名称并选择运行时。

  3. 从方案选项中选择“带有检索增强生成的问答集”。

    选择评估方案的屏幕截图。

  4. 选择要评估的流。 在此示例中,选择“Contoso 户外流”或任何你命名的流。 然后,选择“下一步”。

  5. 选择要用于评估流的指标。 在此示例中,选择“真实性”、“相关性”和“检索分数”。

    选择评估指标的屏幕截图。

  6. 选择要用于评估的模型。 在此示例中,选择 gpt-35-turbo-16k。 然后,选择“下一步”。

    注意

    使用 AI 辅助指标进行评估需要调用另一个 GPT 模型来执行计算。 为了获得最佳性能,请使用至少支持 16k 令牌的模型,例如 gpt-4-32k 或 gpt-35-turbo-16k 模型。 如果以前未部署这类模型,可按照部署聊天模型中的步骤部署另一个模型。 然后返回到此步骤,选择已部署的模型。

  7. 选择“添加新数据集”。 然后,选择“下一步”。

    用于使用新数据集或现有数据集的选项的屏幕截图。

  8. 选择“上传文件”,浏览文件,然后选择之前创建的 qa-evaluation.jsonl 文件。

    数据集上传文件按钮的屏幕截图。

  9. 上传文件后,需要将文件(数据源)中的属性映射到评估属性。 为每个数据源属性输入以下值:

    评估数据集映射的屏幕截图。

    名称 说明 类型 数据源
    chat_history 聊天历史记录 list ${data.chat_history}
    查询 查询 string ${data.question}
    question 查找特定信息的查询 string ${data.question}
    answer 模型生成的对问题的响应(答案的形式) string ${run.outputs.reply}
    documents 包含已检索文档中的上下文的字符串 string ${run.outputs.fetched_docs}
  10. 选择下一步

  11. 查看评估详细信息,然后选择“提交”

    创建评估对话框中查看和完成页的屏幕截图。

    你将访问“指标评估”页。

查看评估状态和结果

现在,可以按照以下步骤查看评估状态和结果:

  1. 创建评估后,转到“生成”>“评估”(如果该屏幕尚未出现)。 在“指标评估”页上,可以看到评估状态和所选指标。 可能需要在几分钟后选择“刷新”才能看到“完成”状态。

    指标评估页的屏幕截图。

    提示

    评估为“完成”状态后,无需运行时或计算即可完成本教程的其余部分。 可以停止计算实例,以避免产生不必要的 Azure 成本。 有关详细信息,请参阅如何启动和停止计算

  2. 选择首先完成的评估的名称 (contoso-evaluate-from-flow_variant_0) 以查看评估详细信息以及前面映射的列。

    详细指标结果页的屏幕截图。

  3. 选择第二个完成的评估的名称 (evaluation_contoso-evaluate-from-flow_variant_0) 以查看评估指标:真实性、相关性和检索分数。

    平均指标分数的屏幕截图。

有关详细信息,请参阅查看评估结果

部署流

生成流并完成基于指标的评估后,接下来可以创建联机终结点以进行实时推理。 这意味着可以使用已部署的流实时回答问题。

按照以下步骤在 Azure AI Studio 中将提示流部署为联机终结点。

  1. 准备好一个可供部署的提示流。 如果你没有提示流,请参阅如何生成提示流

  2. 可选:选择“聊天”以测试流是否正常工作。 建议的最佳做法是在部署前测试流。

  3. 在流编辑器中选择“部署”。

    提示流编辑器中“部署”按钮的屏幕截图。

  4. 在部署向导中的“基本设置”页上提供请求的信息。

    部署向导中基本设置页的屏幕截图。

  5. 选择“下一步”转到高级设置页。

  6. 在“高级设置 - 终结点”页上,保留默认设置,然后选择“下一步”。

  7. 在“高级设置 - 部署”页上,保留默认设置,然后选择“下一步”。

  8. 在“高级设置 - 输出和连接”页上,请确保选中“包含在终结点响应中”下的所有输出。

    部署向导中高级设置页的屏幕截图。

  9. 选择“查看 + 创建”以查看设置并创建部署。

  10. 选择“创建”以部署提示流。

    查看提示流部署设置页的屏幕截图。

有关详细信息,请参阅如何部署流

使用已部署的流

Copilot 应用程序可以使用已部署的提示流实时回答问题。 可以使用 REST 终结点或 SDK 来使用已部署的流。

  1. 若要在 Azure AI Studio 中查看部署状态,请在左侧导航栏中选择“部署”。 成功创建部署后,可以选择该部署以查看详细信息。

    正在进行的提示流部署状态的屏幕截图。

    注意

    如果看到一条消息显示“目前此终结点没有部署”,或者“状态”仍为“正在更新”,可能需要在几分钟后选择“刷新”才能查看部署。

  2. (可选)详细信息页是可以更改身份验证类型或启用监视的位置。

    提示流部署详细信息页的屏幕截图。

  3. 选择“使用”选项卡。可以查看 Copilot 应用程序的代码示例和 REST 终结点,以使用已部署的流。

    提示流部署终结点和代码示例的屏幕截图。

清理资源

为了避免产生不必要的 Azure 成本,如果不再需要在本快速入门中创建的资源,应该将其删除。 若要管理资源,可以使用 Azure 门户

还可以在 Azure AI Studio停止或删除计算实例

Azure AI Studio 企业聊天解决方案演示

在本端到端演练视频中,了解如何在 Azure AI Studio 中使用数据创建零售 Copilot。

后续步骤