快速入门:使用 Azure CLI 创建认知服务资源
使用本快速入门,可通过 Azure 命令行接口 (CLI) 命令创建认知服务资源。 创建资源后,请使用生成的密钥和终结点对应用程序进行身份验证。
Azure 认知服务是基于云的人工智能 (AI) 服务,可帮助开发人员在不具备直接的 AI 或数据科学技能或知识的情况下将认知智能内置于应用程序中。 可采用常用开发语言通过 REST API 和客户端库 SDK 使用此类服务。 借助 Azure 认知服务,开发人员可以通过能够看、听、说和分析的认知解决方案,轻松将认知功能添加到他们的应用程序中。
认知服务资源的类型
可以通过两种不同的资源来访问 Azure 认知服务:多服务资源或单一服务资源。
- 多服务资源:
- 通过单个密钥和终结点访问多个 Azure 认知服务。
- 合并来自你使用的服务的计费。
- 单服务资源:
- 对于创建的每个服务,使用唯一密钥和终结点访问单个 Azure 认知服务。
- 使用免费层试用服务。
先决条件
- 有效的 Azure 订阅 - 创建试用订阅。
- Azure CLI
- 要同意负责任 AI 条款并创建资源,你的 Azure 帐户必须分配有
Cognitive Services Contributor
角色。 若要将此角色分配给你的帐户,请按照分配角色文档中的步骤进行操作,或与管理员联系。 - 如果你打算使用 Azure AI 视觉中的空间分析或使用 Azure AI 语言中适用于健康行业的文本分析,则必须从 Azure 门户创建你的首个视觉或语言资源,以便查看和确认条款和条件。 可在此处执行此操作:Azure AI 语言、Azure AI 视觉。 在那之后,你可以使用任何部署工具(例如 SDK、CLI 或 ARM 模板)在同一 Azure 订阅下创建后续资源。
安装 Azure CLI 并登录
安装 Azure CLI。 若要登录到本地安装的 CLI,请运行 az login 命令:
az cloud set -n AzureChinaCloud
az login
创建新的 Azure 认知服务资源组
在创建认知服务资源之前,必须具有 Azure 资源组才能包含该资源。 在创建新资源时,可以新建资源组,也可以使用现有资源组。 本文介绍如何创建新资源组。
选择资源组位置
若要创建资源,需要为订阅提供一个可用的 Azure 位置。 可以使用 az account list-locations 命令检索可用位置的列表。 可以从多个位置访问大部分认知服务。 选择离你最近的位置,或查看哪些位置可供服务使用。
重要
- 请记住选择的 Azure 位置,因为在调用 Azure 认知服务资源时需要用到。
- 某些认知服务的可用性因区域而异。 有关详细信息,请参阅 Azure 产品在各区域中的推出情况。
az account list-locations --query "[].{Region:name}" --out table
选择 Azure 位置后,在 Azure CLI 中使用 az group create 命令创建新的资源组。 在以下示例中,请将 Azure 位置 chinanorth2
替换为你的订阅可用的某个 Azure 位置。
az group create --name cognitive-services-resource-group --location chinanorth2
创建认知服务资源
选择服务和定价层
创建新资源时,需要知道要使用的服务的种类,以及所需的定价层(或 SKU)。 创建资源时,将此信息和其他信息用作参数。
可以通过两种不同的资源来访问 Azure 认知服务:多服务资源或单一服务资源。
- 多服务资源:
- 通过单个密钥和终结点访问多个 Azure 认知服务。
- 合并来自你使用的服务的计费。
- 单服务资源:
- 对于创建的每个服务,使用唯一密钥和终结点访问单个 Azure 认知服务。
- 使用免费层试用服务。
下表提供有关 Azure AI 服务的产品和定价的信息。
多服务
服务 | 种类 |
---|---|
多个服务。 有关详细信息,请参阅定价页。 | CognitiveServices |
影像
服务 | 种类 |
---|---|
影像 | ComputerVision |
人脸 | Face |
文档智能 | FormRecognizer |
语音
服务 | 种类 |
---|---|
语音 | SpeechServices |
语言
服务 | 种类 |
---|---|
语言理解 (LUIS) | LUIS |
语言 | TextAnalytics |
文本翻译 | TextTranslation |
决策
服务 | 种类 |
---|---|
异常检测器 | AnomalyDetector |
内容审查器 | ContentModerator |
定价层和计费
定价层(以及你的账单金额)基于你使用身份验证信息发送的事务数。 每个定价层指定:
- 每秒允许的最大事务数 (TPS)。
- 在定价层中启用的服务功能。
- 预定义事务数的成本。 根据定价详细信息中为服务所指定的内容,超过此数字将导致额外费用。
注意
许多 Azure AI 服务都有一个免费层,供你试用该服务。 若要使用免费层,请使用 F0
作为资源的定价层。
可以使用 az cognitiveservices account list-kinds 命令查找可用认知服务“种类”的列表:
az cognitiveservices account list-kinds
将新资源添加到资源组
若要创建并订阅新的认知服务资源,请使用 az cognitiveservices account create 命令。 此命令会将新的可计费资源添加到前面创建的资源组。 创建新资源时,需要知道要使用的服务的种类,以及其定价层(或 SKU)和 Azure 位置:
可以使用以下命令为异常检测器创建名为 anomaly-detector-resource
的 F0(免费)资源。
az cognitiveservices account create --name anomaly-detector-resource --resource-group cognitive-services-resource-group --kind AnomalyDetector --sku F0 --location chinanorth2 --yes
提示
如果订阅不允许创建 Azure AI 服务资源,则可能需要使用 Azure 门户、PowerShell 命令或 Azure CLI 命令启用 Azure 资源提供程序的特权。 如果你不是订阅所有者,可请求订阅所有者或具有管理员角色的人员帮助你完成注册,或请求向你的帐户授予 /register/action 特权。
获取资源的密钥
若要登录到本地安装的命令行接口 (CLI),请使用 az login 命令。
az cloud set -n AzureChinaCloud
az login
使用 az cognitiveservices account keys list 命令获取认知服务资源的密钥。
az cognitiveservices account keys list --name anomaly-detector-resource --resource-group cognitive-services-resource-group
配置用于身份验证的环境变量
必须对应用程序进行身份验证才能访问认知服务资源。 对于生产,请使用安全的方式存储和访问凭据。 例如,获取资源的密钥后,请将其写入运行应用程序的本地计算机上的新环境变量。
提示
请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅认知服务安全一文。
若要为资源密钥设置环境变量,请打开控制台窗口,按照操作系统和开发环境的说明进行操作。 若要设置 COGNITIVE_SERVICE_KEY
环境变量,请将 your-key
替换为资源的其中一个密钥。
setx COGNITIVE_SERVICE_KEY your-key
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的控制台或需要读取环境变量的其他程序。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
若要为语音资源区域设置环境变量,请执行相同步骤。 将 COGNITIVE_SERVICE_REGION
设置为资源的区域。 例如 chinanorth
。
定价层和计费
定价层(以及你收到的账单金额)基于你使用身份验证信息发送的事务数。 每个定价层指定:
- 每秒允许的最大事务数 (TPS)。
- 在定价层中启用的服务功能。
- 预定义数目的事务的成本。 超过此金额将产生定价详细信息中为服务指定的额外费用。
获取资源的当前配额使用情况
使用 az cognitiveservices account list-usage 命令获取认知服务资源的使用情况。
az cognitiveservices account list-usage --name anomaly-detector-resource --resource-group cognitive-services-resource-group --subscription subscription-name
清理资源
如果想要清理并删除认知服务资源,可以删除资源或资源组。 删除资源组也会删除该组中包含的任何其他资源。
若要删除资源组及其关联的资源,请使用 az group delete 命令。
az group delete --name cognitive-services-resource-group
如果需要恢复已删除的资源,请参阅恢复已删除的认知服务资源。
另请参阅
- 有关如何安全地使用认知服务的说明,请参阅 对 Azure 认知服务的请求进行身份验证 。
- 若要查看认知服务支持的自然语言列表,请参阅 自然语言支持 。
- 请参阅 使用认知服务作为容器 以了解如何使用本地认知服务。