視覺數據(從圖像到 PDF 再到流式視頻)呈指數級增長,這使得人工審查和分析幾乎不可能實現。組織正在努力將這些數據大規模轉換為切實可行的見解,從而導致錯失機會并增加風險。
為了應對這一挑戰,視覺語言模型(VLMs)正在成為強大的工具,將圖像和視頻的視覺感知與基于文本的推理相結合。與僅處理文本的 傳統大語言模型 (LLMs)不同,VLMs 使您能夠構建 視覺 AI 智能體 ,以便理解和處理復雜的多模態數據,并對其采取行動,從而實現實時決策和自動化。
想象一下,擁有一個智能 AI 智能體,它可以分析遠程攝像頭鏡頭以檢測野火的早期跡象,或者掃描業務文檔以提取隱藏在圖表、表格和圖像中的關鍵信息——這一切都可以自動完成。
借助 NVIDIA NIM 微服務 ,構建這些先進的視覺 AI 智能體比以往更容易、更高效。NIM 微服務提供靈活的自定義、簡化的 API 集成和流暢的部署,使您能夠根據自己的獨特業務需求打造動態智能體。
在本文中,我們將指導您使用 NVIDIA NIM 微服務設計和構建智能視覺 AI 智能體。我們將介紹可用的不同類型的視覺 AI 模型,分享四個示例應用(流式視頻警報、結構化文本提取、多模態搜索和 few-shot 分類),并提供 Jupyter notebook 幫助您入門。有關將這些模型變為現實的更多信息,請參閱 /NVIDIA/metropolis-nim-workflows GitHub repo。
視覺 AI 模型的類型?
要構建強大的視覺 AI 智能體,您可以使用以下核心視覺模型類型:
- VLM
- 嵌入模型
- 計算機視覺 (CV) 模型
這些模型是開發智能視覺 AI 智能體的必要基礎模塊。雖然 VLM 是每個智能體的核心引擎,但 CV 和嵌入模型可以通過提高物體檢測等任務的準確性或解析復雜文檔來增強其功能。
在本文中,我們使用視覺 NIM 微服務來訪問這些模型。每個視覺 NIM 微服務都可以通過簡單的 REST API 輕松集成到您的工作流程中,從而對文本、圖像和視頻進行高效的模型推理。首先,您可以在 build.nvidia.com, 上試用托管的預覽 API,而無需本地 GPU。

視覺語言模型?
VLM 通過添加視覺功能為語言模型帶來了新的維度,使其成為多模態模型。這些模型可以處理圖像、視頻和文本,使其能夠解釋視覺數據并生成基于文本的輸出。VLM 用途廣泛,可以針對特定用例進行微調,也可以根據視覺輸入為問答等任務提供提示。
NVIDIA 及其合作伙伴提供多個 VLM 作為 NIM 微服務,每個 VLM 在大小、延遲和功能方面都各不相同(表 1)。
公司 | 模型 | 尺寸 | 說明 |
NVIDIA | VILA | 400 億 | 基于 SigLIP 和 Yi 構建的強大通用模型,適用于幾乎所有的用例。 |
NVIDIA | Neva | 220 億 | 結合了 NVGPT 和 CLIP 的中型模型,可提供更大的多模態模型的功能。 |
元數據 | Llama 3.2 | 90 億/11 億 | 首款支持視覺的 Llama 模型,有兩種尺寸,擅長處理一系列視覺語言任務,并支持更高分辨率的輸入。 |
微軟 | Phi-3.5 視覺 | 42 億 | 這是一個小型、快速的模型,擅長 OCR,并且能夠處理多張圖像。 |
微軟 | Florence-2 | 70 億 | 能夠使用簡單的文本提示進行字幕、物體檢測和分割的多任務模型。 |
嵌入模型?
嵌入模型將輸入數據(例如圖像或文本)轉換為特征豐富的密集向量(稱為嵌入)。這些嵌入封裝了數據中的基本屬性和關系,從而完成相似性搜索或分類等任務。嵌入通常存儲在 向量數據庫 中,GPU 加速搜索可以快速檢索相關數據。
嵌入模型在創建智能體方面發揮著至關重要的作用。例如,它們支持 檢索增強生成 (RAG)工作流,使智能體能夠從不同數據源提取相關信息,并通過上下文學習提高準確性。
公司 | 模型 | 說明 | 案例 |
NVIDIA | NV-CLIP | 生成文本和圖像嵌入的多模態基礎模型 | 多模態搜索、零樣本分類 |
NVIDIA | NV-DINOv2 | 視覺基礎模型生成高分辨率圖像嵌 | 相似性搜索、Few-shot 分類 |
計算機視覺模型?
CV 模型專注于圖像分類、物體檢測和光學字符識別(OCR)等專業任務。這些模型可以通過添加詳細的元數據來增強 VLM,從而提高 AI 智能體的整體智能水平。
公司 | 模型 | 說明 | 案例 |
NVIDIA | Grounding Dino | 開放式物體檢測 | 檢測任何內容 |
NVIDIA | OCDRNet | 光學字符檢測和識別 | 文檔解析 |
NVIDIA | ChangeNet | 檢測兩張圖像之間的像素級變化 | 缺陷檢測、衛星圖像分析 |
NVIDIA | Retail Object Detection | 經過預訓練,可檢測常見零售商品 | 損失預防 |
使用視覺 NIM 微服務構建視覺 AI 智能體
以下是如何應用視覺 NIM 微服務創建強大視覺 AI 智能體的真實示例。
為了使使用 NVIDIA NIM 微服務的應用開發更易于使用,我們在 GitHub 上發布了一系列示例。這些示例演示了如何使用 NIM APIs 構建應用或將其集成到您的應用中。每個示例都包括 Jupyter Notebook 教程和演示,即使沒有 GPUs 也可以輕松啟動。
在 NVIDIA API Catalog 中 ,選擇模型頁面 (例如 Llama 3.1 405B )。選擇“ 獲取 API 密鑰 ”并 輸入您的企業電子郵件 以獲得 90 天的 NVIDIA AI Enterprise 許可證,或者使用您的個人電子郵件通過 NVIDIA 開發者計劃 訪問 NIM 。
在/NVIDIA/metropolis-nim-workflows GitHub 資源庫中,探索 Jupyter Notebook 教程和演示。這些工作流展示了如何將視覺 NIM 微服務與其他組件(如向量數據庫和 LLM)相結合,構建功能強大的 AI 代理,以解決現實世界中的問題。借助 API 密鑰,您可以輕松重新創建本文中展示的工作流,獲得 Vision NIM 微服務的實操體驗。
以下是一些示例工作流程:
VLM 流式視頻警報代理?
由于每秒都會生成大量視頻數據,因此無法手動查看關鍵事件(例如包裹交付、森林火災或未經授權的訪問)的視頻片段。
此工作流程展示了如何使用 VLM、Python 和 OpenCV 構建 AI 代理,該代理可 自動監控用戶定義事件的直播 。當檢測到事件時,系統會生成警報,從而節省大量手動查看視頻的時間。由于 VLM 的靈活性,可以通過更改提示來檢測新事件,無需為每個新場景構建和訓練自定義 CV 模型。
在圖 2 中,VLM 在云端運行,而視頻流管道在本地運行。此設置使演示幾乎可以在任何硬件上運行,并通過 NIM 微服務將繁重的計算卸載到云端。
以下是構建此智能體的步驟:
- 加載和處理視頻流 :使用 OpenCV 加載視頻流或文件,對其進行解碼,并對幀進行子采樣。
- 創建 REST API 端點:使用 FastAPI 創建控制 REST API 端點,用戶可以在其中輸入自定義提示。
- 與 VLM API 集成:包裝器類通過發送視頻幀和用戶提示來處理與 VLM API 的交互。它形成 NIM API 請求并解析響應。
- 視頻疊加響應: VLM 響應疊加到輸入視頻上,并使用 OpenCV 進行實時觀看。
- 觸發警報: 通過 WebSocket 服務器發送經過解析的響應,以與其他服務集成,從而根據檢測到的事件觸發通知。
有關構建 VLM 驅動的流式視頻警報代理的更多信息,請參閱 GitHub 上的 /NVIDIA/metropolis-nim-workflows notebook 教程和演示。您可以實驗不同的 VLM NIM 微服務,找到適合您用例的最佳模型。
有關 VLM 如何借助 NVIDIA Jetson 和 Jetson 平臺服務改變邊緣應用的更多信息,請參閱 為邊緣開發生成式 AI 驅動的視覺 AI 代理 ,并在 Jetson 平臺服務 頁面上探索其他資源,了解 VLM 如何與 NVIDIA Jetson 和 Jetson 平臺服務一起改變邊緣應用。
結構化文本提取代理?
許多商業文檔以圖像形式存儲,而非 PDF 等可搜索格式。在搜索和處理這些文檔時,這構成了重大挑戰,通常需要手動審查、標記和組織。
雖然光學字符檢測和識別(OCDR)模型已經推出一段時間,但它們通常會返回雜亂的結果,這些結果無法保留原始格式或解釋其視覺數據。在處理不規則格式的文檔(例如照片 ID,形狀和大小各異)時,這變得尤其具有挑戰性。
傳統的 CV 模型使得處理此類文檔既耗時又昂貴。然而,通過將 VLM 和 LLM 的靈活性與 OCDR 模型的精度相結合,您可以構建 強大的文本提取工作流,以自動解析文檔 并將用戶定義的字段存儲在數據庫中。
以下是結構化文本提取工作流構建步驟:
- 文檔輸入: 為 OCDR 模型(例如 OCDRNet 或 Florence)提供文檔圖像,該模型返回文檔中所有檢測到的字符的元數據。
- VLM 集成: VLM 會處理用戶的提示,指定所需字段并分析文檔。它使用來自 OCDR 模型的檢測字符來生成更準確的響應。
- LLM 格式: VLM 的響應將傳遞給 LLM,它將數據格式化為 JSON,并將其呈現為表格。
- 輸出和存儲: 提取的字段現在采用結構化格式,準備插入數據庫或存儲以供日后使用。
借助預覽 API,您可以組合多個模型以構建復雜的工作流,從而輕松進行實驗。通過演示 UI,您可以在 build.nvidia.com 上提供的不同 VLM、OCDR 和 LLM 模型之間切換,以進行快速實驗。
使用 NV-DINOv2 進行少量采樣分類?
NV-DINOv2 可從高分辨率圖像中生成嵌入,非常適合處理需要詳細分析的任務,例如僅使用少量樣本圖像進行缺陷檢測。該工作流演示了如何使用 NV-DINOv2 和 Milvus 向量數據庫構建 可擴展的幾步分類工作流 。

以下是 few-shot 分類管道的工作原理:
- 定義類并上傳樣本:用戶定義類并為每個類上傳一些樣本圖像。NV-DINOv2 根據這些圖像生成嵌入,然后將這些嵌入與類標簽一起存儲在 Milvus 向量數據庫中。
- 預測新類: 當上傳新圖像時,NV-DINOv2 會生成其嵌入,并將其與向量數據庫中存儲的嵌入進行比較。使用 k-NN 算法識別最近鄰,并預測其中的大多數類。
使用 NV-CLIP 進行多模態搜索?
NV-CLIP 具有獨特的優勢:能夠嵌入文本和圖像,從而實現 多模態搜索 。通過將文本和圖像輸入轉換為同一向量空間內的嵌入,NV-CLIP 有助于檢索與給定文本查詢相匹配的圖像,從而實現高度靈活且準確的搜索結果。

在此工作流中,用戶上傳一個圖像文件夾,這些圖像嵌入并存儲在向量數據庫中。使用 UI,他們可以輸入查詢,NV-CLIP 會根據輸入文本檢索最相似的圖像。
可以使用此方法與 VLM 一起構建更高級的智能體,以創建多模態 RAG 工作流,從而使視覺 AI 智能體能夠基于過去的經驗構建并改進響應。
立即開始使用視覺 AI 智能體?
準備好深入探索并開始構建自己的視覺 AI 智能體了嗎?使用 NVIDIA/metropolis-nim-workflows GitHub 存儲庫中提供的代碼作為基礎,開發由 NIM 微服務提供支持的自定義工作流和 AI 解決方案。讓示例激發新的應用,解決您的特定挑戰。
如有任何技術問題或支持,請加入我們的社區,并在 NVIDIA Visual AI Agent 論壇 上與專家交流。
?