试用已启用 Arc 的 Azure AI 视频索引器(预览版)
已启用 Arc 的 Azure AI 视频索引器是一种已启用 Azure Arc 扩展的服务, 可在边缘设备上运行视频和音频分析和生成 AI 。 该解决方案旨在在已启用 Azure Arc 的 Kubernetes 上运行,并支持许多视频格式,包括 MP4 和其他常见格式。 它支持所有基本音频相关模型中的多种语言。 它假定一个视频索引器资源映射到一个扩展。
本文将指导你完成在当前基础结构上启用视频索引器作为 Arc 扩展所需的步骤。
先决条件
重要
若要成功部署 Azure AI 视频索引器扩展, 必须 提前批准 Azure 订阅 ID。 必须首先使用此 表单进行注册。
- 创建有权创建 Azure 资源的 Azure 订阅。
- 创建 Azure AI 视频索引器帐户。 使用“创建视频索引器”帐户教程。
- 创建 已启用 Arc 的 Kubernetes 群集。
- 下载示例 视频。
若要使用视频索引器扩展,需要具有面向外部的终结点,该终结点可以是 DNS 名称或 IP。 终结点应设置为安全传输协议(https:\\
),并用作扩展 API 终结点。 视频索引器 Web 门户也使用它来与扩展通信。 建议使用入口控件来管理终结点。
注意
如果终结点不可公开访问,则只能从本地网络对扩展执行操作。
本快速入门的最低硬件要求
本快速入门旨在使你能够查看扩展的操作,因此已选择较小的资源大小,以便在测试环境中使用。 对于本快速入门,最低硬件要求如下:
- CPU:16 个核心
- 内存:16 GB
节点中的 CPU 应支持 AVX2。 它受大多数较新的 CPU 支持,但在某些较旧的虚拟化环境中可能不受支持。
有关生产环境中的最低硬件要求,请参阅概述文章中的最低硬件要求。
最低软件要求
组件 | 最低要求 |
---|---|
操作系统 | 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 门户进行部署
- 在 Azure 门户中,导航到 Azure Arc 连接的群集。
- 从菜单中选择“扩展>+ 添加>Azure AI 视频索引器 Arc 扩展”。
- 选择创建。 将显示“创建 AI 视频索引器扩展”屏幕。
- 在实例详细信息中配置扩展:
- 选择扩展的 订阅 和 资源组 。
- 选择 区域并连接 k8 群集。
- 输入扩展的名称。
- 选择 扩展将连接到的 Azure AI 视频索引器帐户 。
- 输入要用作 API 终结点的 IP 或 DNS 名称的群集终结点。
- 提供要用于 Kubernetes 分发支持的扩展的存储类。 例如,如果使用 AKS,则可以使用
azurefile-cli
。 有关 AKS 支持的预定义存储类的详细信息,请参阅 AKS 中的存储类。 如果使用的是其他 Kubernetes 发行版,请参阅 Kubernetes 发行版文档,了解支持的预定义存储类或你可以提供自己的存储类的方式。 - 选择生成 AI 模型以应用 AI 功能,例如 Arc 启用的 VI 上的文本摘要。 详细了解生成 AI 模型。
- 选择“查看 + 创建”,然后选择“创建” 。
手动部署
使用示例部署脚本手动部署扩展。 在开始之前,需要记住一些事项:
- 存储类 - 视频索引器扩展要求存储卷必须在 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 视频索引器。 有关详细说明, 请参阅示例存储库自述文件 。