跳至主要内容

打造人工智能 "数字人"--展示如何吸引客户的注意力

Supermicro 为 2025 年 NRF 国际零售业展会于两周内打造的解决方案

在我们为2025年1月美国零售联合会(NRF)大型展会准备Supermicro展位设计和内容时,我们深知需要展示一个数字人,它能够解读展位访客的问题并提供详细的回复。更重要的是,我们知道该演示需要本地托管,以确保人与数字人之间的对话能够在与另一个人交谈时预期的正常延迟参数(50 – 100毫秒)内进行。

本文将深入探讨我们为何选择展示数字人的背景故事、我们所面临的挑战和在短短两周内克服这些挑战的过程,以及与我们的数字人互动的人们对我们的评价。

我们想讲的故事

鉴于我们决定在 NRF 大展上展示数字人机应用,我们希望在零售环境中挑选一个引人入胜的故事。我们还希望选择一个现实世界中的例子来展示数字人形的内在价值。我们决定展示的使用案例是一个数字人,它可以回答关于餐厅菜单选项的自然语言问题。

虽然这个用例看似简单,但却让我们有可能向可能来到我们展位的三个不同受众讲述一个故事。这些受众可以描述如下:

  • 餐厅经理/业主。我们对这个角色的目标是向他们展示一个可以轻松部署并为其业务提供价值的应用程序。积极的数字化人文体验将减少员工随时了解菜单选择和选项变化的难度。他们知道,员工流失的代价是昂贵的,因此,我们可以向他们展示,可以在节省企业成本的前提下,通过数字化人工智能来丰富客户的体验。
  • 技术专家。这个人会想知道我们是如何创造数字人的,我们遇到了哪些挑战,以及我们是如何克服这些挑战的。我们的目标是展示创造数字人的现实,以及为什么这是一个可复制的机会。
  • 消费者。这个人是餐厅服务的消费者,因此几乎所有看过演示的人都符合这个定义。这个人会根据数字人的易用性、回答的准确性以及最终的互动可信度来评判数字人。我们的目标是展示在日常生活中使用数字人是多么简单。

并非首次人工智能数字人类体验

我们为2025年NRF大型展会构建数字人演示的愿望并非Supermicro首次涉足数字人创建。此前,我们曾与两家ISV合作伙伴合作,创建了一个能够回答Supermicro产品组合推荐问题的数字人。事实上,这是我们在西班牙巴塞罗那举行的2024年世界移动通信大会上展示的两个数字人演示之一。

虽然第一次的体验是积极的,尤其是看到人们与我们的数字人进行实时互动,但这需要大量的协调工作,尤其是需要三方共同参与才能实现。这一次,我们决定自己完成所有工作。在研究了我们自己完成演示所花费的时间和精力后,我们确定,如果我们拥有资源,并且能够在组织内部迅速做出决策,那么这项工作肯定更容易管理。

创建 "数字人类 "需要做些什么?

我们首先召集了一支由内部人工智能专家和零售市场专家组成的团队,以决定我们想要展示的使用案例以及我们想要传达的信息(如上所述)。

接下来,我们将需求记录在案,并制定了开发、测试和排除原型故障的拟议时间表。我们还计划重复其中的一个或多个周期,以最终完成我们的 "数字人"。我们还需要确保留出足够的时间,将承载 LLM 和 "数字人 "应用程序的边缘服务器运到 NRF 活动现场,并在我们的展位上安装好。

一旦我们有了自己的要求和我们认为可以实现的时间表,我们就开始着手实现它。

我们如何打造 "数字人类

我们最早的决定之一就是利用我们与英伟达™(NVIDIA)的紧密关系,英伟达™是人工智能开发和实施工具的市场领导者。我们根据英伟达™(NVIDIA®)的 "数字人类蓝图"(Digital Human Blueprint)构建了我们的 "数字人类"。这加快了我们实现价值(在我们的案例中,是一个工作演示)的时间,同时实施了英伟达的最佳实践。此外,它还让我们能够专注于定制,使每个演示与众不同,例如头像特征和 LLM 定制。

利用英伟达™(NVIDIA®)的开发工具,我们可以轻松地使用检索增强生成(RAG)来定制解决方案的 LLM 部分。RAG 是一种将检索模型与生成模型相结合的人工智能技术。它能从数据库或文档集中检索相关信息,并利用这些信息生成更准确、更贴近上下文的回复。在我们的项目中,我们将 RAG 管道与餐厅的具体信息连接起来,以获得有关其餐饮选择、定价、营业时间和其他因素(如确定的每周特价)的最新详细信息。这确保了我们的数据是最新的,也确保了我们的数字员工经过了良好的 "培训"。

请阅读附录 A,了解构建数字人类的技术细节。

满足对边缘服务器的要求,实现数字人类

我们开发 "数字人 "的优势之一,是现有的边缘服务器组合,旨在支持边缘人工智能应用的要求。我们对将要托管/运行我们的 "数字人 "演示的服务器有以下要求:

  • 用于 LLM 和 RAG 的 GPU 处理流水线要求系统配备两台英伟达™(NVIDIA®)L40S。
  • 前端系统需要支持两台英伟达™(NVIDIA®)L40S 和 CPU 计算,以支持用户体验:将语音转换为文本(人机对话)、将文本转换为语音(机人对话)、动画和渲染头像,以及使头像的嘴唇与他们所说的话同步。
  • 每个系统都需要存储应用程序容器和数据。
  • 后端系统需要能够托管数据库,以支持 RAG 管道。
  • 典型的零售环境不会有全尺寸的机架空间。

为满足这些要求,我们选择了Supermicro SYS-221HE-FTNR系统,该系统属于我们的Hyper-E服务器系列。我们选择这款服务器的原因是:

  • 短深度系统经过优化,适用于没有数据中心机架的边缘部署环境
  • 双处理器系统能够容纳人工智能加速所需的 GPU 类型和数量

成功的结论

除了无数前来我们展位的访客,我们还接待了由NRF组织的五个参观团。这些团队通常由十余名或更多寻求沉浸式体验的展会参与者组成。Supermicro因其数字人体验演示而被选为本次导览的其中一站。

这次演示在参观者中引起了很大反响。许多人不仅看到了我们所展示的使用案例的价值,还开始集思广益,探讨如何根据他们的业务需求调整系统,从而引发了几次精彩的对话和随后的展后会议。


附录 A--构建 "数字化人类 "的技术细节

系统设置

数字人由两个系统组成:前端系统和后端系统。前端系统负责渲染数字人,后端系统负责运行 RAG 管道和托管 LLM 模型。

首先要获取英伟达™(NVIDIA®)API 密钥,以便下载模型和容器映像。您可以访问英伟达™(NVIDIA®)API 目录获取 API 密钥。应该有一个 使用此蓝图开发弹出窗口,但如果没有出现,请单击 使用此蓝图开发按钮。然后点击 生成 API 密钥按钮并保存此密钥。

前端系统设置

  1. 安装 Ubuntu 24.04,并确保所有软件包都是最新的。
  2. 安装 OpenSSH 服务器。
  3. 确保用户拥有 sudo 权限,可以在没有密码的情况下运行 sudo。

后台系统设置

  1. 安装 Ubuntu 24.04,并确保所有软件包都是最新的。
  2. 安装 OpenSSH 服务器。
  3. 确保用户拥有 sudo 权限,可以在没有密码的情况下运行 sudo。
  4. 为用户生成 SSH 密钥对,并将公钥复制到前端系统。这样,前端系统就可以在没有密码的情况下连接到后端系统。替换 your_email@example.com 您的真实电子邮件地址:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  5. 将公钥复制到前端系统,替换为 <user> 输入您的用户名和 <frontend_ip_address> 前端系统的实际 IP 地址:

    ssh-copy-id <user>@<frontend_ip_address>

配置前端系统

  1. 在后端系统上,通过克隆 ACE GitHub 仓库下载部署脚本。

    git clone https://github.com/NVIDIA/ACE.git
  2. 导航至 baremetal 一键脚本目录:

    cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
  3. 通过设置环境变量来配置部署脚本。用该设置的实际值替换myconfig.env中的信息。

    cp config-template-examples/llm-ov-3d-cotrun-1x-stream/my-config.env my-config.env nano my-config.env
    export OPENAI_API_KEY="<replace-with-openai-api-key>"
    export NGC_CLI_API_KEY="<replace-with-your-NVIDIA-personal-API-Key>"
    export NVIDIA_API_KEY="<replace-with-you-NVIDIA-Personal-API-Key>"
    export APP_HOST_IPV4_ADDR="<replace-with-the-ip-address-of-front-end-system>"
    export APP_HOST_SSH_USER="<replace-with-the-username-of-front-end-system>"
    export COTURN_HOST_IPV4_ADDR="<replace-with-the-ip-address-of-front-end-system>"
    export COTURN_HOST_SSH_USER="<replace-with-the-username-of-front-end-system>"
  4. 复制配置模板文件并编辑值,使其与此设置相匹配。

    cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
  5. 运行部署脚本配置前端系统。这需要一段时间才能完成,请耐心等待。

    源 my-config.env
    ./envbuild.sh install --component all --config-file ./my-config-template.yml
  6. 在前端系统上运行以下命令,确认前端系统已启动并运行:

    kubectl get pods -n app

提供 RAG 管道和 LLM 模型

在后端系统上,执行以下步骤配置 RAG 管道和 LLM 模型:

  1. 安装 Docker 和 Docker Compose。
  2. 安装最新的英伟达驱动程序。
  3. 安装并配置英伟达™(NVIDIA®)容器工具包。

  4. 使用Llama 3.1 8B 替换所使用的 NIM
  5. 在前端系统中,按照此处的说明定制数字人的 RAG 端点:
    https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization