你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注释
本文档指的是 Microsoft Foundry(新) 门户网站。
重要
如果当前将 Azure AI 推理 beta SDK 与 Microsoft Foundry 模型或 Azure OpenAI 服务配合使用,强烈建议过渡到正式版 OpenAI/v1 API,该 API 使用 OpenAI 稳定 SDK。
有关如何使用所选编程语言中的 SDK 迁移到 OpenAI/v1 API 的详细信息,请参阅 从 Azure AI 推理 SDK 迁移到 OpenAI SDK。
可以决定和配置哪些模型可用于Microsoft Foundry 资源中的推理。 配置模型时,可以通过在请求中指定模型名称或部署名称来生成预测。 无需在代码中进行任何其他更改才能使用该模型。
本文介绍如何向 Foundry 模型终结点添加新模型。
先决条件
若要完成本文,需要做好以下准备:
一份 Azure 订阅。 如果你正在使用 GitHub 模型,则可以升级体验并在此过程中创建 Azure 订阅。 如果是这种情况,请阅读 从 GitHub 模型升级到 Foundry 模型 。
Foundry 项目。 此类项目在 Foundry 资源(以前称为 Azure AI 服务资源)下管理。 如果没有 Foundry 项目,请参阅“为 Foundry 创建项目”(Foundry 项目)。
合作伙伴和社区的 Foundry 模型 需要访问 Azure 市场。 确保你拥有 订阅模型产品/服务所需的权限。 由 Azure 直接销售的 Foundry 模型没有此要求。
安装 Azure CLI 和
cognitiveservices的 Foundry 工具扩展。az extension add -n cognitiveservices本教程中的某些命令使用
jq该工具,该工具可能未安装在系统上。 有关安装说明,请参阅下载jq。标识以下信息:
Azure 订阅 ID。
Foundry Tools 资源名称。
在其中部署 Foundry Tools 资源的资源组。
添加模型
若要添加模型,请先标识要部署的模型。 可以按如下所示的方法查询可用模型:
登录到 Azure 订阅。
az login如果有多个订阅,请选择资源所在的订阅。
az account set --subscription $subscriptionId用计划使用的 Foundry Tools 资源名称和资源组设置以下环境变量。
accountName="<ai-services-resource-name>" resourceGroupName="<resource-group>" location="eastus2"如果尚未创建 Foundry Tools 帐户,请创建一个。
az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0看看哪些模型可供你使用,以及有哪些 SKU 可用。 SKU(也称为 部署类型)定义如何使用 Azure 基础结构来处理请求。 模型可能提供不同的部署类型。 以下命令列出了所有可用的模型定义:
az cognitiveservices account list-models \ -n $accountName \ -g $resourceGroupName \ | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'输出如下所示:
{ "name": "Phi-3.5-vision-instruct", "format": "Microsoft", "version": "2", "sku": "GlobalStandard", "capacity": 1 }确定要部署的模型。 需要属性
name、format、version和sku。 该属性format指示提供模型的提供程序。 可能还需要容量,具体取决于部署类型。把部署模型添加到资源中。 以下示例添加
Phi-3.5-vision-instruct:az cognitiveservices account deployment create \ -n $accountName \ -g $resourceGroupName \ --deployment-name Phi-3.5-vision-instruct \ --model-name Phi-3.5-vision-instruct \ --model-version 2 \ --model-format Microsoft \ --sku-capacity 1 \ --sku-name GlobalStandard该模型可供使用。
如果需要,只要它使用不同的部署名称,就可以多次部署同一模型。 如果要测试给定模型的不同配置(包括内容筛选器),此功能可能很有用。
使用该模型
可以通过资源的 Azure AI 模型推理终结点使用部署的模型。 构造请求时,指示参数 model 并插入已创建的模型部署名称。 可以使用以下代码以编程方式获取推理终结点的 URI:
推理终结点
az cognitiveservices account show -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'
若要向 Microsoft Foundry 模型终结点发出请求,请追加路由 models,例如 https://<resource>.services.ai.azure.com/models。 可以在 Azure AI 模型推理 API 参考页中查看终结点的 API 参考。
推理密钥
az cognitiveservices account keys list -n $accountName -g $resourceGroupName
管理部署
可以使用 CLI 查看所有可用的部署:
运行以下命令以查看所有活动部署:
az cognitiveservices account deployment list -n $accountName -g $resourceGroupName可以查看给定部署的详细信息:
az cognitiveservices account deployment show \ --deployment-name "Phi-3.5-vision-instruct" \ -n $accountName \ -g $resourceGroupName可以按如下所示删除给定部署:
az cognitiveservices account deployment delete \ --deployment-name "Phi-3.5-vision-instruct" \ -n $accountName \ -g $resourceGroupName
可以决定和配置哪些模型可用于Microsoft Foundry 资源中的推理。 配置模型时,可以通过在请求中指定模型名称或部署名称来生成预测。 无需在代码中进行任何其他更改才能使用该模型。
本文介绍如何向 Foundry 模型终结点添加新模型。
先决条件
若要完成本文,需要做好以下准备:
一份 Azure 订阅。 如果你正在使用 GitHub 模型,则可以升级体验并在此过程中创建 Azure 订阅。 如果是这种情况,请阅读 从 GitHub 模型升级到 Foundry 模型 。
Foundry 项目。 此类项目在 Foundry 资源(以前称为 Azure AI 服务资源)下管理。 如果没有 Foundry 项目,请参阅“为 Foundry 创建项目”(Foundry 项目)。
合作伙伴和社区的 Foundry 模型 需要访问 Azure 市场。 确保你拥有 订阅模型产品/服务所需的权限。 由 Azure 直接销售的 Foundry 模型没有此要求。
安装 Azure CLI。
标识以下信息:
Azure 订阅 ID。
Microsoft Foundry 资源(原称 Azure AI 服务资源)名称。
在其中部署 Foundry 资源的资源组。
要部署的模型名称、提供商、版本和 SKU。 可以使用 Foundry 门户或 Azure CLI 查找此信息。 在此示例中,部署以下模型:
-
模型名称:
Phi-3.5-vision-instruct -
提供商:
Microsoft -
版本:
2 - 部署类型:全局标准
-
模型名称:
关于本教程
本文中的示例基于 Azure-Samples/azureai-model-inference-bicep 存储库中包含的代码示例。 要在本地运行命令而无需复制或粘贴文件内容,请使用以下命令克隆存储库并转到你的编码语言所对应的文件夹:
git clone https://github.com/Azure-Samples/azureai-model-inference-bicep
此示例的文件位于以下位置:
cd azureai-model-inference-bicep/infra
订阅“合作伙伴和社区模型”所需的权限
来自合作伙伴和社区的 Foundry 模型 可供部署使用(例如 Cohere 模型)需要 Azure Marketplace。 模型提供程序定义许可条款,并设置其模型使用 Azure 市场的价格。
部署第三方模型时,请确保帐户中具有以下权限:
- 关于 Azure 订阅服务:
Microsoft.MarketplaceOrdering/agreements/offers/plans/readMicrosoft.MarketplaceOrdering/agreements/offers/plans/sign/actionMicrosoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/readMicrosoft.Marketplace/offerTypes/publishers/offers/plans/agreements/readMicrosoft.SaaS/register/action
- 在资源组上,创建和使用 SaaS 资源的权限:
Microsoft.SaaS/resources/readMicrosoft.SaaS/resources/write
添加模型
使用模板
ai-services-deployment-template.bicep描述模型部署:ai-services-deployment-template.bicep
@description('Name of the Azure AI services account') param accountName string @description('Name of the model to deploy') param modelName string @description('Version of the model to deploy') param modelVersion string @allowed([ 'AI21 Labs' 'Cohere' 'Core42' 'DeepSeek' 'xAI' 'Meta' 'Microsoft' 'Mistral AI' 'OpenAI' ]) @description('Model provider') param modelPublisherFormat string @allowed([ 'GlobalStandard' 'DataZoneStandard' 'Standard' 'GlobalProvisioned' 'Provisioned' ]) @description('Model deployment SKU name') param skuName string = 'GlobalStandard' @description('Content filter policy name') param contentFilterPolicyName string = 'Microsoft.DefaultV2' @description('Model deployment capacity') param capacity int = 1 resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = { name: '${accountName}/${modelName}' sku: { name: skuName capacity: capacity } properties: { model: { format: modelPublisherFormat name: modelName version: modelVersion } raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName } }运行部署:
RESOURCE_GROUP="<resource-group-name>" ACCOUNT_NAME="<azure-ai-model-inference-name>" MODEL_NAME="Phi-3.5-vision-instruct" PROVIDER="Microsoft" VERSION=2 az deployment group create \ --resource-group $RESOURCE_GROUP \ --template-file ai-services-deployment-template.bicep \ --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
使用该模型
可以通过资源的 Azure AI 模型推理终结点使用部署的模型。 构造请求时,指示参数 model 并插入已创建的模型部署名称。 可以使用以下代码以编程方式获取推理终结点的 URI:
推理终结点
az cognitiveservices account show -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'
若要向 Foundry 模型终结点发出请求,请追加路由 models,例如 https://<resource>.services.ai.azure.com/models。 可以在 Azure AI 模型推理 API 参考页中查看终结点的 API 参考。
推理密钥
az cognitiveservices account keys list -n $accountName -g $resourceGroupName