你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure AI 容器常见问题解答

一般问题

认知服务容器提供哪些功能?

Azure AI 容器允许开发人员使用 Azure 中提供的相同智能 API,但除此之外,还有容器化的益处。 某些容器是作为受限预览版提供的,可能需要创建一个应用程序才能访问它们。 其他容器公开以非封闭预览版或正式版的形式发布。 可在 Azure AI 服务中的容器支持一文中找到容器及其可用性的完整列表。 还可以在 Microsoft 容器注册表 (MCR) 查看容器。

Azure AI 服务云与容器之间是否有任何差异?

Azure AI 容器是 Azure AI 服务云的替代方案。 容器提供的功能与相应的云服务相同。 客户可在本地或 Azure 中部署容器。 容器与相应云服务的核心 AI 技术、定价层、API 密钥和 API 签名是相同的。 选择容器而不是其对应的云服务可以获得一些功能和优势

如何访问和使用封闭预览版容器?

以前,门控式预览版容器托管在 containerpreview.azurecr.io 存储库中。 从 2020 年 9 月 22 日开始,这些容器托管在 Microsoft Container Registry 上。 无需使用 docker login 命令即可下载这些容器。 如果 Azure 资源是使用已批准的 Azure 订阅 ID 创建的,则你能够运行门控式预览版容器。 如果在填写请求表单后 Azure 订阅未获批准,将无法运行该容器。

容器是否可用于所有 Azure AI 服务产品,预期接下来会提供哪些容器?

我们希望以容器形式提供更多的 Azure AI 服务产品。 请联系当地 Microsoft 客户经理以获取有关新容器版本和其他 Azure AI 服务公告的最新信息。

Azure AI 容器的服务级别协议 (SLA) 是什么?

重要

若要详细了解 Azure AI 服务的服务级别协议,请访问我们的 SLA 页

Azure AI 为云托管服务提供 SLA,可以在 SLA 页面上查看。

然而,容器中的 Azure AI 服务不提供 SLA,因为它是本地软件。 客户控制资源的 Azure AI 服务容器配置,因此 Microsoft 无法提供正式发布 (GA) 的 SLA。 客户可在本地任意部署容器并定义主机环境。

这些容器在主权云中是否可用?

标准 Azure AI 容器可用于主权云。 容器可以运行,并且在获得授权后可以连接到这些云中的计费终结点,但必需从公有云容器注册表拉取容器映像。 依赖于运行时下载的语言模型(如翻译器或自定义语音转文本)的容器也将配置为从公共终结点拉取模型。

主权云中目前不支持购买断开连接的容器。 公有云中购买的断开连接的容器以及所有依赖项都可以转移到主权云中并在主权云基础结构上运行。

版本控制

如何将容器更新到最新版本?

客户可以选择何时更新他们部署的容器。 容器标有标准的 Docker 标记(例如 latest),表示使用的是最新版本。 我们建议客户在容器发布后拉取其最新版本。 有关如何在映像更新时收到通知的详细信息,请参阅 Azure 容器注册表 Webhook

容器许可证文件用作密钥,来解密每个容器映像中的某些文件。 如果这些加密文件恰好在新容器映像中更新,则你拥有的许可证文件可能无法启动容器,即使它与旧版容器映像一起使用也是如此。 若要避免发生此问题,我们建议在从 mcr.microsoft.com 拉取新映像版本后,从 Azure 门户中提供的容器的资源终结点下载新的许可证文件。

若要下载新的许可证文件,可以将 DownloadLicense=True 与许可证装载、API 密钥和计费终结点一起添加到 Docker 运行命令。 有关详细说明,请参阅容器的文档

支持哪些版本?

通常,仅支持容器的当前版本。 我们建议客户使用最新版本,以获得最新的补丁程序和技术。

如何对更新进行版本控制?

主版本更改表示 API 签名发生了中断性变更。 我们预计,此指示通常将与相应 Azure AI 服务云产品的主要版本更改相符。 次版本更改表示发布了不会导致 API 签名发生中断性变更的 bug 修复、模型更新或新功能。

技术问题

如何诊断部署环境中的潜在错误?

如果在运行 Azure AI 服务容器时遇到问题,可以尝试使用 Microsoft 诊断容器。 使用此容器可以诊断部署环境中可能阻止 Azure AI 容器按预期运行的常见错误。

若要获取容器,请使用以下 docker pull 命令:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

然后运行容器。 将 {ENDPOINT_URI} 替换为你的终结点,将 {API_KEY} 替换为你的资源的密钥:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

容器会测试与计费终结点之间的网络连接性。

什么情况下应该在 IoT 设备上运行 Azure AI 容器?

无论你是没有可靠的 Internet 连接、想要节省带宽成本、有低延迟要求,还是要处理需要现场分析的敏感数据,具有 Azure AI 容器的 Azure IoT Edge 都使你能够与云保持一致。

这些容器是否与 OpenShift 兼容?

我们不使用 OpenShift 测试容器,但一般情况下,Azure AI 容器应该可以在支持 Docker 映像的任何平台上运行。 如果你使用 OpenShift,建议以 root-user 身份运行容器。

如何提供产品反馈和功能建议?

我们建议客户公开表达其关注的问题,并在可能有问题重叠时投票赞同其他人提出的相同问题。 可以使用反馈工具提供产品反馈和功能建议。

Azure AI 容器返回哪些状态消息和错误?

状态消息和错误如下:

状态 说明
Valid 你的 API 密钥有效。 无需采取任何措施。
Invalid API 密钥无效。 必须提供有效的 API 密钥才能运行容器。 在 Azure 门户中你的 Azure AI 服务资源的“密钥和终结点”部分找到你的 API 密钥和服务区域。
Mismatch 已经为不同类型的 Azure AI 服务资源提供了 API 密钥或终结点。 在 Azure 门户中你的 Azure AI 服务资源的“密钥和终结点”部分找到你的 API 密钥和服务区域。
CouldNotConnect 容器无法连接到计费终结点。 检查 Retry-After 值并等待此时间段结束,然后再发出更多请求。
OutOfQuota API 密钥已超出配额。 你可以升级定价层,也可以等待有更多配额可用。 在 Azure 门户中 Azure AI 服务资源的“定价层”部分找到使用的层。
BillingEndpointBusy 计费终结点当前正忙。 检查 Retry-After 值并等待此时间段结束,然后再发出更多请求。
ContainerUseUnauthorized 提供的 API 密钥未获授权,不可用于此容器。 你可能正在使用受限的容器,因此请务必通过提交在线请求来批准你的 Azure 订阅 ID。
[ERROR] Failed to download: context deadline exceeded 对服务器的下载模型文件请求已超时。请确保 Internet 连接快速稳定,可在一小时内下载所有必需的文件。 模型下载适用于文本翻译和一些语音服务容器。
The provided license path was not found. Please ensure a volume is mounted and a directory exists at the location specified by Mounts:License 仅限断开连接的容器。 在 docker run 命令中指定的位置,没有本地存储的许可证文件。 可能未正确装载许可证卷。 请务必检查本地文件系统,并在 docker run 命令中使用 -v 参数为许可证文件提供所需本地存储位置的有效文件路径。
Unknown 服务器当前无法处理帐单请求。

如何获取支持?

客户支持渠道与基于 Azure AI 服务云的 API 相同。 所有 Azure AI 容器都包括日志记录功能,可帮助我们和社区为客户提供支持。 下面是更多支持选项:

如何计费?

类似于 Azure AI 服务云,客户按消耗量付费。 容器需配置为向 Azure 发送计量数据,因此会相应地收取事务费。 跨托管服务和本地服务使用的资源将按分层定价计入到单个配额,并且会同时计入到这两个服务的用量。 有关详细信息,请参阅你所使用的容器的计费部分。

重要

如果未连接到 Azure 进行计量,则无法授权并运行 Azure AI 容器。 客户需要让容器始终向计量服务传送账单信息。 Azure AI 容器不会将客户数据发送给 Microsoft。

下面是容器为进行计量而传送的信息示例:

usageRequestBody": {
  "id": "1234abcd-1234-56ab-ab12-1234abcd",
  "containerType": "<container-type>",
  "containerVersion": "<container-version>",
  "containerId": "<contianer-id>",
  "meter": {
    "name": "<meter-name>",
    "quantity": 0.0
  },
  "requestTime": 12345687890,
  "apiType": "<api-type>"
},

容器的当前支持担保是什么?

Microsoft 对企业软件的标准保修适用于正式宣布推出正式版 (GA) 的所有容器。 预览版不提供任何担保。

断开 Internet 连接时,Azure AI 容器会发生什么情况?

如果未连接到 Azure 进行计量,则无法授权并运行 Azure AI 容器。 客户需使容器始终能够与计量服务通信。

在未连接到 Azure 的情况下,容器可以运行多长时间?

如果未连接到 Azure 进行计量,则无法授权并运行 Azure AI 容器。 客户需使容器始终能够与计量服务通信。

运行这些容器需要哪些硬件?

Azure AI 容器是基于 x64 的容器,可运行任何兼容的 Linux 节点、VM,以及支持 x64 Linux Docker 容器的边缘设备。 这些设备都需要 CPU 处理器。 有关详细信息,请参阅所用容器的容器要求和建议部分。

Windows 当前是否支持这些容器?

Azure AI 容器属于 Linux 容器,但 Windows 对 Linux 容器提供一定的支持。 有关 Windows 上的 Linux 容器的详细信息,请参阅 Docker 文档

Azure AI 容器与 AWS 和 Google 产品/服务有何不同?

Microsoft 是第一家将预先训练的 AI 模型移入容器并采用简单的按事务计费的云提供商,在体验中客户如同使用云服务一样。 Microsoft 相信混合云能够为客户提供更多的选择。

容器已获得哪些合规认证?

Azure AI 容器未获得任何合规性认证。

可在哪些区域使用 Azure AI 容器?

容器可在任何区域的任何位置运行,但需要一个密钥,并需要回调 Azure 以进行计量。 云服务支持的所有区域也受容器计量调用的支持。