翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock と Amazon Transcribe を使用して、音声入力から組織の知識を文書化する
作成者: Praveen Kumar Jeyarajan (AWS)、Jundong Qiao (AWS)、Megan Wu (AWS)、Rajiv Upadhyay (AWS)
コードリポジトリ: genai-knowledge-capture | 環境:PoC またはパイロット | テクノロジー: 機械学習と AI、ビジネスの生産性 CloudNative |
AWS サービス: Amazon Bedrock、AWS CDK、AWS LambdaAmazon SNSAWS Step FunctionsAmazon Transcribe |
[概要]
組織の成功と回復力を確保するには、組織の知識を捉えることが最優先事項です。の知識は、従業員が蓄積した共通の知性、洞察、経験を表し、多くの場合、本質的に暗黙的で、非公式に受け継がれます。この豊富な情報には、他には文書化されていない複雑な問題に対する独自のアプローチ、ベストプラクティス、および解決策が含まれます。この知識を形式化して文書化することで、企業は組織の記憶を保持し、イノベーションを促進し、意思決定プロセスを強化し、新しい従業員の学習曲線を加速させることができます。さらに、コラボレーションを促進し、個人に権限を与え、継続的な改善の文化を育みます。最終的には、組織的知識を活用することで、企業はワークフォースの集合的インテリジェンスである最も価値のあるアセットを活用して、課題を解決し、成長を促進し、動的なビジネス環境で競争上の優位性を維持するのに役立ちます。
このパターンでは、上級従業員からの音声録音を通じて組織の知識をキャプチャする方法を説明します。Amazon Transcribe と Amazon Bedrock を使用して、体系的なドキュメント化と検証を行います。この非公式な知識を文書化することで、それを保存し、後続の従業員のグループと共有できます。この取り組みは、運用上の優秀性をサポートし、直接的な経験を通じて取得した実践的な知識を組み込むことで、トレーニングプログラムの有効性を向上させます。
前提条件と制限
前提条件
アクティブな AWS アカウント
Docker、インストール
済み AWS Cloud Development Kit (AWS CDK) バージョン 2.114.1 以降、
us-east-1
または AWSus-west-2
リージョンにインストールおよびブートストラップAWS CDK Toolkit バージョン 2.114.1 以降がインストールされている
Python バージョン 3.12 以降、インストール
済み Amazon Transcribe 、Amazon Bedrock、Amazon Simple Storage Service (Amazon S3)、および AWS Lambda リソースを作成するアクセス許可
制限
このソリューションは単一 AWS アカウントにデプロイされます。
このソリューションは、Amazon Bedrock と Amazon Transcribe が利用可能な AWS リージョンでのみデプロイできます。可用性の詳細については、Amazon Bedrock と Amazon Transcribeのドキュメントを参照してください。
オーディオファイルは、Amazon Transcribe がサポートする形式である必要があります。サポートされている形式のリストについては、Transcribe ドキュメントの「メディア形式」を参照してください。
製品バージョン
AWS SDK for Python (Boto3) バージョン 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 関数は、文字起こしプロセスを開始し、音声をテキストに正確に変換し、後続の処理のために保存します。validate
Lambda 関数はテキスト文字起こしを分析し、最初の質問に対するレスポンスの関連性を判断します。Amazon Bedrock を通じて大規模言語モデル (LLM) を使用することで、トピック上の回答を識別し、トピック外の回答から分離します。summarize
Lambda 関数は Amazon Bedrock を使用して、トピック上の回答の一貫した簡潔な概要を生成します。generate
Lambda 関数は、概要を構造化されたドキュメントにアセンブルします。事前定義されたテンプレートに従ってドキュメントをフォーマットし、追加の必要なコンテンツやデータを含めることができます。Lambda 関数のいずれかが失敗すると、Amazon Simple Notification Service (Amazon SNS) を通じて E メール通知が送信されます。
このプロセスを通じて、AWS Step Functions は各 Lambda 関数が正しい順序で開始されるようにします。このステートマシンには、効率を向上させるための並列処理の容量があります。Amazon S3 バケットは中央ストレージリポジトリとして機能し、関連するさまざまなメディアおよびドキュメント形式を管理することでワークフローをサポートします。
ツール
AWS サービス
Amazon Bedrock は、主要な AI スタートアップと Amazon からの高性能な基盤モデル (FMsを統合 API を通じて使用できるようにするフルマネージドサービスです。
AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。
「Amazon Simple Notification Service (Amazon SNS)」は、ウェブサーバーやメールアドレスなど、パブリッシャーとクライアント間のメッセージの交換を調整および管理するのに役立ちます。
Amazon Simple Storage Service (Amazon S3) は、量にかかわらず、データを保存、保護、取得する上で役立つクラウドベースのオブジェクトストレージサービスです。
AWS Step Functionsは、AWS Lambda関数と他のAWS サービスを組み合わせてビジネスクリティカルなアプリケーションを構築できるサーバーレスオーケストレーションサービスです。
Amazon Transcribe は、機械学習モデルを使用して音声をテキストに変換する自動音声認識サービスです。
その他のツール
LangChain
は、大規模言語モデル (LLMs。
コードリポジトリ
このパターンのコードはリポジトリにあります GitHub genai-knowledge-capture
コードリポジトリには以下のファイルとフォルダが含まれています。
assets
フォルダ – アーキテクチャ図やパブリックデータセットなど、ソリューションの静的アセットcode/lambdas
folder – すべての Lambda 関数の Python コードcode/lambdas/generate
folder - S3 バケット内の要約データからドキュメントを生成する Python コードcode/lambdas/preprocess
folder - Step Functions ステートマシンの入力を処理する Python コードcode/lambdas/summarize
フォルダ - Amazon Bedrock サービスを使用して文字起こしされたデータを要約する Python コードcode/lambdas/transcribe
フォルダ - Amazon Transcribe を使用して音声データ (オーディオファイル) をテキストに変換する Python コードcode/lambdas/validate
folder - すべての回答が同じトピックに関連しているかどうかを検証する Python コード
code/code_stack.py
– AWS CDK は、AWS リソースの作成に使用される Python ファイルを構築します。app.py
– ターゲット AWS アカウントに AWS リソースをデプロイするために使用される AWS CDK アプリケーション Python ファイルrequirements.txt
– AWS CDK にインストールする必要があるすべての Python 依存関係のリストcdk.json
– リソースの作成に必要な値を提供する入力ファイル
ベストプラクティス
提供されているコード例は、 proof-of-concept (PoC ) またはパイロットのみを目的としています。ソリューションを本番環境に移行する場合は、次のベストプラクティスを使用します。
Amazon S3 アクセスログ記録を有効にする
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 アカウントの Anthropic Claude 3 Sonnet モデルへのアクセスを有効にします。手順については、Bedrock ドキュメントの「モデルアクセスの追加」を参照してください。 | AWS DevOps |
アカウントにリソースをデプロイします。 | AWS CDK を使用して AWS アカウントにリソースをデプロイするには、次の手順を実行します。
| AWS DevOps、 DevOps エンジニア |
Amazon SNS トピックを購読します。 | 通知用に Amazon SNS トピックをサブスクライブするには、次の手順を実行します。
| AWS 全般 |
タスク | 説明 | 必要なスキル |
---|---|---|
ステートマシンを実行します。 |
| アプリ開発者、AWS 全般 |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS リソースを削除します。 | ソリューションをテストしたら、リソースをクリーンアップします。
| AWS DevOps、 DevOps エンジニア |
関連リソース
AWS ドキュメント
Amazon Bedrock リソース:
AWS CDK リソース:
AWS Step Functions リソース:
その他のリソース