打造AI ——展示如何吸引客戶的注意力
在籌備2025年1月全美零售聯合會(NRF)年度Supermicro 與內容時,我們明確希望展示一款能解讀訪客提問並提供詳盡回應的數位人類。 關鍵在於,我們必須確保演示採用本地託管模式,使真人與數位人之間的對話能在符合人類正常對話延遲參數(50-100毫秒)的條件下進行。
本文深入探討我們選擇展示數位人類的背後故事、在短短兩週內所面臨並克服的挑戰,以及與我們的數位人類互動者所給予的反饋。
我們想講述的故事
鑒於我們決定在NRF零售商大會上展示數位人應用程式,我們希望在零售場景中挑選一個引人入勝的故事。同時,我們也想選擇一個真實案例,以彰顯數位人與生俱來的價值。最終我們決定展示的應用場景是:在餐廳中,數位人能以自然語言回應顧客關於菜單選項的提問。
雖然這個應用案例看似簡單,卻讓我們有機會向可能造訪展位的三大受眾群體講述故事。這些受眾群體可描述如下:
- 餐廳經理/經營者。我們為此角色設定的目標,是向其展示一款能輕鬆部署且為其事業創造價值的應用程式。正向的數位人體驗將降低員工掌握菜單選項變動的難度。此類經營者深知員工流動率高將造成高昂成本,而我們能證明:導入數位人不僅能提升顧客體驗,其成本效益更能為企業節省開支。
- 一位技術專家。此人會想了解我們如何創造數位人、面臨哪些挑戰以及如何克服這些難關。我們的目標是呈現創造數位人的真實過程,並闡明為何這是可複製的契機。
- 一位消費者。此人將是餐廳服務的使用者,因此幾乎所有觀看示範的人都符合此定義。此人將從使用便利性、回答精準度,以及最終互動的可信度來評斷數位人。我們的目標是展示在日常生活中運用數位人有多麼簡單。
這並非我們首次接觸AI 人
我們為2025年NRF大型展覽打造數位人示範的構想,Supermicro首次嘗試創建數位人。此前我們已與兩家獨立軟體供應商合作,成功開發出能Supermicro產品組合提供推薦解答的數位人。事實上,這正是我們在2024年西班牙巴塞隆納世界行動通訊大會上展示的兩項數位人演示之一。
雖然首次體驗相當成功,尤其看到人們與我們的數位人類進行即時互動,但這需要大量協調工作,特別是涉及三方協力才能實現。這次我們決定全權自主完成所有工作。在審視自主建構示範所需耗費的時間與精力後,我們確信當組織內部具備資源與快速決策能力時,確實能更有效地掌控專案進度。
我們需要做些什麼才能創造出我們的數位人類?
我們首先召集內部AI 與零售市場專家組成團隊,共同決定要展示哪些應用場景,以及如前所述希望傳達哪些訊息。
接著,我們記錄了需求並擬定開發、測試及除錯原型的預定時程。同時規劃重複執行一至多個開發週期,以完善數位人偶的最終版本。此外,我們必須預留充足時間將搭載LLM 數位人偶應用的邊緣伺服器運送至NRF活動現場,並在展位完成系統部署。
我們在確認需求並擬定可行的時程表後,便立即著手推動,全力以赴實現目標。
我們用來打造數位人類的技術
我們最早的決策之一,便是善用與NVIDIA的緊密合作關係——該公司是AI 與實施工具的市場領導者。我們依據NVIDIA的數位人藍圖建構數位人模型,此舉不僅加速了價值實現週期(以我們的案例而言,即打造出可運作的展示系統),同時也落實了NVIDIA的最佳實踐方案。更重要的是,這使我們能專注於各展示案例的差異化客製化環節,例如虛擬人偶特徵設計與LLM 。
NVIDIA的開發工具讓我們能輕鬆運用檢索增強生成(RAG)技術,自訂解決方案中的LLM 。RAG是結合檢索模型與生成模型AI ,能從資料庫或文件集檢索相關資訊,藉此生成更精準且符合上下文的回應。 在我們的專案中,將RAG管道與餐廳專屬資訊串接,即時獲取最新餐點飲品選項、價格、營業時間等細節,以及每週特惠等特定要素。此舉確保數據時刻更新,使數位人獲得完善的「訓練」。
請參閱附錄A,了解關於構建我們的數位人類的技術細節。
滿足邊緣伺服器啟用數位人所需的條件
在開發數位人時,我們擁有的優勢之一是現有的邊緣伺服器組合,這些伺服器專為滿足邊緣AI 需求而設計。針對將承載/運行數位人演示的伺服器,我們提出以下要求:
- 為大型語言模型LLM 知識檢索與生成(RAG)建置的GPU處理管線,需配備兩台NVIDIA L40S的系統。
- 前端系統需支援兩台NVIDIACPU 實現使用者體驗:語音轉文字(人機轉換)、文字轉語音(機轉人)、虛擬人偶動畫渲染,以及同步人偶嘴型與發聲內容。
- 每個系統都需要儲存應用程式容器和資料。
- 後端系統需要能夠託管資料庫,以支援 RAG 管道。
- 典型的零售環境不會提供全尺寸的貨架空間。
為滿足這些需求,我們Supermicro ,該系統隸屬於Hyper家族。我們特別選擇此伺服器,是因為它具備以下特點:
- 專為邊緣部署優化的短深度系統,適用於無法使用資料中心機架的環境
- 雙處理器系統,可容納所需類型與數量之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/工作流程/tokkio/4.1/腳本/一鍵式/裸機
透過設定環境變數來配置部署腳本。請將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>"
複製設定範本檔案,並編輯其中的數值以符合此設定。
cpllm.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
