你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
从其他 Azure AI Foundry 项目或中心使用无服务器 API 终结点
本文内容
本文介绍如何在与用于创建部署的项目或中心不同的项目或中心中配置现有无服务器 API 终结点。
重要
预览版的模型在模型目录中的模型卡上标记为 “预览”。
可以将模型目录中的某些模型 部署为无服务器 API。 这种部署可以将模型作为 API 使用,而无需将它们托管在你的订阅上,同时保持组织所需的企业安全性和合规性。 此部署选项不需要来自订阅的配额。
在以下情况下,可能需要在与用于创建部署的项目或中心不同的项目或中心中使用无服务器 API 终结点:
你想要将部署集中到给定的项目或中心,并从组织中的不同项目或中心使用这些部署。
需要在特定 Azure 区域中的中心部署模型,其中提供了适用于该模型的无服务器部署。 但是,需要从另一个区域使用此模型,其中无服务器部署不适用于该特定模型。
先决条件
具有有效付款方式的 Azure 订阅。 不能使用免费或试用 Azure 订阅。 如果没有 Azure 订阅,请先创建一个付费的 Azure 帐户 。
一个 Azure AI Foundry 中心 。
一个 Azure AI Foundry 项目 。
一个部署到无服务器 API 终结点 的模型。 本文假定你以前部署了 Meta-Llama-3-8B-Instruct 模型。 若要了解如何将此模型部署为无服务器 API,请参阅将模型部署为无服务器 API 。
需要安装以下软件才能使用 Azure AI 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>
安装适用于 Python 的 Azure 机器学习 SDK 。
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 终结点连接
按照以下步骤创建连接:
连接到部署该终结点的项目或中心:
将 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” 的终结点的详细信息。
在 AI 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>",
)
在项目中创建连接:
从 AI 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"
))
此时,连接可供使用。
要验证连接是否正常工作,请执行以下操作:
回到 AI Foundry 门户中的项目。
在项目的左侧边栏中,转到“生成并自定义” >“提示流” 。
选择“创建”以创建新流。
在“聊天流”框中选择“创建”。
为“提示流”命名,然后选择“创建。
从图中选择 chat 节点,以转到 chat 部分。
对于“连接”,打开下拉列表以选择刚刚创建的连接,在本例中为“meta-llama3-8b-connection”。
从顶部导航栏中选择“启动计算会话”,以启动提示流自动运行时。
选择“聊天”选项。 现在可以发送消息并获取响应。
相关内容