本文介绍如何在与其所在工作区不同的工作区中配置现有的标准部署。
可以将模型目录中的某些模型作为标准化部署进行部署。 这种部署可以将模型作为 API 使用,而无需将它们托管在你的订阅上,同时保持组织所需的企业安全性和合规性。 此部署选项不需要来自订阅的配额。
在以下情况下,可能需要在与用于创建部署的工作区不同的工作区中使用标准部署:
- 你想要将部署集中到给定的工作区中,并从组织中的不同工作区使用这些部署。
- 需要在特定 Azure 区域中的工作区中部署模型,其中可以对该模型使用无服务器部署。 但是,需要从无服务器部署不适用于该特定模型的另一个区域使用此模型。
先决条件
具有有效付款方式的 Azure 订阅。 不能使用免费或试用 Azure 订阅。 如果没有 Azure 订阅,请先创建一个付费的 Azure 帐户。
希望在其中使用现有部署的 Azure 机器学习工作区。
一个已部署到标准部署的模型。 本文假定你以前部署了 Meta-Llama-3-8B-Instruct 模型。 若要了解如何将此模型部署为标准部署,请参阅 将模型部署为标准部署。
需要安装以下软件才能使用 Azure 机器学习:
Azure CLI 和适用于 Azure 机器学习的 ml 扩展。
az extension add -n ml
如果已安装该扩展,请确保安装的是最新版本。
az extension update -n ml
安装该扩展后,对其进行配置:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace-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
创建标准部署连接
按照以下步骤创建连接:
连接到部署该终结点的工作区:
将 CLI 配置为指向工作区:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace-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="<workspace-name>",
)
获取终结点的 URL 和要连接到的终结点的凭据。 在此示例中,你将获取名为 meta-llama3-8b-qwerty 的终结点的详细信息。
从左侧栏中选择“终结点”。
选择“ 无服务器终结点 ”选项卡以显示标准部署。
选择要连接到的终结点。
在终结点的“详细信息”选项卡上,复制“目标 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)
现在,连接到要在其中创建连接并使用终结点的工作区。
在工作区中创建连接:
转到需要在其中创建连接的工作区。
转到左窗格中的“ 管理 ”部分,然后选择“ 连接”。
选择创建。
选择“无服务器模型”。
对于“目标 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"
))
此时,连接可供使用。
要验证连接是否正常工作,请执行以下操作:
从 Azure 机器学习工作室的左侧窗格中,转到“创作”“提示流”。>
选择“创建”以创建新流。
在“聊天流”框中选择“创建”。
为“提示流”命名,然后选择“创建。
从图中选择 chat 节点,以转到 chat 部分。
对于“连接”,打开下拉列表以选择刚刚创建的连接,在本例中为“meta-llama3-8b-connection”。
从顶部导航栏中选择“启动计算会话”,以启动提示流自动运行时。
选择“聊天”选项。 现在可以发送消息并获取响应。
相关内容