的一部分,提供容器來自託管 GPU 加速推理微服務,以實現跨雲端、資料中心和工作站的預訓練和自訂 AI 模型。用於語音和翻譯的NIM 微服務現已推出。
新的語音和翻譯微服務利用NVIDIA Riva並提供自動語音辨識 (ASR)、神經機器翻譯 (NMT)和文字轉語音 (TTS)服務。
透過 NVIDIA 語音和翻譯 NIM 微服務將多語言語音功能整合到您的應用程式中,提供的不僅僅是高級 ASR、NMT 和 TTS,還可以增強全球用戶體驗和可訪問性。無論您是建立客戶服務機器人、互動式語音助理還是多語言內容平台,這些NIM 微服務都針對大規模高效能AI 推理進行了優化,並提供準確性和靈活性,使您的應用程式能夠以最少的開發工作進行語音支援。
在本文中,您將了解如何使用NVIDIA API 目錄中的互動式語音和翻譯模型介面直接透過瀏覽器執行基本推理任務,例如轉錄語音、翻譯文字和產生合成語音。您還將了解如何在您的基礎架構上運行這些靈活的微服務、透過 API 存取它們,以及如何將它們無縫整合到您的應用程式中。
透過語音和翻譯進行快速推理 NIM
API 目錄中提供了語音 NIM 微服務,您可以在其中使用互動式瀏覽器 UI 輕鬆執行推理任務。只需點擊按鈕,您就可以轉錄英語語音、在 30 多種語言之間翻譯文本,或將文本轉換為聽起來自然的語音。 API 目錄為探索語音和翻譯 NIM 微服務的基本功能提供了一個方便的起點。
這些工具的真正強大之處在於它們可以靈活地部署在您的資料所在的任何地方。您可以在任何相容的 NVIDIA GPU 上執行這些微服務,透過 API 存 取它們,並將 新西蘭電話號碼數據 它們 無縫整合到您的應用程式中。這種多功能性使您能夠在從本地工作站到雲端和資料中心基礎架構的環境中部署語音 NIM 微服務,從而提供根據您的需求量身定制的可擴展選項。
使用 NVIDIA Riva Python 用戶端執行語音和翻譯 NIM 微服務
若要快速測試語音 NIM 微服務,請從API 目錄導覽至 NIM 登入頁面,然後按一下嘗試 API 標籤。請注意,要使用這些命令,您需要 NVIDIA API 金鑰。如果您還沒有,只需按一下「試用 API」標籤下最右角的「取得 API 金鑰」按鈕即可。請繼續閱讀一些有關您可以做什麼的範例。
以流模式轉錄音頻
執行以下命令即時轉錄音訊檔案。
以下指令將英文句子「這是 Riva 文字翻譯的範例文字」翻譯為德文
生成合成語音
以下命令將文字「此音訊是從 NVIDIA 的文字轉語音模型產生的」轉換為語音,並將音訊輸出儲存為如果您在遠端系統上的終端機中工作且音訊輸出無法 最後的資料庫 輕鬆路由到本機麥克風,則此功能特別有用。
使用 Docker 在本地運行語音 NIM
如果您可以存取高級 NVIDIA 資料中心 GPU,則可以依照ASR、NMT和TTS NIM 登入頁面的 Docker 標籤下提供的說明在本機上執行語音 NIM 微服務。或者,您可以參 資料庫數據 閱更詳細的ASR、NMT和TTS入門文檔,其中解釋了每個docker run參數並指導您完成設定過程。
需要 NGC API 金鑰才能從 NVIDIA 容器註冊表 提取 NIM 微服務並在您自己的系統上運行它們。您在上一節中產生的 NVIDIA API 金鑰應該可以用於此目的。或者,導覽至ASR、NMT或TTS NIM 登入頁面,選擇 Docker 選項卡,然後按一下「取得 API 金鑰」。
將語音 NIM 微服務與 RAG 管道集成
本節介紹如何在系統上啟動 ASR 和 TTS NIM 微服務,並將它們連接到NVIDIA Generative AI Examples GitHub 儲存庫中的基本檢索增強生成 (RAG) 管道。此設定可以將文件上傳到知識庫,口頭詢問有關文件的問題,並以合成的、自然的聲音獲得答案。
設定環境
NGC_API_KEY在啟動 NIM 微服務之前,請直接在終端機中或透過環境來源檔案 將 NGC API 金鑰匯出到系統中。
您將把模型儲存在此目錄中並將其安裝到 NIM 容器中。確保不要跳過該chmod 777命令。否則,NIM Docker 容器將缺乏將模型檔案下載到該LOCAL_NIM_CACHE目錄的權限。
預設情況下,語音 NIM 微服務將模型檔案下載到只能在正在運行的容器內存取的位置。如果您打算一次只執行一項 Riva 服務,則應該不指定,在停止一個 NIM 容器和啟動另一個 NIM 容器之間LOCAL_NIM_CACHE清除目錄,或為每個語音 NIM 指定不同的目錄。這裡同樣用於 ASR 和 TTS,以便同時執行這兩種服務。
啟動 ASR NIM
使用以下腳本啟動 ASR NIM:
如果LOCAL_NIM_CACHE目錄為空(例如第一次執行此命令),可能需要 20-30 分鐘才能完成。在此期間,NIM 會將聲學(離線、針對延遲優化的串流傳輸以及針對吞吐量優化的串流)和標點符號模型下載
您可能需要變更該NIM_MANIFEST_PROFILE參數,具體取決於您的 GPU 類型。預設情況下,NIM 容器下載在任何足夠先進的 NVIDIA GPU 上執行的 ONNX 格式的模型檔案。但是,如果您在啟動 ASR 或 TTS NIM 時適當地變更此參數,您將下載已針對 NVIDIA H100、A100 或 L40 GPU 最佳化的 NVIDIA TensorRT 格式的模型檔案。這會導致在受支援的 GPU 之一上進行更快的推理。針對其他 GPU 類型的最佳化 NIM 支援即將推出。
您也可以在 ASR NIM 文件的入門頁面的支援的模型部分找到此表。請注意模型名稱和容器名稱之間的細微差別。與其他一些 NIM 微服務不同,語音和翻譯 NIM 微服務不支援list-model-profilesNIM_MANIFEST_PROFILE實用程序,這意味著您無法透過CLI存取有效值清單docker。
啟動 TTS NIM
您也可以在 TTS NIM 文件的入門頁面的支援的模型部分找到此表。請注意模型名稱和容器名稱之間的細微差別。
啟動 TTS NIM 應該比啟動 ASR NIM 快得多,因為組成模型總共佔用的空間要少得多。但是,由於我們LOCAL_NIM_CACHE對 ASR 和 TTS NIM使用相同的目錄,因此 TTS NIM 將同時啟動 ASR 和 TTS 模型。
將語音 NIM 微服務連接到 RAG 管道
RAG Web 應用程式是 NVIDIA Generative AI Examples GitHub 儲存庫的一部分。複製儲存庫後,您需要做的主要事情是編輯 。將PLAYGROUND_MODE服務設定rag-playground為speech並將以下environment變數新增至該服務:
如果您希望RIVA_API_URI在檔案中設定可覆寫的預設值docker-compose(採用如下所示的格式),請勿在預設值兩邊加上引號。如果這樣做,Pythonos模組會將它們包含在定義 Riva URI 的字串中,這將導致問題。
即使您在同一台電腦上執行 RAG 範例和語音 NIM 微服務,您也需要指定 IP 位址或永久主機名稱;localhost不會在這裡工作。
請參閱產生 AI 範例儲存庫中有關 將 ASR 和 TTS 功能新增至 RAG 管道的更詳細說明。
適當編輯檔案後docker-compose,在同一目錄中執行以下命令來啟動容器網路。