亞馬遜金融科技(FinTech)團隊負責構建和運營系統,以管理不同司法管轄區的監管問詢。這些團隊處理來自監管機構的問詢,每個問詢都有不同的要求、文件格式和複雜程度。處理過程涉及審查文件、提取相關資訊、從多個系統中檢索支援資料,並在規定時間內完成回覆。隨著問詢頻率和業務複雜性的增加,亞馬遜需要一種更具可擴充套件性的方法。
為了解決這些挑戰,亞馬遜金融科技團隊利用 Amazon Bedrock、AWS Lambda 和其他 AWS 服務構建了一個智慧監管響應自動化系統。該系統採用檢索增強生成(RAG)架構,透過 Amazon Bedrock 知識庫和 Amazon OpenSearch Serverless 進行向量儲存,從而能夠從數千份歷史文件中高效檢索資訊。
知識庫攝入流程提供自動化的文件處理管道。使用者上傳文件後,系統透過 API Gateway 觸發 Lambda 函式生成預簽名 URL,將文件上傳至 S3。接著,文件處理 Lambda 函式呼叫 Amazon Bedrock 知識庫,使用分層分塊策略對文件內容進行分塊,並透過 Amazon Titan Text Embeddings 生成嵌入向量,最後儲存到 OpenSearch Serverless 中。這種分層策略非常適合結構化且複雜的金融文件,因為它既能精確檢索小塊內容,又能返回更大的父塊以提供充分的上下文。
聊天應用部分提供即時對話介面,採用 AWS 無伺服器架構和 WebSocket 連線。使用者透過 WebSocket 提交問題,Chat Service Lambda 函式使用 Claude 3.5 Haiku 模型進行查詢擴充套件,生成最多五個查詢變體,然後並行呼叫知識庫的 Retrieve API。檢索結果結合 DynamoDB 中的對話歷史,透過 Claude Sonnet 4.5 的 Converse Stream API 生成流式響應。響應以 Markdown 格式返回,並儲存到 DynamoDB 中。
多輪對話方面,系統透過 Amazon Cognito 認證會話,併為每個會話分配唯一 ID。DynamoDB 按時間順序儲存訊息,支援使用者無縫恢復之前的對話。在每輪查詢中,系統先進行輸入清洗以防止提示注入,然後透過 LLM 判斷查詢是否需要知識庫檢索。對於知識密集型問題,採用查詢擴充套件策略,並透過多執行緒並行檢索將延遲從 10 秒降至 2 秒。最終透過 Amazon Bedrock Guardrails 過濾敏感資訊,確保合規。
可觀測性方面,Chat Service Lambda 整合了 OpenTelemetry,並將追蹤資料傳送到自託管的 Langfuse 例項。這提供了端到端的可見性,包括延遲、令牌使用、提示模板和模型響應。系統還檢測模型幻覺和知識庫中的過時指南,確保合規性和準確性。整體而言,該架構透過無伺服器和事件驅動設計,實現了自動擴充套件和持續改進。