亞馬遜金融科技(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 實例。這提供了端到端的可見性,包括延遲、令牌使用、提示模板和模型響應。系統還檢測模型幻覺和知識庫中的過時指南,確保合規性和準確性。整體而言,該架構通過無服務器和事件驅動設計,實現了自動擴展和持續改進。