從圖像到 PDF 再到串流視頻,視覺數據呈指數級增長,使得手動審查和分析幾乎變得不可能。組織正在努力將這些數據大規模轉化為可操作的見解,導致錯失機會並增加風險。
為了解決這一挑戰,視覺語言模型(VLM)正在成為強大的工具,它將圖像和影片的視覺感知與基於文字的推理相結合。與僅處理文字的傳統大語言模型(LLM) 不同,VLM 可讓您建立能夠理解複雜多模式資料並對其採取行動的視覺 AI 代理,從而實現即時決策和自動化。
想像一下,擁有一個智慧型人工智慧代理,它可以分析遠端攝影機鏡頭以檢測野火的早期跡象,或掃描業務文件以提取隱藏在圖表、表格和圖像中的關鍵資訊——所有這些都是自主的。
透過NVIDIA NIM 微服務,建構這些高階視覺 AI 代理程式比以往更容易、更有效率。 NIM 微服務提供靈活的客製化、簡化的 API 整合且平穩的部署,讓您能夠創建適合您獨特業務需求的動態代理程式。
視覺人工智慧模型的類型
要建立強大的視覺 AI 代理,您可以使用以下核心類型的視覺模型:
- VLM
- 嵌入模型
- 電腦視覺 (CV) 模型
這些模型是開發智慧視覺人工智慧代理的重要建構模組。雖然 VLM 作為每個代理的核心引擎,但 CV 和嵌入模型可以增強其功能,無論 希臘電話號碼數據 是提高物 件偵測等任務的準確性還是解析複雜文件。
在這篇文章中,我們使用視覺 NIM 微服務來存取這些模型。每個視覺 NIM 微服務都可以透過簡單的 REST API 輕鬆整合到您的工作流程中,從而可以對文字、圖像和影片進行高效的模型推理。首先,您可以在上嘗試託管預覽 API ,而無需本機 GPU。
視覺語言模型
VLM 透過添加視覺功能,使語言模型成為多模態,從而為語言模型帶來了新的維度。這些模型可以處理圖像、視訊和文本,使它們能夠解釋視覺數據並產生基於文字的輸出。 VLM 用途廣泛,可針對特定用例進行微調,或根據視覺輸入提示執行問答等任務。
NVIDIA 及其合作夥伴提供多種 VLM 作為 NIM 微服務,每個 VLM 的大小、延遲和功能各不相同(表 1)。
嵌入模型
嵌入模型將輸入資料(例如圖像或文字)轉換為密集的特徵豐富的向量,稱為嵌入。這些嵌入封裝了資料中的基本屬性和關係,從而支援相似性搜 本地影片行銷的注意事項 尋或分類等任務。嵌入通常儲存在向量資料庫中,GPU 加速搜尋可以快速檢索相關資料。
嵌入模型在創建智慧代理中發揮著至關重要的作用。例如,它們支援檢索增強生成(RAG)工作流程,使代理能夠從不同的資料來源中提取相關信息,並透過上下文學習提高準確性。
表 2.嵌入 NIM 微服務
電腦視覺模型
CV 模型專注於影像分類、物件偵測 廣告數據 和光學字元辨識 (OCR) 等專業任務。這些模型可以透過添加詳細的元資料來增強 VLM,從而提高 AI 代理的整體智慧。
表 3.電腦視覺 NIM 微服務
使用視覺 NIM 微服務建立視覺 AI 代理
以下是如何應用視覺 NIM 微服務來創建強大的視覺 AI 代理的真實範例。
為了讓使用 NVIDIA NIM 微服務進行應用程式開發變得更容易,我們在 GitHub 上發布了一系列範例。這些範例示範如何使用 NIM API 來建立它們或將它們整合到您的應用程式中。每個範例都包含一個 Jupyter Notebook 教學和演示,即使沒有 GPU,也可以輕鬆啟動。
儲存庫中,探索 Jupyter Notebook 教學課程和示範。這些工作流程展示了視覺 NIM 微服務如何與向量資料庫和 LLM 等其他元件結合,以建立強大的 AI 代理來解決現實世界的問題。使用 API 金鑰,您可以輕鬆地重新建立本文中展示的工作流程,為您提供 Vision NIM 微服務的實務經驗。
以下是一些工作流程範例:
- VLM 串流視訊警報代理
- 結構化文字擷取代理
- 使用 NV-DINOv2 代理程式進行少樣本分類
- 使用 NV-CLIP 代理進行多模式搜索
VLM 串流視訊警報代理
由於每秒都會產生大量視訊數據,因此無法手動查看包裹遞送、森林火災或未經授權的存取等關鍵事件的鏡頭。
此工作流程展示如何使用 VLM、Python 和 OpenCV 建立 AI 代理,自動監控即時串流中的使用者定義事件。當偵測到事件時,會產生警報,從而節省無數小時的手動視訊審查時間。由於 VLM 的靈活性,可以透過更改提示來偵測新事件,無需為每個新場景建立和訓練自訂 CV 模型。
影片 1. 由 NVIDIA NIM 提供支援的視覺 AI 代理
在圖 2 中,VLM 在雲端中運行,而視訊串流管道在本地運行。此設定使演示可以在幾乎任何硬體上運行,並透過 NIM 微服務將大量計算卸載到雲端。
圖 2. 串流視訊警報代理架構
以下是建立此代理的步驟:
- 載入和處理視訊串流:使用 OpenCV 載入視訊串流或檔案、對其進行解碼並對幀進行二次採樣。
- 建立 REST API 端點:使用 FastAPI 建立控制 REST API 端點,使用者可以在其中輸入自訂提示。
- 與 VLM API 整合:包裝類別透過發送視訊幀和使用者提示來處理與 VLM API 的交互。它形成 NIM API 請求並解析回應。
結構化文字擷取代理
許多商業文件儲存為圖像,而不是 PDF 等可搜尋格式。這在搜尋和處理這些文件時提出了重大挑戰,通常需要手動審查、標記和組織。
雖然光學字元檢測和識別 (OCDR) 模型已經存在了一段時間,但它們經常會傳回混亂的結果,無法保留原始格式或解釋其視覺資料。當處理不規則格式的文件(例如具有各種形狀和大小的照片 ID)時,這變得尤其具有挑戰性。
傳統的履歷模型使得處理此類文件既耗時又昂貴。然而,透過將 VLM 和 LLM 的靈活性與 OCDR 模型的精確度相結合,您可以建立強大的文字擷取管道來自動解析文件並將使用者定義的欄位儲存在資料庫中。
圖 3. 結構化文字擷取代理架構
以下是結構化文字擷取管道的建構步驟:
使用 NV-DINOv2 進行少樣本分類
NV-DINOv2 從高解析度影像產生嵌入,非常適合需要詳細分析的任務,例如僅使用少量樣本影像進行缺陷檢測。此工作流程示範如何使用 NV-DINOv2 和 Milvus 向量資料庫 建立可擴展的小樣本分類管道。
圖 5. 使用 NV-DINOv2 進行少樣本分類
以下是少樣本分類管道的工作原理:
- 定義類別並上傳範例:使用者定義類別並為每個類別上傳一些範例圖像。 NV-DINOv2 從這些影像產生嵌入,然後與類別標籤一起儲存在 Milvus 向量資料庫中。
- 預測新類別:上傳新影像時,NV-DINOv2 會產生其嵌入,並將其與向量資料庫中儲存的嵌入進行比較。使用 k-近鄰 (k-NN) 演算法識別最近鄰,並預測其中的多數類。