此概念驗證解決方案解釋了一種潛在的解決方案,可用於透過公司高級員工的錄音捕獲部落知識。它概述了使用 Amazon Transcribe 和 Amazon Bedrock 服務對輸入資料進行系統記錄和驗證的方法。透過提供一種使這種非正式知識正式化的結構,該解決方案保證了其對組織中後續員工群體的長期使用和適用性。這項努力不僅確保了卓越營運的持續維持,而且透過結合透過直接經驗獲得的實務知識,提高了培訓計畫的有效性。
該演示應用程式是使用 Amazon Transcribe 和 Amazon Bedrock 的文檔生成應用程式的概念驗證。
此圖描繪了 AWS 雲端區域內由 AWS Step Functions 編排的工作流程的解決方案架構。此工作流程由多個旨在處理使用者輸入的步驟組成,並在每個步驟中提供成功和失敗處理機制。下面是製程流程的描述:
使用者輸入:工作流程透過使用者輸入啟動,以觸發preprocess
Lambda 函數。
預處理:首先對輸入進行預處理。如果成功,則進入transcribe
步驟;如果失敗,則會觸發 Amazon SNS 發送通知。
轉錄:此步驟採用上一步驟的輸出。成功的轉錄將進入驗證步驟,並且轉錄輸出儲存在 Amazon S3 儲存桶中。
驗證:驗證轉錄的資料。根據驗證結果,工作流程有所不同:
Summarize :驗證後,如果資料成功匯總,匯總文字將儲存在 Amazon S3 儲存桶中。如果失敗,則會觸發 Amazon SNS 發送通知。
Amazon Bedrock是支援 Validate 和 Summarize Lambda 函數的核心服務。
產生:最後一步根據摘要文字產生最終文件。如果失敗,它會觸發 Amazon SNS 發送通知。
流程中的每個步驟都標記有「成功」或「失敗」路徑,指示工作流程處理各個階段錯誤的能力。發生故障時,Amazon SNS 用於向使用者發送通知。
AWS Step Functions 工作流程會以中央協調器執行,確保每個任務都以正確的順序執行,並適當處理每個步驟的成功或失敗。
cdk.json
檔案告訴 CDK Toolkit 如何執行您的應用程式。
此專案的設定類似於標準 Python 專案。初始化過程也會在此專案中建立一個 virtualenv,儲存在.venv
目錄下。要建立 virtualenv,它假設您的路徑中有一個可以存取venv
套件的python3
(或 Windows 的python
)可執行檔。如果因為任何原因自動建立 virtualenv 失敗,您可以手動建立 virtualenv。
要在 MacOS 和 Linux 上手動建立 virtualenv:
$ python3 -m venv .venv
初始化過程完成並建立 virtualenv 後,您可以使用以下步驟啟動 virtualenv。
$ source .venv/bin/activate
如果你是Windows平台,你可以像這樣啟動virtualenv:
% .venvScripts activate.bat
啟動 virtualenv 後,您可以安裝所需的依賴項。
$ pip install -r requirements.txt
若要新增其他依賴項(例如其他 CDK 庫),只需將它們新增至setup.py
檔案並重新執行pip install -r requirements.txt
命令。
此時,您現在可以為此程式碼合成 CloudFormation 範本。
$ cdk synth
若要新增其他依賴項(例如其他 CDK 庫),只需將它們新增至setup.py
檔案並重新執行pip install -r requirements.txt
命令。
如果這是您第一次在特定帳戶和區域執行 cdk,您將需要引導它。
$ cdk bootstrap
一旦引導完成,您就可以繼續部署 cdk。
$ cdk deploy
如果這是您第一次部署它,則在 ECS(Amazon Elastic Container Service)中建置多個 Docker 映像的過程可能需要大約 30-45 分鐘。請耐心等待直至完成。之後,它將開始部署 docgen-stack,通常需要大約 5-8 分鐘。
部署程序完成後,您將在終端機中看到 cdk 的輸出,您也可以在 CloudFormation 控制台中驗證狀態。
如果您想在使用完 cdk 後將其刪除,以避免日後產生費用,您可以透過控制台刪除它,也可以在終端機中執行以下命令。
$ cdk destroy
您可能還需要手動刪除 cdk 產生的 S3 儲存桶。請確保刪除所有產生的資源,以避免產生費用。
cdk ls
列出應用程式中的所有堆疊cdk synth
發出合成的 CloudFormation 模板cdk deploy
將此堆疊部署到您的預設AWS帳戶/區域cdk diff
將部署的堆疊與目前狀態進行比較cdk docs
開啟 CDK 文檔cdk destroy
dstroys 一個或多個指定的堆疊 code # Root folder for code for this solution
├── lambdas # Root folder for all lambda functions
│ ├── preprocess # Lambda function that processes user input, and outputs audio files uris for Amazon Transcribe
│ ├── transcribe # Lambda function that triggers Amazon Transcribe batch transcription
│ ├── validate # Lambda function that analyzes answers from Amazon Transcribe using LLMs from Amazon Bedrock
│ ├── summarize # Lambda function that summarizes on-topic texts from Amazon Transcribe using LLMs from Amazon Bedrock
│ └── generate # Lambda function that generates documents from the summary.
└── code_stack.py # Amazon CDK stack that deploys all AWS resources
若要自訂 DocGen 應用程式以合併您自己的數據,應遵循以下步驟:
部署後,AWS CDK 基礎架構將有助於將音訊檔案自動傳輸到指定的 Amazon S3 儲存桶。隨後,可以啟動 AWS Step Function 的執行以開始處理階段。
部署解決方案後,您可以將電子郵件訂閱至 SNS 主題以接收通知。
請關注SNS郵件通知。
如果 StepFunction 工作流程中的任何步驟失敗,您將收到電子郵件通知。
部署後,您可以使用下列命令觸發已部署的 AWS 狀態機:
aws stepfunctions start-execution
--state-machine-arn "arn:aws:states:<your aws region>:<your account id>:stateMachine:genai-knowledge-capture-stack-state-machine"
--input "{"documentName": "<your document name>", "audioFileFolderUri": "s3://<your s3 bucket>/assets/audio_samples/what is amazon bedrock/"}"
請參閱貢獻以獲取更多資訊。
該庫根據 MIT-0 許可證獲得許可。請參閱許可證文件。