• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    計算機視覺/視頻分析

    利用 NVIDIA AI Blueprint 搭建視頻搜索和摘要智能代理

    本文最初于 2024 年 7 月 29 日發布,但已根據 NVIDIA AI Blueprint 信息進行了大量修改。

    傳統的視頻分析應用及其開發工作流通常基于功能固定的、有限的模型構建,這些模型旨在僅檢測和識別一組預定義的對象。

    借助 生成式 AI 、NVIDIA NIM 微服務和基礎模型,您現在可以使用更少的模型構建具有廣泛感知和豐富上下文理解的應用程序。

    新型生成式 AI 模型,即視覺語言模型(VLM),為 視覺 AI 智能體 提供支持,這些智能體可以理解自然語言提示并執行視覺問答。通過結合 VLM、LLM 和最新的 Graph-RAG 技術,您可以構建功能強大的視覺 AI 智能體,從而實現對視頻的長篇理解。

    這些可視化 AI 智能體將部署在工廠、倉庫、零售商店、機場、交叉路口等地。它們將幫助運營團隊利用從自然交互中生成的更豐富的見解做出更明智的決策。

    在本文中,我們將向您展示如何使用 NVIDIA AI Blueprint for Video Search and Summarization 無縫構建 AI 智能體,以實現長篇視頻理解。您可以申請 早期訪問 該新 AI Blueprint。

    發布用于視頻搜索和摘要的 NVIDIA AI Blueprint

    視頻 1. 使用視覺語言模型構建視覺 AI 智能體

    NVIDIA AI Blueprint由 NVIDIA NIM 提供支持,是規范生成式 AI 用例的參考工作流。NVIDIA NIM 是一套微服務,包括行業標準 API、領域特定代碼、優化的推理引擎和企業運行時。它提供多個 VLM,用于構建視覺 AI 智能體,該智能體可以處理實時或存檔的圖像或視頻,使用自然語言提取可操作的見解。

    新的 AI Blueprint 為視頻搜索和摘要 加速了視覺 AI 智能體的開發,提供了使用 VLM、LLM 和最新的 RAG 技術的長篇視頻理解方法。

    為與智能體交互,我們提供了一組易于使用的 REST API,可啟用視頻摘要、交互式視頻問答,以及直播中的自定義提醒,以查找特定事件。這些 REST API 可用于將智能體集成到您自己的應用中,并由參考 UI 用于快速測試。

    Blueprint 中使用的模型可以來自包含模型預覽 API 和可下載 NIM 微服務的 NVIDIA API Catalog 。例如,AI Blueprint 使用 NVIDIA 托管的 Llama-3_1-70b-instruct NIM 微服務作為 NVIDIA NeMo Guardrails、Context-Aware RAG (CA-RAG) 和 Graph-RAG 模塊的 LLM。您可以從 API Catalog 中選擇各種不同的 LLM 和 VLM,包括 NVIDIA 托管或本地部署的 LLM。

    用于視頻搜索和摘要的視覺人工智能代理

    構建能夠理解長篇視頻的視覺 AI 智能體需要將 VLM 和 LLM 與數據存儲集成在一起。Blueprint 提供了組合所有這些組件的方法,以實現可擴展的 GPU 加速視頻理解智能體,這些智能體可以執行多項任務,例如摘要、問答以及檢測直播視頻中的事件。

    Blueprint 由以下組件組成:

    • 流處理程序: 管理與其他組件(例如 NeMo Guardrails、CA-RAG、VLM 管道、分塊和 Milvus Vector DB)的交互和同步。
    • NeMo Guardrails: 過濾掉無效的用戶提示。它利用 LLM NIM 微服務的 REST API。
    • VLM pipeline – 解碼流處理器生成的視頻塊,使用基于 NVIDIA Tensor RT 的視覺編碼器模型為視頻塊生成嵌入,然后利用 VLM 為用戶查詢生成每個塊的響應。它基于 NVIDIA DeepStream SDK。
    • VectorDB: 存儲每個塊的中間 VLM 響應。
    • CA-RAG 模塊: 從每個塊的 VLM 響應中提取有用信息,并將其聚合以生成單個統一摘要。CA-RAG(Context Aware-Retrieval-Augmented Generation)使用 LLM NIM 微服務的 REST API。
    • Graph-RAG 模塊: 捕捉視頻中存在的復雜關系,并將重要信息存儲在圖形數據庫中,作為節點和邊的集合。然后,LLM 會對其進行查詢,以提供交互式問答。
    A diagram shows the architecture of the visual search and summarization agent. It includes the data flow of how videos are processed and used to generate summaries, alerts and Q&A.
    圖 1. 匯總視覺 AI 智能體的高層架構

    以下是有關視頻提取和檢索流程的更多信息,以及 Blueprint 如何進行總結、問答以及對直播和長視頻的實時提醒。

    視頻提取?

    要對視頻進行總結或執行問答,必須構建能夠捕獲所有重要信息的視頻綜合索引。為此,我們需要結合 VLM 和 LLM 來生成密集描述和元數據,以構建視頻的知識圖形。這個視頻提取工作流由 GPU 加速,并可使用更多 GPU 進行擴展,從而縮短處理時間。

    VLM 工作流和 CA-RAG

    如今,大多數 VLM 只接受有限數量的幀,例如 8/10/100 幀。它們也無法為更長的視頻準確生成字幕。對于更長的視頻(如長達一小時的視頻),采樣幀可能相距 10 秒,甚至更長。這可能導致某些細節被忽略,或者動作無法識別。

    此問題的解決方案是,從長視頻中創建較小的塊,使用 VLM 單獨分析這些塊以生成密集描述,然后匯總和匯總結果,為整個文件生成單個摘要。提取過程的這一部分是 VLM 管道和 CA-RAG 模塊。

    這種分塊和字幕策略也可應用于直播。Blueprint 包括從 RTSP 服務器接收串流數據的串流管道。NVIDIA AI 藍圖會根據用戶配置的數據塊持續時間持續生成視頻塊片段。然后,VLM 管道會生成這些數據塊的字幕。

    NVIDIA AI Blueprint 繼續從 VLM 工作流中收集說明。當根據用戶配置的摘要持續時間處理足夠的數據塊時,收集的數據塊將發送到 CA-RAG 進行摘要和聚合。藍圖繼續處理后續數據塊。然后使用 HTTP 服務器發送事件將摘要流式傳輸到客戶端。

    知識圖形和 Graph-RAG 模塊

    為了捕獲 VLM 生成的復雜信息,在視頻提取過程中,會使用 LLM 構建和存儲知識圖譜。使用 LLM 將密集描述轉換為一組節點、邊緣和相關屬性。該知識圖譜存儲在圖形數據庫中。通過使用 Graph-RAG 技術,LLM 可以訪問這些信息以提取用于匯總、問答和警報的關鍵見解,并超越 VLM 自身的能力。

    Diagram shows orange and purple circles connected by action words. Worker carrying box, worker dropped box, person inspects restricted zone, and box near pallets are some examples.
    圖 3. 來自短倉庫視頻的知識圖

    視頻檢索?

    提取視頻后,CA-RAG 和 Graph-RAG 模塊背后的數據庫包含有關視頻中發生的對象、事件和描述的大量信息。這些信息可以被大型語言模型(LLM)用于多項任務,包括摘要、問答和警報。

    對于每個任務,Blueprint 都提供了簡單的 REST API,可調用這些 API 與您的應用集成。此外,藍圖還提供了一個參考 UI,使您能夠快速試驗 Blueprint 的功能,并使用多個配置選項調整智能體。

    總結?

    通過 API 將視頻文件上傳至代理后,請調用 summarize 端點以獲取視頻摘要。Blueprint 會處理所有繁重的工作,同時提供大量可配置參數。

    提交 summarize 請求時,系統會提供用于調整輸出的提示。此提示用于控制 VLM 密集字幕和基于 LLM 的描述聚合,以生成最終摘要。

    • 提示 (VLM): 提示 VLM 生產密集字幕。您可以調整此提示,以準確告知 VLM 應注意的對象、事件和操作類型。
    • 描述摘要(LLM): 用于組合 VLM 描述的 LLM 提示。它可以用來控制描述的細粒度程度以及要包含的細節級別。
    • 摘要聚合(LLM): 根據聚合說明生成最終摘要輸出。此提示應調整為指定輸出格式、摘要長度以及應包含在輸出中的任何關鍵信息的列表。

    除了提示配置之外,根據您的用例調整視頻分塊策略也很重要。根據摘要是通過視頻文件還是通過直播進行,有幾個不同的選項。

    視頻文件

    • chunk_duration:整個視頻被分割成 chunk_duration 長度的片段, N (依賴 VLM 的)幀從此數據塊中采樣并發送到 VLM 進行推理。數據塊的持續時間應足夠小,以便 N 幀可以捕獲事件。
    • chunk_overlap:如果事件發生在數據塊的交叉路口,則采樣幀可能無法捕獲完整的事件,并且模型無法檢測到它。NVIDIA AI Blueprint 通過使用滑動窗口方法來緩解此問題,其中 chunk_overlap 是數據塊之間的重疊持續時間。 (默認值:0)。

    • chunk_duration:與視頻文件類似,實時流分為 chunk_duration 的多個片段,并發送至 VLM 進行推理。數據塊的持續時間應足夠小,以便 N 幀能夠捕獲事件。
    • summary_duration:用戶想要生成摘要的持續時間。此選項允許用戶控制應生成摘要的流的持續時間。例如,如果 chunk_duration 為 1 分鐘,tg_11 為 30 分鐘,則將流分成 1 分鐘的塊進行 VLM 推理。30 個塊的 VLM 輸出經過聚合,可為用戶提供 30 分鐘的簡潔摘要。

    這些只是指南,必須針對特定用例調整實際參數。這需要在準確性和性能之間進行權衡。較小的 chunk 大小可以提供更好的描述,但處理時間更長。

    常見問題解答?

    在視頻提取過程中構建的知識圖可以被 LLM 查詢,提供視頻的自然語言界面。這使用戶能夠在輸入視頻中提出開放式問題,并獲得聊天機器人體驗。在參考 UI 中,此功能在視頻提取后可用。

    用于助力問答的 LLM 是可配置的,可以在部署后通過 Blueprint 配置進行調整。它讓您能夠選擇最適合本地部署的模型,或將其指向部署在云端的 LLM。

    LLM 檢索知識所需信息的提示是可調整的,并且可以進行調整,以提高響應的準確性。

    警報?

    除了視頻文件之外,Blueprint 還可以接受視頻直播作為輸入。對于直播用例,通常必須了解某些事件何時近乎實時地發生。為此,Blueprint 支持注冊直播,并設置警報規則以監控直播。這些警報規則采用自然語言,用于在發生用戶定義的事件時觸發通知。

    例如,可以為設置在森林中的攝像頭設置警報規則,以檢測動物何時出現或火災是否爆發。當流被注冊且警報規則被設置后,代理會監控流。如果代理檢測到任何警報規則為真,則會觸發可通過 API 接收的通知。

    視頻 2. 構建用于視頻搜索和摘要的視覺 AI 智能體

    開始使用?

    使用 NVIDIA AI Blueprint 構建強大的基于 VLM 的 AI 智能體 ,用于視頻搜索和摘要。REST API 提供了將此工作流和 VLM 集成到現有客戶應用中的便捷方式。立即申請 搶先體驗此 AI Blueprint ,并訪問 Visual AI 智能體論壇 了解技術問題。

    ?

    0

    標簽

    人人超碰97caoporen国产