如今,各個組織需要處理海量的非結構化數據,這些數據以各種格式存在,包括文檔、圖像、音訊檔案和視訊檔案。過去,從這些不同格式的數據中提取有意義的見解,需要複雜的處理流程和大量的開發工作。但是,生成式人工智慧技術正在徹底改變這一領域,它提供了強大的功能,可以自動處理、分析這些不同文檔格式的數據並從中提取見解,從而大大減少了手動工作量,同時提高了準確性和可擴展性。
借助 Amazon Bedrock Data Automation 和 Amazon Bedrock Knowledge Bases,您現在可以輕鬆構建強大的多模態 RAG 應用程式。它們共同使組織能夠有效地處理、組織和檢索其多模態內容中的信息,從而改變他們管理和使用非結構化數據的方式。
本文將引導您構建一個全棧應用程式,該應用程式使用 Amazon Bedrock Data Automation 處理多模態內容,將提取的信息存儲在 Amazon Bedrock Knowledge Bases 中,並通過基於 RAG 的問答介面啟用自然語言查詢。
實際應用案例
Amazon Bedrock Data Automation 和 Amazon Bedrock Knowledge Bases 的集成,為跨各個行業處理大量非結構化數據提供了強大的解決方案,例如:
- 在醫療保健領域,組織需要處理大量的患者記錄,包括醫療表格、診斷圖像和諮詢錄音。Amazon Bedrock Data Automation 可以自動提取和構建這些信息,而 Amazon Bedrock Knowledge Bases 則允許醫務人員使用自然語言查詢,例如「患者上次的血壓讀數是多少?」或「顯示糖尿病患者的治療歷史」。
- 金融機構每天都會處理成千上萬份文檔,從貸款申請到財務報表。Amazon Bedrock Data Automation 可以提取關鍵的財務指標及合規信息,而 Amazon Bedrock Knowledge Bases 則允許分析師提出如下問題:「最新的季度報告中提到了哪些風險因素?」或「顯示所有具有高信用評分的貸款申請」。
- 律師事務所需要處理大量的案件文件,其中包含法院文件、證據照片和證人證詞。Amazon Bedrock Data Automation 可以處理這些不同的來源,而 Amazon Bedrock Knowledge Bases 則允許律師查詢「關於 3 月 15 日的事件,提出了什麼證據?」或「找到所有提及被告的證人陳述」。
- 媒體公司可以使用此集成來實現智能的上下文廣告投放。Amazon Bedrock Data Automation 處理視頻內容、字幕和音訊以瞭解場景上下文、對話和情緒,同時分析廣告資產和廣告活動要求。然後,Amazon Bedrock Knowledge Bases 允許進行複雜的查詢,以將廣告與適當的內容時刻匹配,例如「查找包含體育器材廣告的積極戶外活動場景」或「識別討論旅遊業的旅遊廣告片段」。這種智能的上下文匹配提供了更相關有效的廣告投放,同時保持了品牌安全。
這些示例展示了 Amazon Bedrock Data Automation 的提取功能與 Amazon Bedrock Knowledge Bases 的自然語言查詢相結合,如何改變組織與其非結構化數據交互的方式。
解決方案概述
此綜合解決方案演示了 Amazon Bedrock 在處理和分析多模態內容(文檔、圖像、音訊檔案和視訊檔案)方面的高級功能,它通過三個關鍵元件來實現:Amazon Bedrock Data Automation、Amazon Bedrock Knowledge Bases 和通過 Amazon Bedrock 提供的基礎模型。用戶可以上傳各種類型的內容,包括音訊檔案、圖像、視訊或 PDF,以進行自動處理和分析。
當您上傳內容時,Amazon Bedrock Data Automation 會使用標準或自定義藍圖對其進行處理,以提取有價值的見解。提取的信息將以 JSON 格式存儲在 Amazon Simple Storage Service (Amazon S3) 存儲桶中,而作業狀態通過 Amazon EventBridge 進行跟蹤並保存在 Amazon DynamoDB 中。該解決方案執行提取的 JSON 的自定義解析,以創建與知識庫相容的文檔,然後將其存儲在 Amazon Bedrock Knowledge Bases 中並進行索引。
通過直觀的用戶介面,該解決方案會同時顯示上傳的內容及其提取的信息。用戶可以通過基於檢索增強生成 (RAG) 的問答系統與處理的數據進行交互,該系統由 Amazon Bedrock 基礎模型提供支持。這種集成的方法使組織能夠有效地處理、分析和從各種內容格式中獲得見解,同時使用使用 AWS Cloud Development Kit (AWS CDK) 部署的強大且可擴展的基礎設施。
架构
以下架構圖說明瞭解決方案的流程:
- 用戶與前端應用程式交互,通過 Amazon Cognito 進行身份驗證。
- API 請求由 Amazon API Gateway 和 AWS Lambda 函數處理。
- 檔案上傳到 S3 存儲桶以進行處理。
- Amazon Bedrock Data Automation 處理檔案並提取信息。
- EventBridge 管理作業狀態並觸發後處理。
- 作業狀態存儲在 DynamoDB 中,處理的內容存儲在 Amazon S3 中。
- Lambda 函數解析處理的內容,並在 Amazon Bedrock Knowledge Bases 中進行索引。
- 基於 RAG 的問答系統使用 Amazon Bedrock 基礎模型來回答用戶查詢。
前提條件
後端
對於後端,您需要具備以下前提條件:
- 一個 AWS 賬戶。
- Python 3.11 或更高版本。
- Docker。
- GitHub(如果使用代碼存儲庫)。
- AWS CDK。有關更多詳細信息和前提條件,請參閱 AWS CDK 入門。
- 在 Amazon Bedrock 中啟用對基礎模型的訪問:
- Anthropic 的 Claude 3.5 Sonnet v2.0
- Amazon Nova Pro v1.0
- Anthropic 的 Claude 3.7 Sonnet v1.0
前端
對於前端,您需要具備以下前提條件:
- Node/npm: v18.12.1
- 已部署的後端。
- 至少一個用戶已添加到相應的 Amazon Cognito 用戶池(進行身份驗證的 API 調用所必需)。
您需要的一切都以開源代碼的形式在我們的 GitHub 存儲庫中提供。
部署指南
此示例應用程式代碼庫被組織成以下關鍵檔案夾: