仅适用于:
Foundry (经典版)门户。 本文不适用于新的 Foundry 门户。
详细了解新门户。
注意
本文中的链接可能会打开新 Microsoft Foundry 文档中的内容,而不是你现在正在查看的 Foundry (经典)文档。
本文介绍如何在不同于用于创建部署的项目或中心中配置现有无服务器 API。
重要
处于预览状态的模型在模型目录中的模型卡上标记为 预览 。
可以将模型目录中的某些模型 部署为无服务器 API。 这种部署提供了一种使用模型作为 API 的方法,而无需在订阅中托管模型,同时保持组织所需的企业安全性和合规性。 此部署选项不需要订阅中的配额。
在以下情况下,可能需要在与用于创建部署的项目或中心不同的项目或中心中使用无服务器 API 终结点:
- 你希望在某个特定项目或中心中集成您的部署,并在组织的不同项目或中心中访问这些部署。
- 需要在特定的Azure区域中的一个中心部署模型,在那里该模型的无服务器部署功能可用。 但是,需要从另一个区域使用此模型,其中无服务器部署不适用于该特定模型。
先决条件
具有有效付款方式的Azure订阅。 免费或试用Azure订阅将不起作用。 如果您没有 Azure 订阅,请创建一个 付费 Azure 帐户以开始。
如果你使用的是基于中心的项目,则需要 Microsoft Foundry 中心。
Foundry 项目不使用中心。 详细信息,请参阅 项目类型。
如果没有项目, 请创建一个基于中心的项目。
一个模型部署到无服务器 API 上。 本文假定你以前部署了 Meta-Llama-3-8B-Instruct 模型。 若要了解如何将此模型部署为无服务器 API,请参阅 将模型部署为无服务器 API。
需要安装以下软件才能使用 Foundry:
Azure CLI 和 适用于 Azure 机器学习 的 ml 扩展。
az extension add -n ml
如果已安装扩展,请确保已安装最新版本。
az extension update -n ml
安装扩展后,对其进行配置:
az account set --subscription <subscription>
az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
安装 Azure 机器学习 SDK for Python。
pip install -U azure-ai-ml
安装后,导入所需的命名空间:
from azure.ai.ml import MLClient
from azure.identity import InteractiveBrowserCredential
from azure.ai.ml.entities import ServerlessEndpoint, ServerlessConnection
创建无服务器 API 终结点连接
按照以下步骤创建连接:
连接到部署该终结点的项目或中心:
提示
由于可以在 Microsoft Foundry 门户中自定义左窗格,因此你可能会看到与这些步骤中显示的项不同。 如果未看到要查找的内容,请选择 ... 左窗格底部的更多内容。
转到 Foundry,然后导航到部署了要连接到的终结点的项目。
将 CLI 配置为指向项目:
az account set --subscription <subscription>
az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
创建连接到项目的客户端:
client = MLClient(
credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
subscription_id="<subscription-id>",
resource_group_name="<resource-group>",
workspace_name="<project-name>",
)
获取要连接的终结点的 URL 和认证信息。 在此示例中,你将获取终结点名称 meta-llama3-8b-qwerty 的详细信息。
在 Foundry 门户中的项目左侧栏中,转到 “我的资产>模型 + 终结点 ”以查看项目中的部署列表。
选择要连接到的部署。
复制 目标 URI 和 密钥的值。
az ml serverless-endpoint get-credentials -n meta-llama3-8b-qwerty
endpoint_name = "meta-llama3-8b-qwerty"
endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
print(endpoint_keys.primary_key)
print(endpoint_keys.secondary_key)
现在,连接到项目或中心您希望创建连接的地方:
将 CLI 配置为指向项目:
az account set --subscription <subscription>
az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
创建连接到项目的客户端:
client = MLClient(
credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
subscription_id="<subscription-id>",
resource_group_name="<resource-group>",
workspace_name="<project-name>",
)
在项目中创建连接:
在 Foundry 门户中的项目中,转到左侧边栏的底部,然后选择 管理中心。
在管理中心的左侧栏中,选择 “已连接资源”。
选择 “新建连接”。
选择 无服务器模型。
对于 目标 URI,粘贴之前复制的值。
对于 密钥,粘贴之前复制的值。
为连接命名,在本例中 为 meta-llama3-8b-connection。
选择 “添加连接”。
创建连接定义:
connection.yml
name: meta-llama3-8b-connection
type: serverless
endpoint: https://meta-llama3-8b-qwerty-serverless.inference.ai.azure.com
api_key: 1234567890qwertyuiop
az ml connection create -f connection.yml
client.connections.create_or_update(ServerlessConnection(
name="meta-llama3-8b-connection",
endpoint="https://meta-llama3-8b-qwerty-serverless.inference.ai.azure.com",
api_key="1234567890qwertyuiop"
))
此时,连接可供使用。
验证连接是否正常工作:
返回 Foundry 门户中的项目。
在项目的左侧栏中,转到 “生成”并自定义>提示流。
选择“ 创建 ”以创建新流。
在“聊天流”框中选择“创建”。
为 提示流 命名并选择“ 创建”。
从图形中选择 聊天 节点以转到 聊天 部分。
对于 “连接”,请打开下拉列表以选择刚刚创建的连接,在本例中 为 meta-llama3-8b-connection。
从顶部导航栏中选择 “启动计算会话 ”,启动提示流自动运行时。
选择 “聊天 ”选项。 现在可以发送消息并获取响应。
相关内容