本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon 基岩和 Amazon Transcribe 來記錄語音輸入的機構知識
由庫馬爾傑亞拉揚(AWS),橋俊東(AWS),吳梅根(AWS)和拉吉夫·庫帕迪伊(AWS)創建
代碼存儲庫:genai-knowledge-capture | 環境:PoC 或試點 | 技術:機器學習和人工智能; 業務生產力; CloudNative |
AWS 服務:Amazon 基岩;AWS CDK;AWS Lambda;Amazon SNS;AWS Step Functions;Amazon Transcribe |
Summary
捕捉機構知識對於確保組織的成功和韌性至關重要。機構知識代表了員工隨著時間的推移積累的集體智慧,見解和經驗,通常在自然界中默契並非正式地傳下來。這種豐富的信息包括獨特的方法,最佳實踐以及解決複雜問題的解決方案,這些問題可能無法在其他地方記錄。通過正式化和記錄這些知識,公司可以保留機構記憶,促進創新,增強決策過程,並加快新員工的學習曲線。此外,它還促進協作,賦予個人權力,並培養持續改進的文化。最終,利用機構知識可以幫助公司利用其最有價值的資產(勞動力的集體智能)在動態的業務環境中應對挑戰,推動增長並保持競爭優勢。
這種模式解釋瞭如何通過高級員工的錄音來捕獲機構知識。它使用 Amazon Transcribe 和 Amazon 基岩進行系統的文檔和驗證。通過記錄這些非正式知識,您可以保留它,並與後續的員工群體共享。這項努力通過整合通過直接經驗獲得的實踐知識來支持卓越運營並提高培訓計劃的有效性。
先決條件和限制
先決條件
限制
產品版本
適用於蟒蛇的 AWS 開發套件 (博圖 3) 1.34.57 版或更新版本
LangChain 版本 0.1.12 或更新版本
架構
該架構代表 AWS 上的無伺服器工作流程。AWS Step Functions 可協調 Lambda 函數,以進行音訊處理、文字分析和文件產生。下圖顯示了 Step Functions 工作流程,也稱為狀態機。
狀態機中的每個步驟都由不同的 Lambda 函數處理。以下是文件產生程序中的步驟:
preprocess
Lambda 函數會驗證傳遞至 Step Functions 數的輸入,並列出提供的 Amazon S3 URI 資料夾路徑中存在的所有音訊檔案。工作流程中的下游 Lambda 函數會使用檔案清單來驗證、摘要和產生文件。transcribe
Lambda 函數使用 Amazon Transcribe 將音頻文件轉換為文本記錄。此 Lambda 函數負責啟動轉錄程序,並準確地將語音轉換為文字,然後儲存以供後續處理。L
validate
ambda 函數會分析文字記錄,判斷回應初始問題的相關性。透過 Amazon 基岩使用大型語言模型 (LLM),它可以識別主題相關答案,並將主題答案與離題回應分開。L
summarize
ambda 函數使用 Amazon 基岩來生成一致且簡潔的主題答案摘要。generate
Lambda 函數會將摘要彙編成結構良好的文件。它可以根據預定義的模板格式化文檔,並包括任何其他必要的內容或數據。如果任何 Lambda 函數失敗,您會透過亞馬遜簡單通知服務 (Amazon SNS) 收到電子郵件通知。
在整個過程中,AWS Step Functions 數可確保以正確的順序啟動每個 Lambda 函數。該狀態機具有 parallel 處理的能力,以提高效率。Amazon S3 儲存貯體充當中央儲存庫,透過管理涉及的各種媒體和文件格式來支援工作流程。
工具
AWS 服務
Amazon 基岩是一項全受管服務,可透過統一的 API,讓領先的 AI 新創公司和 Amazon 提供的高效能基礎模型 (FM) 供您使用。
AWS Lambda 是一種運算服務,可協助您執行程式碼,而不需要佈建或管理伺服器。它只會在需要時執行程式碼並自動調整規模,因此您只需為使用的運算時間付費。
Amazon Simple Notification Service (Amazon SNS) 可協助您協調和管理發佈者和客戶之間的訊息交換,包括 Web 伺服器和電子郵件地址。
Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
AWS Step Functions 是一種無伺服器協調服務,可協助您結合 AWS Lambda 函數和其他 AWS 服務來建立關鍵業務應用程式。
Amazon Transcribe 是一種自動語音辨識服務,使用機器學習模型將音訊轉換為文字。
其他工具
LangChain
是用於開發由大型語言模型(LLM)提供支持的應用程序的框架。
代碼存儲庫
此模式的代碼可在 GitHub genai-knowledge-capture
代碼存儲庫包含以下文件和文件夾:
assets
資料夾 — 解決方案的靜態資產,例如架構圖和公開資料集code/lambdas
資料夾 — 所有 Lambda 函數的 Python 程式碼code/lambdas/generate
文件夾-從 S3 存儲桶中的摘要數據生成文檔的 Python 代碼code/lambdas/preprocess
文件夾-處理 Step Functions 狀態機輸入的 Python 代碼code/lambdas/summarize
文件夾-使用 Amazon 基岩服務總結轉錄數據的 Python 代碼code/lambdas/transcribe
文件夾-使用 Amazon Transcribe 將語音數據(音頻文件)轉換為文本的 Python 代碼code/lambdas/validate
文件夾-驗證所有答案是否與同一主題有關的 Python 代碼
code/code_stack.py
— 用於建立 AWS 資源的 AWS CDK 建構 Python 檔案app.py
— 用於在目標 AWS 帳戶中部署 AWS 資源的 AWS CDK 應用程式 Python 檔案requirements.txt
— 必須為 AWS CDK 安裝的所有 Python 相依性清單cdk.json
— 用來提供建立資源所需值的輸入檔案
最佳實務
提供的程式碼範例僅用於 proof-of-concept (PoC) 或試驗目的。如果您想要將解決方案推向生產環境,請使用下列最佳作法:
啟用 VPC 流程記錄
史诗
任務 | 描述 | 所需技能 |
---|---|---|
匯出帳戶和 AWS 區域的變數。 | 若要使用環境變數為 AWS CDK 提供 AWS 登入資料,請執行下列命令。
| AWS DevOps、 DevOps 工程師 |
設定 AWS CLI 命名的設定檔。 | 若要為帳戶設定 AWS CLI 命名的設定檔,請按照組態和登入資料檔案設定中的指示進行操作。 | AWS DevOps、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
將存放庫克隆到您的本地工作站。 | 要克隆genai-knowledge-capture
| AWS DevOps、 DevOps 工程師 |
(選擇性) 取代音訊檔案。 | 若要自訂範例應用程式以合併您自己的資料,請執行下列動作:
| AWS DevOps、 DevOps 工程師 |
設定虛 Python 環境。 | 若要設定 Python 虛擬環境,請執行下列命令。
| AWS DevOps、 DevOps 工程師 |
合成 AWS CDK 程式碼。 | 若要將程式碼轉換為 AWS CloudFormation 堆疊組態,請執行下列命令。
| AWS DevOps、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
提供基礎模型存取權。 | 為您的 AWS 帳戶啟用人性克勞德 3 十四行詩模型的存取權。如需指示,請參閱基岩文件中的新增模型存取權限。 | AWS DevOps |
在帳戶中部署資源。 | 若要使用 AWS CDK 在 AWS 帳戶中部署資源,請執行下列動作:
| AWS DevOps、 DevOps 工程師 |
訂閱 Amazon SNS 主題。 | 若要訂閱 Amazon SNS 主題以取得通知,請執行下列動作:
| 一般 AWS |
任務 | 描述 | 所需技能 |
---|---|---|
運行狀態機。 |
| 一般 AWS 應用程式開發人員 |
任務 | 描述 | 所需技能 |
---|---|---|
移除 AWS 資源。 | 測試解決方案之後,請清理資源:
| AWS DevOps、 DevOps 工程師 |
相關資源
AWS 文件
Amazon 基岩資源:
AWS CDK 資源:
AWS Step Functions 資源:
其他資源