尝试通过 Arc 启用 Azure AI 视频索引器

已启用 Arc 的 Azure AI 视频索引器是一种已启用 Azure Arc 扩展的服务, 可在边缘设备上运行视频和音频分析和生成 AI 。 该解决方案旨在在已启用 Azure Arc 的 Kubernetes 上运行,并支持许多视频格式,包括 MP4 和其他常见格式。 它支持所有基本音频相关模型中的多种语言。 它假定一个视频索引器资源映射到一个扩展。

本文将指导你完成在当前基础结构上启用视频索引器作为 Arc 扩展所需的步骤。

先决条件

重要

若要成功部署 Azure AI 视频索引器扩展, 必须 提前批准 Azure 订阅 ID。 必须首先使用此 表单进行注册。

若要使用视频索引器扩展,需要具有面向外部的终结点,该终结点可以是 DNS 名称或 IP。 终结点应设置为安全传输协议(https:\\),并用作扩展 API 终结点。 视频索引器 Web 门户也使用它来与扩展通信。 建议使用入口控件来管理终结点。

注意

如果终结点不可公开访问,则只能从本地网络对扩展执行操作。

本快速入门的最低硬件要求

本快速入门旨在使你能够查看扩展的操作,因此已选择较小的资源大小,以便在测试环境中使用。 对于本快速入门,最低硬件要求如下:

  • CPU:16 个核心
  • 内存:16 GB

有关生产环境中的最低硬件要求,请参阅概述文章中的最低硬件要求

最低软件要求

组件 最低要求
操作系统 Ubuntu 22.04 LTS 或任何 Linux 兼容 OS
Kubernetes 1.26
Azure CLI 2.48.0

参数定义

参数  默认  说明
release-namespace  是 扩展安装到的 Kubernetes 命名空间
cluster-name Kubernetes Azure Arc 实例名称
resource-group Kubernetes Azure Arc 资源组名称
版本  是  视频索引器扩展版本,为最新保留空
speech.endpointUri 语音服务 URL 终结点(链接)
speech.secret  语音实例机密(链接)
translate.endpointUri  翻译服务 URL 终结点 (链接)
translate.secret  翻译服务机密(链接)
ocr.endpointUri OCR 服务 URL 终结点(链接)
ocr.secret OCR 服务机密(链接)
videoIndexer.accountId 视频索引器帐户 ID
videoIndexer.endpointUri  要用作扩展外部终结点的 Dns 名称或 IP。

准备部署

在部署期间,脚本会要求获取特定于环境的值。 准备好这些值,以便在脚本要求它们时复制并粘贴它们。

问题 详细信息
部署期间视频索引器帐户 ID 是什么? GUID 视频索引器帐户 ID
部署期间 Azure 订阅 ID 是什么? GUID Azure 订阅 ID
部署期间视频索引器资源组的名称是什么? string 视频索引器帐户的资源组名称
部署期间视频索引器帐户的名称是什么? string 视频索引器帐户名称

使用 Azure 门户进行部署

  1. 在 Azure 门户中,导航到 Azure Arc 连接的群集。
  2. 从菜单中选择“扩展>+ 添加>Azure AI 视频索引器 Arc 扩展”。
  3. 选择创建将显示“创建 AI 视频索引器扩展”屏幕。
  4. 在实例详细信息配置扩展:
    1. 选择扩展的 订阅资源组
    2. 选择 区域并连接 k8 群集。
    3. 输入扩展的名称
    4. 选择 扩展将连接到的 Azure AI 视频索引器帐户
    5. 输入要用作 API 终结点的 IP 或 DNS 名称的群集终结点
    6. 提供要用于 Kubernetes 分发支持的扩展的存储类。 例如,如果使用 AKS,则可以使用 azurefile-cli。 有关 AKS 支持的预定义存储类的详细信息,请参阅 AKS 中的存储类。 如果使用的是其他 Kubernetes 发行版,请参阅 Kubernetes 发行版文档,了解支持的预定义存储类或你可以提供自己的存储类的方式。
    7. 选择生成 AI 模型以应用 AI 功能,例如 Arc 启用的 VI 上的文本摘要。 详细了解生成 AI 模型
  5. 选择“查看 + 创建”,然后选择“创建” 。

手动部署

使用示例部署脚本手动部署扩展。 在开始之前,需要记住一些事项:

  • 存储类 - 视频索引器扩展要求存储卷必须在 Kubernetes 群集上可用。 存储类需要支持 ReadWriteMany。 请务必注意,索引过程是 IO 密集型的,因此存储卷的 IOPS(每秒输入/输出操作数)将对进程的持续时间产生重大影响。
  • 托管 AI 资源 - 将在Microsoft租户上创建一些 Azure AI 资源 (翻译器、听录和 OCR)。 这些资源仅适用于你的订阅,并且处于即用即付模式下。 如果订阅中已有已启用 AI 视频索引器 Arc 的资源,它将与现有的 Azure AI 资源相关联。

重要

如果使用语言模型,则必须 使用“workload:summarization”标记节点或节点池 。 标签是键值对,键为“workload”,值为“汇总”。 标有此标签的计算机必须至少有 32 个 CPU(用于生产),我们强烈建议它们是 Intel CPU(而不是 AMD)。

提示

按照文章 操作,了解如何将群集连接到 Azure Docs 上的 Azure Arc ,了解此过程的完整演练。

可选配置

扩展默认设置设置为处理常见工作负荷,对于特定情况,可以使用以下参数来配置资源分配:

参数 默认 说明
AI.nodeSelector - 为其分配 AI Pod(语音和翻译)的节点选择器标签
speech.resource.requests.cpu 1 语音 Pod 请求的核心数
speech.resource.requests.mem 2Gi 语音 Pod 的请求内存容量
speech.resource.limits.cpu 2 语音 Pod 的核心数限制。 必须是 > speech.resource.requests.cpu
speech.resource.limits.mem 3Gi 限制语音 Pod 的内存容量。 必须是 > speech.resource.requests.mem
translate.resource.requests.cpu 1 翻译 Pod 请求的核心数
translate.resource.requests.mem 16Gi 翻译 Pod 的请求内存容量
translate.resource.limits.cpu -- 转换 Pod 的核心数限制。 必须是 > translate.resource.requests.cpu
translate.resource.limits.mem -- 限制翻译 Pod 的内存容量。 必须是 > translate.resource.requests.mem
videoIndexer.webapi.resources.requests.cpu 0.5 Web API Pod 的请求核心数
videoIndexer.webapi.resources.requests.mem 4Gi Web API Pod 的请求内存容量
videoIndexer.webapi.resources.limits.cpu 1 Web API Pod 的核心数限制
videoIndexer.webapi.resources.limits.mem 6Gi 限制 Web API Pod 的内存容量
videoIndexer.webapi.resources.limits.mem 6Gi 限制 Web API Pod 的内存容量
storage.storageClass "" 要使用的存储类
storage.useExternalPvc false 确定是否使用外部 PVC。 如果为 true,则未安装 VideoIndexer PVC

使用 ARM 或 Bicep 进行部署

可以使用 ARM 模板Bicep 部署 Arc 启用的 Azure AI 视频索引器。 有关详细说明, 请参阅示例存储库自述文件