提示流入门

本文将引导你完成在 Azure 机器学习工作室中使用提示流的主要用户旅程。 你将了解如何在 Azure 机器学习工作区中启用提示流、创建和开发第一个提示流、对其进行测试和评估,然后将其部署到生产。

先决条件

  • 确保工作区中的默认数据存储是 Blob 类型。

  • 如果使用虚拟网络保护 Prompt Flow,请查看 Prompt Flow 中的网络隔离来了解更多详细信息。

设置连接

首先需要设置连接。

连接有助于安全地存储和管理与 LLM(大型语言模型)和其他外部工具(例如 Azure 内容安全)交互所需的机密密钥或其他敏感凭据。

导航到提示流主页,选择“连接”选项卡。连接是工作区中所有成员的共享资源。 因此,如果已看到提供程序为 AzureOpenAI 的连接,可以跳过此步骤,转到“启动计算会话”。

如果尚未连接到 AzureOpenAI,请从下拉列表中依次选择“创建”按钮、“AzureOpenAI”。

连接选项卡的屏幕截图,突出显示了创建。

然后,将显示右侧面板。 在这里,在选择“保存”按钮之前,需要选择订阅和资源名称,提供连接名称、API 密钥、API 基、API 类型和 API 版本。

已添加的 Azure OpenAI 连接的屏幕截图。

要获取 API 密钥、基、类型和版本,可以在 Azure OpenAI 门户中导航到“聊天操场”,然后选择“查看代码”按钮。 在此处,可以复制所需信息并将其粘贴到连接创建面板。

选择“查看代码”按钮后的聊天操场屏幕截图,显示了带有示例代码的弹出窗口,突出显示了 API 密钥。

输入必填字段后,选择“保存”以创建连接。

创建和开发提示流

在提示流主页的“流”选项卡中,选择“创建”以创建第一个提示流。 可以克隆库中的示例以创建流。

从示例克隆

内置示例显示在库中。

在本指南中,我们使用Web 分类示例引导你完成主要的用户旅程。 可以在“Web 分类”磁贴上选择“查看详细信息”以预览示例。 然后,会弹出预览窗口。 可以浏览示例简介,查看示例是否与你的场景类似。 或者可以选择“克隆”以直接克隆示例,然后检查流。 对其进行测试和修改。

从库创建的屏幕截图,突出显示了 Web 分类。

选择“克隆”后,将创建新流,并将其保存在工作区文件共享存储中的特定文件夹中。 可以根据右侧面板中的首选项自定义文件夹名称。

“流创作”页

计算会话启动后,可以查看流创作页。

Web 分类的屏幕截图,突出显示了主要的工作区域。

创作页面的左侧是平展视图,可以在该主要的工作区域中创作流,例如新增节点、编辑提示、选择流输入数据等。

右上角显示流的文件夹结构。 每个流都有一个文件夹,其中包含 flow.dag.yaml 文件、源代码文件和系统文件夹。 可以出于测试、部署或协作目的轻松导出或导入流。

除了在平展视图中内联编辑节点外,还可以打开“原始文件模式”开关并选择文件名,以便在打开的文件选项卡中编辑文件。

原始文件模式下文件编辑选项卡的屏幕截图。

右下角的图形视图仅用于显示可视化效果。 可以执行放大、缩小、自动布局等操作。

在本指南中,我们使用Web 分类示例引导你完成主要的用户旅程。 Web 分类是使用 LLM 演示多类分类的流。 给定 URL 后,它只需几个样本、简单的汇总和分类提示,即可将 URL 分类为 Web 类别。 例如,给定 "https://www.imdb.com/",它会将此 URL 分类为“电影”。

在图形视图中,可以看到示例流的外观。 输入是要分类的 URL,然后使用 Python 脚本从 URL 中提取文本内容,使用 LLM 汇总 100 字以内的文本内容,然后根据 URL 和汇总的文本内容进行分类,最后使用 Python 脚本将 LLM 输出转换为字典。 prepare_examples 节点用于向分类节点的提示提供少样本示例。

流输入数据

展开“输入”部分时,可以创建和查看输入。 对于如下面的屏幕截图所示的 Web 分类示例,流输入是字符串类型的 URL。

Web 分类的屏幕截图,突出显示了输入。

克隆示例时已设置输入架构(名称:url;类型:字符串)和值。 可以手动更改为另一个值,例如 "https://www.imdb.com/"。

设置 LLM 节点

对于每个 LLM 节点,需要选择连接以设置 LLM API 密钥。

Web 分类的屏幕截图,显示了连接下拉列表。

对于本示例,请确保 API 类型为“聊天”,因为我们提供的提示示例适用于聊天 API。 若要了解聊天和完成 API 的提示格式差异,请参阅开发流

然后,根据所选的连接类型,需要选择部署或模型。

我们在流中有两个 LLM 节点(summarize_text_content 和 classify_with_llm),因此需要分别为每个节点进行设置。

运行单个节点

要测试和调试单个节点,请对平展视图中的节点选择“运行”图标。 运行完成后,运行状态显示在顶部,请检查节点输出部分中的输出。

Web 分类的屏幕截图,显示了先运行Python 节点,然后检查输出,接着运行 LLM 节点,然后检查其输出。

依次运行 fetch_text_content_from_url、summarize_text_content,检查流能否成功从 Web 中提取内容,并汇总 Web 内容。

单节点状态也显示在图形视图中。 还可以更改流输入 URL,以测试不同 URL 的节点行为。

运行整个流

要测试和调试整个流,请选择右上角的“运行”按钮。

Web 分类的屏幕截图,显示了整个运行,并突出显示了运行按钮。

然后,可以检查每个节点的运行状态和输出。 节点状态也显示在图形视图中。 同样,可以更改流输入 URL,以测试流对于不同 URL 的行为方式。

设置和检查流输出

还可以在一个位置设置流输出和检查多个节点的输出,而不是检查每个节点上的输出。 此外,流输出有助于:

  • 在单个表中检查批量测试结果
  • 定义评估接口映射
  • 设置部署响应架构

克隆示例时,已设置流输出(类别和证据)。

可以选择横幅中的“查看跟踪”按钮,以查看详细的输入、输出、流执行和编排信息。 可以看到该流使用类别和证据预测输入 URL。

在创作页中查看跟踪的屏幕截图。

 两个位置中的“查看输出”按钮的屏幕截图。

可以选择“查看测试结果”来查看列表中的所有历史测试

Web 分类的屏幕截图,显示了“查看输出”按钮。

流测试结果的屏幕截图。

测试和评估

使用单行数据成功运行流后,可能需要测试它是否在大型数据集中表现良好,可以运行批量测试并选择一些评估方法,然后检查指标。

准备数据

首先需要准备测试数据。 目前支持 csv、tsv 和 jsonl 文件。

转到 GitHub 下载“data.csv”,这是 Web 分类示例的黄金数据集。

评估

选择“运行”按钮旁边的“评估”按钮,然后会弹出右侧面板。 该向导会指导你提交批处理运行并选择评估方法(可选)。

需要设置批处理运行名称、说明,然后选择“添加新数据”上传已下载的数据。 上传数据或工作区中的同事已创建数据集后,可以从下拉列表中选择数据集并预览前五行。 数据集选择下拉列表支持搜索和自动建议。

此外,输入映射支持将流输入映射到数据集中的特定数据列,这意味着可以使用任何列作为输入,即使列名称不匹配也可以。

批处理运行和评估的屏幕截图,突出显示了上传新数据。

接下来,选择一种或多种评估方法。 评估方法也是流,它使用 Python 或 LLM 等计算准确性、相关性分数等指标。 页面中已列出内置评估流和自定义评估流。 由于 Web 分类是一种分类方案,因此适合选择“分类准确性评估”进行评估。

Web 分类的屏幕截图,其中显示了对评估方法的批量运行和评估。

如果对如何为内置评估方法定义指标感兴趣,可以选择“更多详细信息”以预览评估流

选择“分类准确性评估”作为评估方法后,可以设置接口映射,将基准真相映射到流输入,将预测映射到流输出

Web 分类的屏幕截图,显示了对评估设置的批处理运行和评估。

然后,选择“查看 + 提交”以提交批处理运行和所选评估

检查结果

成功提交运行后,选择“查看运行列表”以导航至该流的批处理运行列表

批处理运行可能需要一段时间才能完成。 可以“刷新”页面以加载最新状态。

批处理运行完成后,选择该运行,然后选择“可视化输出”以查看批处理运行的结果。 选择“查看输出”(眼睛图标)将评估结果追加到批处理运行结果表中。 可以看到令牌总数和总体准确性,然后在表中可看到每行数据的结果:输入、流输出和评估结果(哪些情况预测正确,哪些情况不正确)。

在 Web 分类批处理运行详细信息页面上查看输出结果的屏幕截图。

可以调整列宽、隐藏/取消隐藏列、更改列顺序。 还可以选择“导出”下载输出表以供进一步研究,此处提供了 2 个选项

  • 下载当前页:当前页中批处理运行输出的 csv 文件。
  • 下载所有数据:下载的是 Jupyter 笔记本文件,需要运行该文件才能下载 jsonl 或 csv 格式的输出。

如你所知,准确性不是可以评估分类任务的唯一指标,例如,还可以使用召回率进行评估。 在这种情况下,可以选择“可视化输出”按钮旁边的“评估”,选择其他评估方法进行评估

部署

生成流并对其进行正确测试后,可能需要将其部署为终结点,以便可以调用该终结点进行实时推理。

配置终结点

选择批处理运行链接,然后你会定向到批处理运行详细信息页面,请选择“部署”。 会弹出向导以允许配置终结点。 指定终结点和部署名称,选择虚拟机,设置连接,执行某些设置(可以使用默认设置),选择“查看 + 创建”以开始部署

测试终结点

可以从通知转到终结点详细信息页,也可以导航至工作室左侧导航栏中的“终结点”,然后在“实时终结点”选项卡中选择你的终结点以转到终结点详细信息页。部署终结点需要几分钟时间。 成功部署终结点后,可以在“测试”选项卡中对其进行测试。

将要测试的网址输入框中,选择“测试”,然后你将看到终结点预测的结果

清理资源

如果现在打算继续学习操作指南,并想要使用在此处创建的资源,请跳到后续步骤

停止计算实例

如果不打算现在使用它,请停止计算实例:

  1. 在工作室的左侧导航区域中,选择“计算”。
  2. 在顶部选项卡中,选择“计算实例”
  3. 在列表中选择该计算实例。
  4. 在顶部工具栏中,选择“停止”。

删除所有资源

如果你不打算使用已创建的任何资源,请删除它们,以免产生任何费用:

  1. 在 Azure 门户中,选择最左侧的“资源组” 。
  2. 从列表中选择你创建的资源组。
  3. 选择“删除资源组”

后续步骤

现在,你已了解流开发、测试、评估和部署涉及的内容,请在以下教程中详细了解相关过程: