從PDF到洞察:利用AWS生成式AI服務構建智慧文件處理流水線
本文介紹瞭如何利用Amazon Bedrock及其特性(如BDA、Strands Agent和知識庫)構建一個成本效益高、可擴充套件的智慧文件處理流水線,能夠自動從文件中提取、分析並理解上下文,無需大量開發工作。
組織每天處理數百萬份文件,從保險索賠、發票到法律合同和醫療記錄。傳統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成本控制被截斷]