建立代理程式不僅只是「呼叫 API」—它需要整合擷取、語音、安全性和推理元件,讓它們如完整系統般運作。每一層都有各自的介面、延遲限制和整合挑戰,一旦超越簡單的原型,就會開始感受到這些限制。
在本教學中,您將瞭解如何使用最新用於語音、RAG、安全性及推理的 NVIDIA Nemotron 模型,建構具有護欄且以語音驅動的 RAG 代理程式。最後,將擁有具備下列能力的代理程式:
- 聆聽語音輸入
- 利用多模態 RAG 讓自身以您的資料為基礎
- 對長脈絡進行推理
- 在回應前套用護欄
- 以音訊回傳安全答案
您可以先在本機 GPU 上進行開發,然後在可擴充 NVIDIA 環境中部署相同的程式碼,無論是代管 GPU 服務、隨需雲端工作空間或可部署 API 執行階段,且不必變更工作流程。
影片 1,完整的端對端示範,從即時語音輸入到可靠、經過安全檢查的回應,以及如何在單一工作流程中部署代理程式。
先決條件
開始本教學前,您需要:
- 雲端代管推理模型的 NVIDIA API 金鑰(免費取得)
- 本機部署需要:
- 約 20GB 的磁碟空間
- 至少具有 24GB VRAM 的 NVIDIA GPU
- 具有 Bash 的作業系統 (Ubuntu、macOS 或 Windows Subsystem for Linux)
- Python 3.10+ 環境
- 一小時的空閒時間
您將建立

圖 1,利用 RAG 和安全護欄的端對端語音代理程式工作流程。
| 組件 | 模型 | 目的 |
|---|---|---|
| ASR | nemotron-speech-streaming-en-0.6b | 超低延遲語音輸入 |
| 嵌入 | llama-nemotron-embed-vl-1b-v2 | 對文字和影像進行語意搜尋 |
| 重新排序 | llama-nemotron-rerank-vl-1b-v2 | 將擷取準確度提高 6-7% |
| 安全性 | llama-3.1-nemotron-safety-guard-8b-v3 | 多語內容審核 |
| 視覺語言 | nemotron-nano-12b-v2-vl | 描述脈絡中的影像 |
| 推理 | nemotron-3-nano-30b-a3b | 使用 100 萬個 token 進行高效率推理 |
表 1,在本教學中用來建立語音代理程式的 Nemotron 模型概覽,包括 ASR、嵌入、重新排序、視覺語言、長脈絡推理和內容安全的模型。
步驟 1:設定環境
若要建立語音代理程式,必須同時執行多個 NVIDIA Nemotron 模型 (如上所示) 。語音、嵌入、重新排序和安全模型透過 Transformers 和 NVIDIA NeMo 在近端執行,推理模型則使用 NVIDIA API。
uv sync --all-extras |
配套 notebook 可處理所有環境配置。設定雲端代管推理模型的 NVIDIA API 金鑰,隨後即可開始。
步驟 2:利用多模態 RAG 為代理程式建立基礎
擷取是可靠代理程式的基礎。有了新的 Llama Nemotron 多模態嵌入和重新排序模型,即可嵌入文字、圖片 (包括掃描文件) 並將它們直接儲存在向量索引中,不需要額外的預處理。這會擷取推理模型將仰賴的基礎脈絡,確保代理程式參考真實企業資料,而非產生幻覺。

圖 2,具有離線索引和線上擷取的多模態 RAG 工作流程。
lama-nemotron-embed-vl-1b-v2 模型支援三種輸入模式:純文字、純影像及影像與文字組合,讓您為所有內容建立索引,從一般文件到投影片和技術圖表。在本教學中,我們嵌入結合影像與文字的範例。嵌入模型透過 Transformers 載入,並啟用快閃注意力:
from transformers import AutoModelmodel = AutoModel.from_pretrained( "nvidia/llama-nemotron-embed-vl-1b-v2", trust_remote_code=True, device_map="auto").eval()# Embed queries and documentsquery_embedding = model.encode_queries(["How does AI improve robotics?"])doc_embeddings = model.encode_documents(texts=documents) |
在初始擷取後,llama-nemotron-rerank-vl-1b-v2 模型會利用文字和影像重新排序結果,以確保擷取後的準確度更高。在基準測試中,新增重新排序可將準確度提高約 6 至 7%,這在重視精度的情況下是意義重大的提升。
步驟 3:使用 Nemotron 語音 ASR 增加即時語音
奠定基礎後,下一步是透過語音實現自然互動。

圖 3,利用 NVIDIA Nemotron 語音 ASR 建立的語音 ASR 工作流程。
Nemotron Speech ASR 模型是串流模型,以 Granary 資料集和各種公開語音語料庫中數萬小時的英文音訊進行訓練,針對超低延遲、即時解碼進行最佳化。開發人員將音訊串流至 ASR 服務,接收文字結果,並將輸出直接饋入 RAG 工作流程。
import nemo.collections.asr as nemo_asrmodel = nemo_asr.models.ASRModel.from_pretrained( "nvidia/nemotron-speech-streaming-en-0.6b")transcription = model.transcribe(["audio.wav"])[0] |
該模型具有可配置延遲設定,在最低延遲設定 80ms 下達到 8.53% 的平均 WER,在 1.1 秒延遲下提升至 7.16% WER,遠低於語音助理、現場工具和免動手工作流程所需的一秒閾值。
步驟 4:利用 Nemotron 內容安全與 PII 模型強化安全性
在不同地區以不同語言運作的 AI 代理程式不僅必須理解有害內容,還必須理解文化細微差異和脈絡相關意義。

圖 4,安全工作流程利用 NVIDIA Llama Nemotron Safety Guard 模型偵測安全或不安全內容。
llama-3.1-nemotron-safety-guard-8b-v3 模型以超過 20 種語言提供多語內容安全性,並在 23 種安全類別中進行即時 PII 偵測。
可透過 NVIDIA API 取得此模型,讓您輕鬆新增輸入和輸出過濾,而不必託管額外的基礎架構。它可區分根據語言、方言和文化脈絡而具有不同含義的相似詞組,這在處理嘈雜或非正式的即時 ASR 輸出時格外重要。
from langchain_nvidia_ai_endpoints import ChatNVIDIAsafety_guard = ChatNVIDIA(model="nvidia/llama-3.1-nemotron-safety-guard-8b-v3")result = safety_guard.invoke([ {"role": "user", "content": query}, {"role": "assistant", "content": response}]) |
步驟 5:使用 Nemotron 3 Nano 增加長脈絡推理
NVIDIA Nemotron 3 Nano 為代理程式提供推理能力,結合高效率專家混合模型 (mixture-of-experts,MoE) 和混合式 Mamba-Transformer 架構,以及 1M token 脈絡視窗。這可讓模型在單一推論要求中納入擷取文件、使用者紀錄和中間步驟。

圖 5,使用 NVIDIA Nemotron 3 Nano 的推理工作流程。
擷取文件包含影像時,代理程式先使用 Nemotron Nano VL 在脈絡中描述這些影像,然後將所有資訊傳遞至 Nemotron 3 Nano 以取得最終回應。該模型支援可選思考模式,以處理更複雜的推理任務:
completion = client.chat.completions.create( model="nvidia/nemotron-3-nano-30b-a3b", messages=[{"role": "user", "content": prompt}], extra_body={"chat_template_kwargs": {"enable_thinking": True}}) |
輸出在返回前會經過安全過濾器,將擷取擴增查詢轉變成具有完整推理能力的代理程式。
步驟 6:使用 LangGraph 整合所有內容
LangGraph 以有向圖的形式協調整個工作流程。每個節點處理一個階段—轉錄、擷取、影像描述、產生和安全檢查—在元件之間順利交接:
Voice Input → ASR → Retrieve → Rerank → Describe Images → Reason → Safety → Response |
代理程式狀態在每個節點流動,並隨著進展累積脈絡資訊。此結構可讓您輕鬆新增條件式邏輯、重試失敗的步驟,或根據內容類型進行分支。配套 notebook 中的完整實作說明如何定義每個節點,並將其連接至可部署的工作流程。
步驟 7:部署代理程式
一旦代理程式在機器上順利運作,即可將它部署在任何位置。需要分散式提取、嵌入產生或大規模批次向量索引時,請使用 NVIDIA DGX Spark。可對 Nemotron 模型進行最佳化、封裝並以 NVIDIA NIM (預建的 GPU 加速推論微服務集合,用於在 NVIDIA 基礎架構上部署 AI 模型) 形式執行,並且可直接從 Spark 呼叫模型以進行可擴充處理。如果需要隨需 GPU 工作區,讓 notebook 照常運作,不需要系統設定,並遠端存取 Spark 叢集以方便與團隊分享,請使用 NVIDIA Brev。
如果想瞭解如何將相同的部署模式應用在實體機器人助理,請參考使用 Nemotron 和 DGX Spark 建立的 Reachy Mini 個人助理教學。
兩種環境使用相同的程式碼路徑,因此只需要極少的變更,即可從實驗順利進入正式上線階段。
您建立的結果
您已建立 Nemotron 驅動代理程式的核心結構,具有四個核心元件:用於語音互動的語音 ASR、用於建立基礎的多模態 RAG、考量文化細微差異的多語內容安全過濾,以及用於長脈絡推理的 Nemotron 3 Nano。相同的程式碼可在本機開發環境和正式環境 GPU 叢集中運作,不需要變更。
| 組件 | 目的 |
|---|---|
| 多模態 RAG | 讓回應以真實企業資料為基礎 |
| 語音 ASR | 實現自然語音互動 |
| 安全性 | 識別不同語言和文化脈絡中的不安全內容 |
| 長脈絡 LLM | 透過推理產生準確的回應 |
表 2,用來建構 Nemotron 驅動語音代理程式的四個元件 – 多模態 RAG、語音 ASR、多語內容安全和長脈絡推理。
本教學的各部分與 notebook 中的部分直接對應,讓您逐步實作並測試工作流程。端對端順利運作後,相同的程式碼即可擴充至正式部署。
準備好開始建構了嗎?開啟配套 notebook 並遵循逐步指示:
如果想探索底層元件,以下是 Hugging Face 上提供的 Nemotron 模型集合,以及用來協調代理程式的工具:
訂閱 NVIDIA 新聞並在 LinkedIn、X、Discord 和 YouTube 上關注 NVIDIA AI,隨時瞭解 NVIDIA Nemotron 的最新資訊。
- 請造訪 Nemotron 開發者頁面,以取得開始使用最開放、最強大的推理模型所需的一切資源。
- 探索 Hugging Face 上新的開放 Nemotron 模型和資料集,以及 build.nvidia.com 上的 NIM 微服務和藍圖。
- 分享您的想法並對功能進行投票,共同塑造 Nemotron 的未來。
- 請關注即將舉行的 Nemotron 直播,並透過 Nemotron 開發者論壇和 Discord 上的 Nemotron 頻道與 NVIDIA 開發者社群交流
瀏覽影片教學和直播,充分利用 NVIDIA Nemotron。
