AI News HubLIVE
站内改写4 分鐘閱讀

從PDF到洞察:利用AWS生成式AI服務構建智能文檔處理流水線

本文介紹瞭如何利用Amazon Bedrock及其特性(如BDA、Strands Agent和知識庫)構建一個成本效益高、可擴展的智能文檔處理流水線,能夠自動從文檔中提取、分析並理解上下文,無需大量開發工作。

來源AWS Machine Learning Blog作者: Charles Meruwoma

組織每天處理數百萬份文檔,從保險索賠、發票到法律合同和醫療記錄。傳統OCR解決方案雖然能提取文本,但無法理解複雜文檔中的上下文、關係或含義。這種限制導致需要人工干預,增加了處理時間和成本,並可能引入錯誤。

Amazon Bedrock Data Automation (BDA) 提供統一的API體驗,從多模態內容(包括文檔、圖像、視頻和音頻文件)中提取有價值的洞察。與傳統解決方案不同,BDA不僅提取文本,還能理解文檔上下文、驗證提取的數據並提供置信度分數。BDA通過流水線處理文檔,自動完成文檔分類、提取、歸一化和驗證等複雜任務。提交文檔後,BDA會自動按邏輯邊界拆分文檔,將每個部分分類到適當的文檔類型,並匹配到正確的處理藍圖。這種智能路由消除了手動文檔排序和協調多個AI模型的需求。該服務支持多種文件格式,每API請求最多處理3000頁和500MB,適合大規模處理各種文檔類型。

本文概述了在AWS上使用Amazon Bedrock及其特性構建一個成本效益高且可擴展的智能文檔處理流水線的過程。BDA是Amazon Bedrock中的託管服務,可自動化從文檔中提取洞察。我們展示了BDA如何提取和分析文檔內容,而託管在Amazon Bedrock AgentCore Runtime上的Strands Agent協調專門的處理任務,Amazon Bedrock知識庫則支持跨多個文檔的上下文理解。通過將這些能力結合在統一的架構中,組織可以以最小的開發努力轉變其文檔處理工作流程。

解決方案概述

我們的智能文檔處理流水線將生成式AI與編排的工作流相結合,自動提取、分析可視化圖表和圖形,並從文檔中推導出洞察,同時保持跨多個數據源的上下文和關係。該解決方案通過四個集成層處理文檔:

輸入處理層:文檔上傳觸發處理編排和狀態機協調。 提取和存儲層:原始文本和表格提取、圖像和視覺元素分析、可擴展數據集成。 智能層:知識庫攝取與語義搜索、多模態基礎模型( FM )分析和大型語言模型(LLM)驅動的解釋。 代理協調層:協調代理和專門任務代理。

架構組件

輸入處理層構成了解決方案的基礎。該層管理傳入文檔的初始接收和路由。當文檔到達指定的Amazon Simple Storage Service (S3)存儲桶時,文檔上傳觸發處理工作流,支持PDF和掃描文檔(PDF格式)等多種格式。

BDA在輸入處理層中充當核心提取引擎,通過統一API處理文檔拆分、分類和內容提取。AWS Step Functions編排工作流以最大化BDA在提取和存儲層中的能力,提供整個過程中的操作可視性和控制。詳細的編排流程如下:

文檔攝取:文件以各種格式到達S3存儲桶。每種格式通過統一API處理,無需格式特定的預處理。 元數據記錄:工作流在Amazon DynamoDB中記錄文檔元數據,用於跟蹤、審計和報告。包括文件類型、大小、提交時間和處理狀態。 頁數分析:工作流檢查頁數以優化處理策略。BDA自動處理文檔拆分,最多可處理3000頁。Step Functions中的頁數檢查有助於設置異步作業的適當超時值,並對異常大的文檔進行監控和告警。 BDA處理調用:工作流使用InvokeDataAutomationAsync API啓動異步BDA作業。BDA隨後自動:按邏輯邊界拆分文檔(每拆最多20頁);將每個部分分類為文檔類型;匹配文檔到適當的藍圖(如果使用自定義輸出);提取所有內容,包括文本、表格、表單和視覺元素。 使用任務令牌的異步處理:工作流存儲任務令牌並等待BDA作業完成。這種模式實現了高效的資源利用,允許同時處理數千個文檔。 錯誤處理和路由:全面的錯誤處理管理不同情況,包括成功處理、驗證錯誤、超時和不支持的文件類型,確保沒有文檔丟失,所有問題都被記錄以供審查。

這種編排方法提供了一個高度可擴展的無服務器流水線,用於自動化文檔分析,在每個處理階段都具有適當的分支邏輯和異常管理。

提取和存儲層

該層是解決方案的核心,BDA作為將原始內容轉換為結構化、可操作數據的主要引擎。下面提供更多細節。

Amazon Bedrock Data Automation作為主要處理引擎,提供兩種靈活的輸出選項: 標準輸出 – 根據數據類型提供常用信息,包括文檔摘要、按閲讀順序提取的文本、表格和圖表標題,以及生成式洞察。標準輸出可通過項目自定義,啓用或禁用特定的提取特徵,如頁眉、頁腳、標題和圖表,以滿足處理需求。 使用藍圖的自定義輸出 – 每種文檔類型創建一個藍圖,因為同一類型的文檔使用相同的指令集提取通用信息。但不同文檔類型需要不同的藍圖中提取不同信息。例如,護照和銀行對賬單需要不同的藍圖。所有銀行對賬單應僅使用一個藍圖,因為無論銀行或格式如何,要從銀行對賬單中提取的信息類型應該是相同的。藍圖允許通過定義特定字段、數據格式和提取指令來精確控制提取的信息。一個項目最多可包含40個文檔藍圖,BDA自動將每個文檔匹配到適當的藍圖。這使得可以在統一工作流中處理發票、合同和表單等多種文檔類型。

此外,BDA提供: 通過單一界面的統一API體驗,處理多模態內容 跨區域推理能力,改善處理效果 內置保障措施,包括視覺定位和置信度分數,確保準確性 支持自定義藍圖,為特定文檔類型標準化輸出格式

視覺分析處理利用BDA的能力,從傳統OCR無法解釋的圖表、圖形、圖表和視覺元素中提取洞察。BDA在進行圖形標註時提供圖像裁剪,並生成這些視覺元素的詳細文本描述和結構化數據,包含在下游工作流中。例如,當BDA處理圖表時,它產生: 描述圖表內容和目的的生成式標題 從圖表中提取的數據點和趨勢 圖表和流程圖中提取的結構關係 將視覺元素鏈接到文檔中位置的邊界框座標

所有文檔格式在下游處理中:每種支持的文檔格式(PDF、PNG、JPG、TIFF、DOC、DOCX)都通過統一API處理。來自BDA的提取內容(包括視覺元素描述)可以手動配置進行索引和向量化,存儲在Amazon Bedrock知識庫中,以支持跨不同文檔類型的語義搜索。注意,BDA還具有與知識庫的內置集成,在文檔攝取到知識庫時可以作為解析器,使用BDA標準輸出(無需藍圖)。這個下游工作流接收來自BDA的結構化JSON輸出,包含所有提取的信息,無論原始文件格式如何,都能實現一致的處理。

文檔的數據提取包括: 按閲讀順序提取文本,保留佈局 表格結構識別,保留單元格關係 表單字段檢測和鍵值對提取 視覺元素分析(包括圖表、圖形和圖表),並生成標題 邊界框座標,精確定位提取元素的位置 文檔級和頁面級摘要,保留上下文

智能層

該層是解決方案的認知引擎。Amazon Bedrock知識庫必須與Amazon OpenSearch Serverless配置,通過語義搜索和檢索增強生成(RAG)能力將原始內容轉換為可操作的洞察。以下部分提供更多細節。

Amazon Bedrock知識庫與Amazon OpenSearch Serverless結合,通過以下方式實現語義搜索和RAG工作流: 對處理後的文檔內容進行索引,實現智能查詢 維護向量嵌入,支持文檔集合間的相似性搜索 支持跨多個文檔和數據源的複雜查詢

Amazon Bedrock基礎模型( FMs )分析視覺內容,包括圖表和圖形解釋、文檔佈局理解以及文本和視覺組件之間的跨模態關係檢測。

代理協調層

該層組織解決方案的智能。Amazon Bedrock AgentCore Runtime上的Strands代理管理整體處理工作流,根據請求類型將請求路由到適當的專門代理,並協調跨代理通信以進行復雜的文檔分析。

專門任務代理處理特定的文檔處理功能: 市場分析師代理:用於金融市場報告和投資文檔。 投資顧問代理:用於投資組合分析和諮詢文檔。 外部API代理:通過安全的API連接實時第三方數據,集成財務數據提供商、監管數據庫和市場情報平台。 協調代理通過比較來自外部API代理的實時市場數據與存儲在Amazon Bedrock知識庫中的歷史數據,進行交叉引用驗證。

實現架構

處理流水線採用事件驅動的方法處理文檔,將多個專門層集成到一個連貫的工作流中。它遵循邏輯進展,每一步建立在前一步之上。從文檔上傳開始,觸發Amazon S3事件啓動狀態機,然後進行多模態處理,從不同內容類型中提取含義。流水線繼續代理協調,指導

[文章因AI成本控制被截斷]