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

在 Azure AI Studio 中创建和管理提示流计算会话

重要

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

你需要一个计算会话来运行提示流。 使用 Azure AI Studio 可创建和管理提示流计算会话。

提示流计算会话提供运行应用程序所需的计算资源,包括一个包含所有必要的依赖项包的 Docker 映像。 除了流执行之外,当你更新提示或代码内容时,Azure AI Studio 还使用计算会话来确保流中所含工具的准确性和功能。

先决条件

登录到 Azure AI Studio 并选择提示流。

创建计算会话

启动计算会话时,可以使用默认设置或自定义高级设置。

使用默认设置启动计算会话

默认情况下,计算会话使用流文件夹中的 flow.dag.yaml 内定义的环境。 它在一个无服务器计算上运行(对于该无服务器计算的虚拟机 (VM) 大小,你的工作区中有足够的配额)。

  1. 在 Azure AI Studio 中转到你的项目。
  2. 在左窗格中,选择“流”,然后选择要运行的流。
  3. 在提示流的顶部工具栏中,选择“启动计算会话”

使用高级设置启动计算会话

在高级设置中,可以选择计算类型。 可以在无服务器计算和计算实例之间进行选择。

  1. 在 Azure AI Studio 中转到你的项目。

  2. 在左窗格中,选择“流”,然后选择要运行的流。

  3. 在提示流的顶部工具栏中,选择“启动计算会话”按钮右侧的下拉箭头。 选择“使用高级设置启动”以自定义计算会话。

    提示流屏幕截图,其中包含用于在流页面上启动计算会话的默认设置。

    可以在无服务器计算和计算实例之间进行选择。

    • 如果选择无服务器计算,可以指定以下设置:

      • 自定义计算会话使用的 VM 大小。
      • 自定义空闲时间,该空闲时间用于通过自动删除计算会话(如果其未在使用中)来保存代码。
      • 设置用户分配的托管标识。 计算会话使用此标识来拉取基础映像并安装包。 确保用户分配的托管标识具有 Azure 容器注册表拉取权限。

      如果未设置用户分配的标识,则提示流默认使用用户标识。 详细了解如何为工作区创建并更新用户分配的标识

      提示流的屏幕截图,其中包含将无服务器计算用于在流页面上启动计算会话的高级设置。

    • 如果选择计算实例,则只能设置空闲关闭时间。

      • 因为这是一个现有的计算实例,所以 VM 大小是固定的,并且在计算会话端无法更改。

      • 用于此计算会话的标识也是在计算实例中定义的,默认情况下它会使用用户标识。 详细了解如何为计算实例分配标识

      • 空闲关闭时间用于定义计算会话的生命周期。 如果计算会话处于空闲状态的时长达到了你设置的时间,则会自动删除该计算会话。 如果在计算实例上启用了空闲关闭,则它会关闭但不会删除。

        提示流的屏幕截图,其中包含将计算实例用于在流页面上启动计算会话的高级设置。

  4. 选择“下一步”以指定基础映像设置。 使用默认基础映像或提供自定义基础映像。 如果选择自定义的基础映像,请提供映像 URL 和映像标记。 仅公共 Docker 注册表或 Azure 容器注册表 (ACR) 中的映像受支持。 如果指定 ACR 中的映像,请确保你(或用户分配的管理标识)具有 ACR 拉取权限。

  5. 选择“下一步”查看你的设置

  6. 选择“应用并启动计算会话”以启动计算会话。

管理计算会话

若要管理计算会话,请在流页面顶部的工具栏上选择正在运行的计算会话。

  • “更改计算会话设置”会打开计算会话配置页,可在其中定义计算会话的 VM 端和空闲时间。
  • “安装 requirements.txt 中的包”会在提示流 UI 中打开 requirements.txt,以便你可以添加包。
  • “查看已安装的包”会显示已在计算会话中安装的包。 它包括收录到基础映像的包,以及流文件夹中的 requirements.txt 文件中指定的包。
  • “重置计算会话”会删除当前计算会话,并创建具有相同环境的新计算会话。 如果遇到包冲突问题,可以尝试此选项。
  • “停止计算会话”会删除当前计算会话。 如果基础无服务器计算上没有活动计算会话,则还会删除计算资源。 如果计算会话位于计算实例上,则停止会话将使该实例可以变得空闲。

流页面上适用于计算会话的操作的屏幕截图。

可以通过在流文件夹中的 requirements.txt 文件中添加包来自定义用于运行此流的环境。 在此文件中添加更多包后,选择以下选项之一:

  • 在流文件夹中保存并安装触发器 pip install -r requirements.txt。 此过程可能需要几分钟时间,具体视安装的包而定。
  • 仅保存 requirements.txt 文件。 稍后可以自行安装包。

流页面上用于为计算会话保存和安装包的选项的屏幕截图。

注意

可以更改 requirements.txt 的位置以及文件名,但请务必在流文件夹中的 flow.dag.yaml 文件中进行更改。

请勿在 requirements.txt 中固定 promptflowpromptflow-tools 的版本,因为它们已包含在计算会话基础映像中。

在 Azure DevOps 的专用源中添加包

要在 Azure DevOps 中使用专用源,需要执行以下步骤:

  1. 创建用户分配的托管标识,并在 Azure DevOps 组织中添加此标识。 如要了解详细信息,请参阅“使用服务主体和托管标识”。

    注意

    如果“添加用户”按钮不可见,则你可能没有执行此操作所需的权限。

  2. 向项目添加或更新用户分配的标识

  3. {private} 添加到专用源 URL。 例如,如果要在 Azure devops 的 test_feed 中安装 test_package,请将 -i https://{private}@{test_feed_url_in_azure_devops} 添加到 requirements.txt

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  4. 如果计算会话未在运行,请在“使用高级设置启动”中指定用户分配的托管标识;如果计算会话正在运行,请使用“编辑”按钮。

    显示用于改用工作区用户分配的托管标识的切换开关的屏幕截图。

更改基础映像

默认情况下,我们使用最新的提示流映像作为基础映像。 如果要使用不同的基础映像,则需要生成自己的基础映像。 应从提示流基础映像(即 mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version>)生成该 Docker 映像。 如果可能,请使用最新版本的基础映像

  1. 打开提示流。

  2. 在顶部工具栏上,选择“原始文件模式”以在文件编辑器中启用编辑。

  3. 打开“文件”部分,然后选择 flow.dag.yaml

    流页面上用于为计算会话自定义基础映像的操作的屏幕截图。

  4. flow.dag.yaml 文件的 environment 部分中指定映像。 例如,若要使用映像 <your-custom-image>,请添加以下代码:

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

升级计算实例运行时

如果以前创建了计算实例运行时,请使用以下步骤将其切换到计算会话:

  • 在流文件夹中准备 requirements.txt 文件。 有关详细信息,请参阅管理计算会话

  • 如果创建了自定义环境,请从环境详细信息页获取映像,并在流文件夹中的 flow.dag.yaml 文件中指定该映像。 若要了解详细信息,请参阅更改基础映像。 请确保你对映像具有 acr pull 权限。

  • 如果想要手动管理生命周期,可以继续使用现有的计算实例。