概觀
AWS 上的生成式 AI 應用程式建置器可協助使用者,無需 AI 方面的資深經驗即可開發、快速實驗和部署生成式人工智慧 (AI) 應用程式。此 AWS 解決方案可協助您擷取商業特定的資料和文件、評估和比較大型語言模型 (LLM) 的效能、快速建置可擴充的應用程式,以及使用企業級架構來部署這些應用程式,藉此加速開發並簡化實驗過程。
AWS 上的生成式 AI 應用程式建置器包括與 Amazon Bedrock 及其隨附 LLM 的整合和 Amazon SageMaker 上部署的 LLM。此外,此解決方案還可以使用 LangChain 或 AWS Lambda,與您選擇的模型建立連線。從無程式碼部署精靈開始,建置生成式 AI 應用程式,用於對話式搜尋、採用生成式 AI 技術的聊天機器人、文字產生和文字摘要。
優勢
此解決方案可讓使用者消除部署具有不同組態的多個執行個體,以及比較輸出和效能等繁重工作,藉此快速進行實驗。實驗各種 LLM 的多種組態、提示工程、企業知識庫和其他參數。
因為具有多種 LLM 的預先建置連接器,例如透過 Amazon Bedrock 提供的模型,此解決方案讓您能夠靈活地部署您選擇的模型,以及您喜好的 AWS 和領先的 FM 服務。
此解決方案採用 AWS Well-Architected 設計原則建置,提供具有高可用性和低延遲的企業級安全性和可擴展性,從而確保以高效能標準無縫整合至您的應用程式中。
藉由整合現有專案或原生連接的額外 AWS 服務,來擴展此解決方案的功能。由於這是開放原始碼應用程式,因此您可以使用隨附的 LangChain 協同運作層或 Lambda 函數來與您選擇的服務建立連線。
技術詳細資訊
您可以使用實作指南和隨附的 AWS CloudFormation 範本自動部署此架構,可部署兩種單獨的架構︰
- 部署儀表板 – 部署儀表板是一個可充當管理主控台的 Web 使用者介面 (UI),管理員使用者可將其用於檢視、管理和建立使用案例。此儀表板讓客戶能夠使用 LLM 和資料的多種組態來快速實驗、反覆運作和部署生成式 AI 應用程式。
- 文字使用案例 – 文字使用案例讓使用者能透過生成式 AI 體驗自然語言介面。此使用案例可整合到新的或現有的應用程式中,且可透過部署儀表板或透過提供的 URL 單獨部署。
-
部署儀表板
-
文字使用案例
-
部署儀表板
-
步驟 1
管理員使用者登入部署儀表板使用者介面 (UI)。步驟 2
Amazon CloudFront 提供託管在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的 Web UI。步驟 3
AWS WAF 可保護 API 免受攻擊。此解決方案會設定稱為 Web 存取控制清單 (Web ACL) 的規則集,該規則集依據可設定、使用者定義的 Web 安全規則和條件來允許、封鎖或計算 Web 請求。
步驟 4
Web UI 善用一組使用 Amazon API Gateway 公開的 REST API。
步驟 5
Amazon Cognito 會驗證使用者,並同時為 CloudFront Web UI 和 API Gateway 提供支援。Amazon DynamoDB 資料表會存放授權使用者的 AWS Identity and Access Management (IAM) 政策。步驟 6
AWS Lambda 提供 REST 端點的商業邏輯。此支援 Lambda 函數可管理並建立使用 AWS CloudFormation 執行使用案例部署所需的資源。步驟 7
DynamoDB 會存放部署清單。步驟 8
當管理員使用者建立新的使用案例時,支援 Lambda 函數會針對請求的使用案例起始 CloudFormation 堆疊建立事件。步驟 9
管理員使用者在部署精靈中提供的所有 LLM 組態選項,都會儲存在 DynamoDB 中。部署會使用此 DynamoDB 資料表,在執行時期設定 LLM。
步驟 10
使用 Amazon CloudWatch,此解決方案會收集各種服務的作業指標,以產生自訂儀表板,讓您能夠監控解決方案的效能和營運運作狀態。
-
文字使用案例
-
步驟 1
管理員使用者透過使用部署儀表板來部署使用案例。商業使用者登入使用案例 UI。
步驟 2
CloudFront 提供託管在 S3 儲存貯體中的 Web UI。步驟 3
Web UI 可利用透過 API Gateway 建置的 WebSocket 整合。 API 閘道由自訂 Lambda Authorizer 函數提供支援,該服務依據驗證使用者所屬的 Amazon Cognito 群組,傳回適當的 IAM 政策。政策會存放在 DynamoDB 中。步驟 4
Amazon Cognito 會驗證使用者,並同時為 CloudFront Web UI 和 API Gateway 提供支援。
步驟 5
企業使用者的傳入請求會從 API 閘道傳遞至 Amazon Simple Queue Service (Amazon SQS) 佇列,然後傳送至 LangChain 協調器。 LangChain 協調器 是 Lambda 函數和層的集合,可提供商業邏輯來處理商業使用者的請求。佇列可啟用 API 閘道 至 Lambda 整合的非同步操作。佇列會將連線資訊傳遞至 Lambda 函數,然後將結果直接發布回 API 閘道 WebSocket 連線,以支援長期執行的推論呼叫。
步驟 6
LangChain 協調器使用 DynamoDB 來取得已設定的 LLM 選項和必要的工作階段資訊,例如聊天歷史記錄。步驟 7
如果部署已設定知識庫,則 LangChain 協調器會利用 Amazon Kendra 或 Amazon Bedrock 知識庫來執行搜尋查詢以擷取文件摘錄。步驟 8
LangChain 協調器會使用知識庫的聊天記錄、查詢和關聯內容,建立最終提示並將請求傳送至託管在 Amazon Bedrock 或 Amazon SageMaker 上的 LLM。步驟 9
當回應從 LLM 返回時,LangChain 協調器透過 API 閘道 WebSocket 將回應串流傳回,以供用戶端應用程式取用。步驟 10
使用 CloudWatch,此解決方案會收集各種服務的作業指標,以產生自訂儀表板,讓您能夠監控部署的效能和營運運作狀態。