你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
生成提示流并正确对其进行测试后,可以将其部署为联机终结点。 部署被托管在终结点内部,它们能够从客户端接收数据并实时发送响应。
可以调用端点来进行实时推理,用于聊天、辅助驾驶员或其他生成式AI应用程序。 提示流支持从流或批量测试运行进行终结点部署。
本文介绍如何将流部署为托管联机终结点以便进行实时推理。 您采取的步骤是:
- 测试流并准备好进行部署。
- 创建联机部署。
- 向终结点授予权限。
- 测试终结点。
- 使用终结点。
先决条件
注释
必须对此功能使用 基于中心的项目 。 不支持 Foundry 项目 。 有关详细信息,请参阅 项目类型。
- 一份 Azure 订阅。 如果没有 Azure 订阅,可以创建一个免费帐户。
- 如果没有项目, 请创建基于中心的项目。
若要将提示流部署为联机终结点,需要:
- 一份 Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
- 一个 Azure AI Foundry 项目。
- 在所选订阅中注册的
Microsoft.PolicyInsights
资源提供程序。 有关如何注册资源提供程序的详细信息,请参阅 注册资源提供程序。
创建联机部署
生成流并对其进行正确测试后,即可创建联机终结点进行实时推理。
若要在 Azure AI Foundry 门户中将提示流部署为联机终结点,请执行以下操作:
准备好一个可供部署的提示流。 如果没有提示流,请参阅开发提示流。
可选:选择“聊天”以测试流是否正常工作。 建议您在部署之前测试流程。
在流编辑器中选择“部署”。
在部署向导中的“基本设置”页上提供请求的信息。
选择“查看 + 创建”以查看设置并创建部署。 否则,请选择 “下一步 ”以转到高级设置页。
选择“创建”以部署提示流。
若要查看部署的状态,请选择左侧窗格中的 “模型 + 终结点 ”。 成功创建部署后,选择部署以查看详细信息。
选择“ 使用 ”选项卡以查看可用于在应用程序中使用已部署模型的代码示例。
在此页上,还可以查看可用于使用终结点的终结点 URL。
你可以直接使用 REST 终结点,也可以从此处所示的某个示例开始。
有关如何部署基本模型的信息,请参阅 使用 Azure AI Foundry 部署模型。
设置和配置
Requirements 文本文件
可以选择在 requirements.txt
中指定所需的额外包。 可以在流文件夹的根文件夹中找到 requirements.txt
。 在用户界面中将提示流部署到托管在线终结点时,默认情况下,部署使用的环境是基于flow.dag.yaml
中指定的基本映像和requirements.txt
中指定的依赖项创建的。
flow.dag.yaml
内指定的基础映像必须基于提示流基础映像 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version>
创建。 可以在 此网站上找到最新版本。 如果未指定基础映像 flow.dag.yaml
,则部署将使用默认基础映像 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest
。
基本设置
在此步骤中,在流编辑器中选择“ 部署 ”时配置基本设置。
资产 | DESCRIPTION |
---|---|
终结点 | 选择是要部署新终结点还是更新现有终结点。 如果选择“新建”,则需要指定终结点名称。 |
部署名称 | - 在同一终结点中,部署名称应是唯一的。 - 如果选择现有终结点并输入现有部署名称,则会用新配置覆盖该部署。 |
虚拟机 | 要用于部署的虚拟机大小。 |
实例计数 | 用于部署的实例数。 指定预期的工作负载的值。 为实现高可用性,建议将值至少设置为 3 。 我们保留额外的 20% 来执行升级。 |
推断数据收集 | 如果启用此设置,则会在 Azure 机器学习数据资产中自动收集流输入和输出。 可以使用它们进行后续监视。 |
完成基本设置后,选择 “查看 + 创建 ”以完成创建。 还可以选择“ 下一步 ”配置高级设置。
高级设置:终结点
可为终结点指定以下设置。
在 “高级设置” 工作流中,还可以指定部署标记并选择自定义环境。
身份验证类型
此设置标识终结点的身份验证方法。 基于密钥的身份验证提供不会过期的主密钥和辅助密钥。 Azure 机器学习基于令牌的身份验证提供定期自动刷新的令牌。
标识类型
终结点需要访问 Azure 资源(例如 Azure 容器注册表或 Azure AI Foundry 中心连接),以便进行推理。 可以通过给终结点托管标识赋予权限,允许其访问 Azure 资源。
创建终结点后,会自动创建系统分配的标识。 用户创建用户分配的标识。 有关详细信息,请参阅托管标识概述。
系统分配
请注意,选项“强制访问连接机密”(预览版)。 如果流使用连接,则终结点需要访问连接才能执行推理。 默认情况下,此选项处于启用状态。
如果具有连接机密读取者权限,终结点将被授予 Azure 机器学习工作区连接机密读取者角色,以便自动访问连接。 如果禁用此选项,则需要手动向系统分配的身份授予此角色,或请管理员协助。 有关详细信息,请参阅 授予终结点标识的权限。
用户分配
创建部署时,Azure 会尝试从 Azure AI Foundry 中心的容器注册表拉取用户容器映像,并从中心的存储帐户将用户模型和代码项目装载到用户容器中。
如果使用“用户分配的标识”选项创建了关联的终结点,则在创建部署之前必须向用户分配的标识授予以下角色。 否则,部署创建将会失败。
范围 | 角色 | 为什么需要它 |
---|---|---|
Azure AI Foundry 项目 | “Azure 机器学习工作区连接机密读取者”角色或具有 的自定义角色Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action |
获取项目连接。 |
Azure AI Foundry 项目容器注册表 | ACR 拉取 | 拉取容器映像。 |
Azure AI Foundry 项目默认存储 | 存储 Blob 数据读取者 | 从存储加载模型。 |
Azure AI Foundry 项目 | Azure 机器学习指标编写器(预览版) | 部署终结点后,如果要监视与终结点相关的指标(如 CPU/GPU/磁盘/内存利用率),请向标识授予此权限。 可选。 |
有关如何向终结点标识授予权限的详细信息,请参阅 向终结点授予权限。
重要
如果流程使用基于 Microsoft Entra ID 的身份验证连接,无论是使用系统分配的身份还是用户分配的身份,始终需要向托管身份授予相应资源的适当角色,这样才能对该资源进行 API 调用。 例如,如果你的 Azure OpenAI 连接使用基于 Microsoft Entra ID 的身份验证,则你需要向终结点托管标识授予相应 Azure OpenAI 资源的“认知服务 OpenAI 用户”或“认知服务 OpenAI 参与者”角色。
高级设置:输出和连接
在此步骤中,可以查看所有流输出,并指定要包括在部署终结点的响应中的输出。 默认情况下,会选择所有流输出。
还可以指定终结点在执行推理时使用的连接。 默认情况下,连接是从流继承的。
配置并查看上述所有步骤后,选择“ 查看 + 创建 ”以完成创建。
预计终结点创建需要 15 分钟以上。 这些阶段包括创建终结点、注册模型和创建部署。
部署创建进度将发送一个以“提示流部署”开头的通知。
通过启用 Application Insights 诊断工具来启用跟踪(预览版)
如果启用此功能,推理期间的跟踪数据和系统指标(如令牌计数、流延迟和流请求)将收集到工作区链接的 Application Insights 中。 有关详细信息,请参阅提供跟踪数据和指标的提示流。
向终结点授予权限
重要
仅向特定 Azure 资源的所有者启用授予权限(添加角色分配)。 可能需要向 Azure 订阅所有者寻求帮助。 此人可能是 IT 管理员。
建议在终结点创建完成后立即向用户分配的标识授予角色。 授予的权限可能需要超过 15 分钟才能生效。
若要在 Azure 门户 UI 中授予所需权限,请执行以下步骤:
转到 Azure 门户中的 Azure AI Foundry 项目概述页。
依次选择“访问控制(IAM)”、“添加角色分配”
选择 Azure 机器学习工作区连接机密读取器,然后选择“ 下一步”。
Azure 机器学习工作区连接机密读取者角色是一个内置角色,有权获取中心连接。
如果要使用自定义角色,请确保自定义角色具有权限
Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action
。 详细了解如何创建自定义角色。选择“托管标识”,然后选择成员:
- 系统分配的标识:在 系统分配的托管标识下,选择 机器学习联机终结点 并按终结点名称进行搜索。
- 用户分配的标识:选择 用户分配的托管标识,然后按标识名称进行搜索。
对于用户分配的标识,需要向中心容器注册表和存储帐户授予权限。 可以在 Azure 门户的中心概述页上找到容器注册表和存储帐户。
转到中心容器注册表概述页,然后选择“ 访问控制>添加角色分配”。 将“ACR 拉取”分配到终结点标识。
转到中心默认存储概述页,然后选择“ 访问控制>添加角色分配”。 将“存储 Blob 数据读取者”分配到终结点标识。
可选:对于用户分配的标识,如果你要监视与终结点相关的指标(例如 CPU/GPU/磁盘/内存利用率),则需要向标识授予中心的“工作区指标写入者”角色。
检查终结点的状态
完成部署向导后,会收到通知。 成功创建终结点和部署后,在通知中选择查看详细信息以进入部署详情页。
还可以直接转到左窗格中的 “模型 + 终结点 ”页,选择部署,并检查状态。
测试终结点
在部署详细信息页上,选择“ 测试 ”选项卡。
对于从标准流部署的终结点,可以在表单编辑器或 JSON 编辑器中输入值来测试终结点。
测试从聊天流部署的终结点
对于从聊天流部署的终结点,可以在沉浸式聊天窗口中对其进行测试。
消息 chat_input
是在聊天流开发过程中设置的。 可以将消息放入 chat_input
输入框中。 如果您的流具有多个输入,您可以在右侧的chat_input
窗格上指定消息之外的其他输入的值。
使用终结点
在部署详细信息页上,选择“使用”选项卡。可以找到用于使用终结点的 REST 终结点和密钥/令牌。 可以使用示例代码用不同语言调用终结点。
需要输入 RequestBody
或 data
和 api_key
的值。 例如,如果流有两个输入, ___location
并且 url
需要指定数据,如以下示例所示:
{
"___location": "LA",
"url": "<the_url_to_be_classified>"
}
清理资源
如果在完成本教程后不使用终结点,请删除该终结点。 完全删除可能需要大约 20 分钟。
相关内容
- 详细了解可在 Azure AI Foundry 中执行哪些操作。
- 在 Azure AI Foundry 常见问题解答中获取常见问题的解答。
- 为部署启用跟踪并收集反馈。