建造一個AI 數位人——展示如何吸引客戶注意力
當我們準備好時Supermicro 在為2025年1月舉行的全美零售聯合會(NRF)大型展會設計展位和內容時,我們決定要展示一個能夠解讀參觀者提問並提供詳細解答的數位人。更重要的是,我們知道這個演示必須部署在本地,以確保人與數位人之間的對話延遲在正常範圍內(50-100毫秒),與人與人之間正常對話的延遲一致。
本文深入探討了我們選擇展示數位人背後的故事,我們在短短 2 週內面臨的挑戰以及我們如何克服這些挑戰,以及與我們的數位人互動的人們的回饋。
我們想講述的故事
鑑於我們決定在NRF零售業大型展會上展示數位人應用,我們希望選擇一個引人入勝的零售案例。我們也希望選擇一個能夠展現數位人內在價值的真實案例。我們最終決定展示的應用案例是一個能夠回答顧客在餐廳提出的關於菜單選項的自然語言問題的數字人。
雖然這個用例看似簡單,但它讓我們有機會向三類不同的受眾講述故事,他們都可能蒞臨我們的展位。這三類受眾可以描述如下:
- 一位餐廳經理/老闆。我們針對這個用戶畫像的目標是向他展示一款易於部署且能為其業務帶來價值的應用程式。正向的數位化人體驗可以降低員工及時了解菜單選項和菜色變更的難度。這位用戶深知員工流失成本高昂,因此,我們向他展示如何以經濟實惠的價格打造一個能夠提升顧客體驗的數位化人,從而為企業節省開支。
- 一位技術專家。這個人會想了解我們是如何創造數位人的,我們遇到了哪些挑戰,又是如何克服的。我們的目標是展現創造數位人的真實過程,以及為什麼這是一個可以複製的機會。
- 消費者。這裡指的是餐飲服務的消費者,因此幾乎所有觀看演示的人都符合這個定義。這位消費者會根據數位人的易用性、回答的準確性以及最終互動的真實性來評判它。我們的目標是展示在日常生活中使用數位人是多麼簡單。
這並非我們第一次AI 數位人體驗
我們原本希望為2025年NRF大型展會打造數位人演示,但這並非我們最初的設想。 Supermicro這是我們首次嘗試創建數位人。在此之前,我們曾與兩家獨立軟體開發商 (ISV) 合作夥伴合作,創建了一個能夠回答產品推薦問題的數位人。 Supermicro的產品組合。事實上,這是我們在2024年西班牙巴塞隆納世界行動通訊大會上展示的兩款數位人演示產品之一。
雖然第一次嘗試非常成功,尤其是看到人們與我們的數位人進行即時互動,但那次合作需要大量的協調工作,特別是涉及三方。這一次,我們決定完全自主完成所有工作。在評估了自行建立簡報所需的時間和精力後,我們發現,如果擁有資源和組織內部快速決策的能力,整個過程無疑會更有效率且方便。
我們需要做些什麼來創建我們的數位人
我們首先組建了一個內部團隊。 AI 專家和我們的零售市場專家決定我們要展示哪些用例以及我們要傳達哪些訊息,如上所述。
接下來,我們記錄了需求,並制定了原型開發、測試和故障排除的建議時間表。我們還計劃重複一個或多個週期,以最終確定我們的數位人。此外,我們還需要確保預留足夠的時間來交付託管該原型的邊緣伺服器。 LLM 並將數位人應用程式帶到 NRF 活動,並在我們的展位上進行設定。
一旦確定了需求和我們認為可以實現的時間表,我們就立即著手實施。
我們用什麼來建構我們的數位人
我們最早做出的決定之一就是利用我們與市場領導者英偉達的牢固關係。 AI 開發和實施工具。我們基於 NVIDIA 的數位人藍圖建立了我們的數位人。這加快了我們實現價值(在我們的案例中,即一個可運行的演示)的速度,同時實施了 NVIDIA 的最佳實踐。此外,它還使我們能夠專注於區分每個演示的客製化元素,例如虛擬化身的特徵和LLM 客製化。
NVIDIA 的開發工具使我們能夠輕鬆地進行自訂LLM 解決方案的一部分採用了檢索增強生成(RAG)。 RAG 是一種AI 這項技術結合了檢索模型和生成模型。它從資料庫或文件集中檢索相關訊息,並利用這些資訊產生更準確、更符合情境的回應。在我們的項目中,我們將 RAG 流程連接到餐廳的特定信息,以獲取其最新的餐飲選擇、價格、營業時間以及其他信息,例如每週特價菜餚。這確保了我們的數據始終保持最新,並且我們的數位人也得到了充分的「訓練」。
請閱讀附錄 A,以了解有關建構我們數位人的技術細節。
滿足邊緣伺服器實現數位人的要求
我們在開發數位人時擁有的優勢之一是,我們擁有現成的邊緣伺服器產品組合,這些伺服器旨在支援邊緣運算的需求。 AI 應用場景。我們對用於託管/運行數位人演示的伺服器有以下要求:
- GPU處理管線LLM RAG 需要配備兩塊 NVIDIA L40S 顯示卡的系統。
- 前端系統需要支援兩台NVIDIA L40S顯示卡。 CPU 透過運算來支援使用者體驗:將語音轉換為文字(人到機器),將文字轉換為語音(機器到人),為虛擬形象添加動畫和渲染效果,以及將虛擬形象的嘴唇與他們所說的話同步。
- 每個系統都需要儲存應用程式容器和資料。
- 後端系統需要能夠託管資料庫以支援 RAG 管線。
- 典型的零售環境不會有全尺寸的貨架空間。
為了滿足這些要求,我們選擇了Supermicro SYS-221HE-FTNR 系統是我們的一部分Hyper -E 系列伺服器。我們選擇這款伺服器的原因在於:
- 適用於資料中心機架不可用的邊緣部署的短深度系統
- 能夠容納所需類型和數量的GPU的雙處理器系統AI 加速度
圓滿結束
除了無數前來參觀我們展位的訪客外,我們還接待了由NRF組織的五個旅行團。這些旅行團通常由十幾名或更多希望獲得沉浸式體驗的展會觀眾組成。 Supermicro 因為我們展示了數位人體驗,所以被選為本次導覽遊的網站。
演示活動引起了參觀者的強烈反響。許多人不僅看到了我們展示的應用案例的價值,還開始思考如何將該系統應用於自身的業務需求,這促成了許多富有成效的討論,並在展會結束後進行了後續的交流會議。
附錄 A – 建構我們數位人的技術細節
系統設定
數位人由兩個系統組成:前端系統和後端系統。前端系統負責渲染數位人,而後端系統負責運行 RAG 管線並託管… LLM 模型。
首先,您需要取得 NVIDIA API 金鑰才能下載模型和容器映像。您可以存取NVIDIA API 目錄以取得 API 金鑰。此時應該會彈出“使用此藍圖進行開發”窗口,如果沒有彈出,請點擊“使用此藍圖進行開發”按鈕。然後,點擊「產生 API 金鑰」按鈕並儲存金鑰。
前端系統設定
- 安裝Ubuntu 24.04 並確保所有軟體包都是最新版本。
- 安裝 OpenSSH 伺服器。
- 確保使用者擁有 sudo 權限,並且可以無需密碼執行 sudo 命令。
後端系統設定
- 安裝Ubuntu 24.04 並確保所有軟體包都是最新版本。
- 安裝 OpenSSH 伺服器。
- 確保使用者擁有 sudo 權限,並且可以無需密碼執行 sudo 命令。
為使用者產生 SSH 金鑰對,並將公鑰複製到前端系統。這將允許前端系統無需密碼即可連接到後端系統。
your_email@example.com使用您的真實電子郵件地址:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
將公鑰複製到前端系統,替換
<user>使用您的用戶名和<frontend_ip_address>使用前端系統的實際 IP 位址:ssh-copy-id <user>@<frontend_ip_address>
提供前端系統
在後端系統中,透過複製 ACE GitHub 儲存庫下載部署腳本。
git clone https://github.com/NVIDIA/ACE.git
導覽至裸機一鍵腳本目錄:
cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
透過設定環境變數來配置部署腳本。將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>"
複製設定檔模板,並編輯其中的值以符合此設定。
cp config-template-examples/ llm -ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
執行部署腳本以配置前端系統。此過程需要一些時間,請耐心等待。
執行 `source my-config.env ./envbuild.sh install --component all --config-file ./my-config-template.yml`
透過在前端系統上執行以下命令,驗證前端系統是否已啟動並運行:
kubectl get pods -n app
提供 RAG 管道和LLM 模型
在後端系統中,執行下列步驟來設定 RAG 管道: LLM 型號:
- 安裝 Docker 和 Docker Compose。
- 安裝最新的NVIDIA驅動程式。
- 安裝並設定 NVIDIA 容器工具包。
- 請依照此處的說明AI使用 Docker Compose 進行部署。
將使用的 NIM 更換為 Llama 3.1 8B 型號。 - 在前端系統中,請按照此處的說明自訂數位人的 RAG 端點:
https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization
