従業員の生産性 GenAI アシスタントの例は、 AI テクノロジーの統合を通じてタスク作成の効率と有効性を高めるために設計された革新的なコード サンプルです。 AWS ユーザー向けに調整されたこのアシスタントの例は、Amazon Bedrock と生成 AI モデルを利用して初期テンプレートの作成を自動化し、独自のニーズに合わせてカスタマイズすることもできます。ユーザーはテキストと画像の両方を入力でき、複数のデータ型との動的な対話をサポートする Claude 3 ファミリのような最先端の AI のマルチモーダル機能の恩恵を受けることができます。
従業員生産性 GenAI アシスタントのサンプルは、Lambda、API Gateway、DynamoDB、S3 などの堅牢な AWS サーバーレス テクノロジーに基づいて構築されており、Cognito を通じてスケーラビリティ、高可用性、セキュリティを保証します。これらのテクノロジーは、Employee Productivity GenAI Assistant Example が厳格なセキュリティ基準を維持しながら、ユーザーのニーズにオンデマンドで対応できる基盤を提供します。その生成機能の中核は、Amazon Bedrock で利用可能な強力な AI モデルに由来しており、カスタマイズされた高品質のコンテンツを迅速に配信するのに役立ちます。
従業員の生産性 GenAI Assistant の例では、一連のインタラクティブ GIF を通じてその機能を紹介しており、ユーザーがその機能を理解し、活用しやすくなっています。
合理化されたインターフェイスと包括的なツールを提供することにより、Employee Productivity GenAI Assistant Example は、複雑なドキュメントの生成を簡素化するだけでなく、ユーザーの生産性と創造性も向上させます。この GitHub リポジトリは、このソリューションをユーザー所有の AWS アカウントにデプロイするためのガイドとして機能し、誰でもこの AI を活用したライティング アシスタントの高度な機能をセットアップして活用できるようになります。
アーキテクチャパターンと再利用可能なコンポーネント
インタラクティブな機能に加えて、従業員生産性 GenAI アシスタントのサンプルは、AWS 上で生成 AI ソリューションを構築するための堅牢なアーキテクチャ パターンを提供します。この例では、Amazon Bedrock と、Lambda、API Gateway、DynamoDB などの AWS サーバーレス サービスを活用することにより、Generative AI アプリケーションをデプロイするためのスケーラブルで安全なアプローチを示しています。このアーキテクチャ パターンは、さまざまなユース ケースに合わせたさまざまな生成 AI ソリューションを構築するための基盤として使用できます。さらに、このソリューションには React フレームワーク上に構築された再利用可能なコンポーネント駆動型 UI が含まれているため、開発者は特定のニーズに合わせてインターフェイスを簡単に拡張およびカスタマイズできます。この例では、WebSocket を使用したストリーミング サポートの実装も紹介しています。これにより、チャットベースの対話とワンタイム リクエストの両方でリアルタイムの応答が可能になり、Generative AI アシスタントのユーザー エクスペリエンスと応答性が向上します。
improve-employee-productivity-using-genai/
│
├── backend/ - Contains all backend related files.
│ ├── artifacts/ - Artifacts such as screenshots
│ ├── src/ - Source code for Lambda functions.
│ ├── utils/ - Utility scripts such as helper to create Cognito users
│ ├── layer/ - Code for Lambda layers.
│ └── template.yaml - Main SAM template for Infrastructure as Code (IaC) deployment.
│
└── frontend/ - Houses the frontend React application.
│ ├── src/ - Main folder for React code.
│ └── App.js - Entry point for the React application.
│ └── .env - Environment variables created on deployment (auto-generated).
│
├── deploy.sh - Single bash script for deploying both backend and frontend.
└── default_templates.json - Default templates that gets uploaded to DynamoDB at deployment for bootstrap.
Employee Productivity GenAI Assistant Example の展開と開発を始める前に、次の前提条件が設定されていることを確認してください。
pip
インストールされ、動作していることを確認してくださいEmployee Productivity GenAI Assistant Example の展開または開発を進める前に、これらがインストールされ、適切に構成されていることを確認してください。
️ 重要: 導入を続行する前に、前提条件をすべて完了していることを確認してください。
従業員生産性 GenAI アシスタントの導入例には、バックエンドとフロントエンドの両方のセットアップを処理する bash スクリプトの実行が含まれます。以下は、スクリプトが実行する詳細な手順です。
Employee Productivity GenAI Assistant の例をデプロイするには、必須の引数として AWS リージョンを含めて、ターミナルで次のコマンドを使用します。
./deploy.sh --region=your-aws-region --email=your-email
./deploy.sh --backend --region=your-aws-region --email=your-email
./deploy.sh --frontend --region=your-aws-region --email=your-email
./deploy.sh --delete --region=your-aws-region --email=your-email
./deploy.sh --container --region=your-aws-region --email=your-email
your-aws-region
を適切な AWS リージョン (例: us-east-1
) に置き換えます。
必ずプロジェクト ディレクトリのルートからこれらのコマンドを実行し、 your-aws-region
使用する実際の AWS リージョンに置き換えてください。
デプロイが完了したら、以下のデプロイ後の手順の手順に進みます。
スクリプトの動作の詳細については、以下を参照してください。
--delete
フラグを使用すると、スクリプトは指定された AWS スタックを削除するかどうかの確認を求めます。--backend
が指定されている場合) :sam build --template "$SAM_TEMPLATE" --parallel --cached
--container
が./deploy.sh
に指定されている場合、次のように SAM の実行がトリガーされます。 sam build --template "$SAM_TEMPLATE" --parallel --cached --use-container
--frontend
が指定されている場合) :.env
ファイルを作成または上書きします。aws-exports.json
作成または上書きします。AWS CloudShell を使用すると、AWS コンソール内からアクセスできる無料のインスタント Linux 環境を構築できます。 AWS CloudShell を使用してソリューションをインストールするには、以下の手順を順番に実行してください。
依存関係のインストール: まず、必要な開発ツールとライブラリがインストールされていることを確認します。 AWS CloudShell を開き、次のコマンドを実行します。
# Install Development Tools
sudo yum groupinstall " Development Tools " -y &&
# Install necessary libraries
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel ncurses-devel readline-devel sqlite-devel -y
PyEnv を使用した Python 3.11 のインストール: AWS CloudShell には Python 3.11 が付属していないため、PyEnv をインストールしてから、シェルに Python 3.11 をインストールしてデフォルトの Python バージョンとして設定する必要があります。
# Install PyEnv
git clone https://github.com/pyenv/pyenv.git ~ /.pyenv
# Set .bash_profile env
echo ' ' >> ~ /.bash_profile
echo ' # Pyenv Configuration ' >> ~ /.bash_profile
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bash_profile
echo ' export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bash_profile
echo ' eval "$(pyenv init -)" ' >> ~ /.bash_profile
# Reinitialize your Shell
source ~ /.bash_profile
# Install Python 3.11
pyenv install 3.11
# Set Python 3.11 as default with PyEnv
pyenv global 3.11
CloudShell で新しい作業フォルダーを作成する: AWS CloudShell ホーム ディレクトリには 1 GB のストレージしかなく、このアプリケーションを構築してデプロイするには一時ストレージを使用する必要があります。まず、ルート ディレクトリにフォルダーを作成し、適切なユーザー権限を設定しましょう。
# Folder creation
sudo mkdir /aws-samples &&
# Setting folder permissions
sudo chown cloudshell-user -R /aws-samples
リポジトリのクローンを作成してソリューションをデプロイする: フォルダーとすべての依存関係がインストールされたので、AWS CloudShel を使用してソリューションをデプロイする方法を段階的に説明していきます。
# Navigate to the newly created folder
cd /aws-samples
# Clone the repo in the /aws-samples folder
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai.git
# Navigate to the git folder
cd improve-employee-productivity-using-genai/
# Before running the deployment command, set the maximum npm memory to 1024MB to avoid OOM error
export NODE_OPTIONS= " --max_old_space_size=1024 "
ソリューションのバックエンドをデプロイする: アプリケーションをデプロイするための依存関係がすべて揃ったので、以下のコマンドを使用してソリューションのバックエンドをデプロイできます。 Cloudshell には同じコマンドで両方をデプロイし続けるための十分なメモリがないため、バックエンド、次にフロントエンドのデプロイ オプションを使用しています。以下のコマンドを実行する前に、地域と電子メールを変更してください。
# Run the deployment command for the backend
./deploy.sh --backend --region=your-aws-region --email=your-email
ソリューションのフロントエンドをデプロイする: 最後に残っているのは、ソリューションのフロントエンドをデプロイすることです。上記のバックエンド コマンドで実行したのと同じリージョンと電子メールを使用してください。
# Run the deployment command for the frontend
./deploy.sh --frontend --region=your-aws-region --email=your-email
デプロイには 15 ~ 30 分かかる場合があります。20 分以上 AWS CloudShell を操作しないと、CloudShell 環境が削除されることに注意してください。自動的にシャットダウンしないように、2 番目の CloudShell タブを開いて、10 分ごとにいくつかのコマンドを実行することをお勧めします。
注: CloudShell のメモリ不足が原因でこのコマンドが失敗した場合は、
--frontend
コマンドを再度実行するだけで機能するはずです。
デプロイが完了すると、ソリューションにアクセスするための CloudFront URL、ユーザー名、および一時パスワードが表示されます。導入後のセクションを確認してください。
AWS Cloud9 を使用して従業員生産性 GenAI アシスタントの例をデプロイすると、合理化された一貫した開発環境セットアップが提供されます。 Cloud9 環境をセットアップし、アプリケーションを効率的にデプロイするには、次の詳細な手順に従ってください。
注: EBS ボリュームは自動サイズ変更されます。
AWS Cloud9 コンソールを開きます。
新しい環境を作成します。
GenAI-Productivity-Env
。 [次のステップ]をクリックします。環境を構成します。
t3/t3.medium
以上を選択します。AWS System Manager (SSM)
選択します。 レビューと作成:
環境の準備ができたら、Employee Productivity GenAI Assistant Example をデプロイするための準備をする必要があります。
Cloud9 環境にアクセスする:
プロジェクト リポジトリのクローンを作成します。
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai
cd improve-employee-productivity-using-genai
バックエンドとフロントエンドの両方をデプロイすることも、別々に処理することもできます。
バックエンドとフロントエンドの両方をデプロイするには (推奨) :
./deploy.sh --container --region= < your-aws-region > --email= < your-email >
AWS リージョン (us-east-1 など) と実際の電子メール アドレスに置き換えます。
バックエンドのみをデプロイするには:
./deploy.sh --backend --container --region= < your-aws-region > --email= < your-email >
AWS リージョン (us-east-1 など) と実際の電子メール アドレスに置き換えます。
フロントエンドのみをデプロイするには:
./deploy.sh --frontend --region= < your-aws-region > --email= < your-email >
AWS リージョン (us-east-1 など) と実際の電子メール アドレスに置き換えます。
展開スクリプトが完了したら、次のセクション「展開後の手順」に進みます。
Employee Productivity GenAI Assistant Example を正常にデプロイした後、デフォルトでは Cognito 上に Admin ユーザーのみが作成されるため、次の手順に従って追加の Cognito ユーザーを作成し、Employee Productivity GenAI Assistant Example デプロイメントへのアクセスを許可してください。
アプリケーションにアクセスします。
アプリケーションにサインインします。
<your-email>
) を使用してサインインします。アプリケーションを探索します。
追加のユーザーを作成する (オプション) :
EmployeeProductivityGenAIAssistantExample
ユーザー プールを選択します。ユーザー役割の割り当て (オプション) :
? Employee Productivity GenAI Assistant Example の導入と設定が完了しました。おめでとうございます。その機能を探索し、その体験をお楽しみください。
.env
ファイルとaws-exports.json
ファイルを確認して、CloudFront 分散アプリケーションに環境変数が正しく設定されていることを確認します。 これらの魅力的なデモンストレーションで、Employee Productivity GenAI Assistant Example の機能を探索してください。各機能は、システムの動作を示すインタラクティブ GIF を通じて強調表示されます。
遊び場の使いやすさ:
テンプレートの作成:
アクティビティ内のテンプレート アプリケーション:
アクティビティ履歴機能:
テンプレートを使用したインタラクティブなチャット:
マルチモダリティ入力:
これらのツールは、サーバーレス環境で AI モデルとの対話を合理化し、生産性と創造性を向上させるように設計されています。
従業員生産性 GenAI アシスタントの例の実行コストは、使用パターンと、利用することを選択した特定の Amazon Bedrock モデルによって異なります。概算を提供するために、50 人のユーザーがツールを 1 日 5 回利用し、平均 500 個の入力トークンと 200 個の出力トークンを使用するシナリオを考慮したコスト見積りリンクを作成しました。
推定月額コストは次の仮定に基づいています。
Bedrock 料金は、AWS Bedrock 料金ページで確認できます。特定のシナリオの推定コストは次のとおりです。
クロード 3 俳句モデル:
クロード 3 ソネット モデル:
クロード 3.5 ソネット モデル:
クロード 3 オーパスモデル:
注: コストの見積もりは単一のモデルを使用して計算されますが、必要に応じてモデルを柔軟に切り替えることができます。たとえば、特定のリクエストに対して Opus などのより高度なモデルが必要な場合は、その使用量に対してのみ料金が発生します。ほとんどのリクエストでは、Haiku のようなコストがより最適化されたモデルを利用できます。これにより、ツールの全体的なコストが低く抑えられ、ニーズに合わせて最適化されます。
注: この見積もりには、対象サービスの AWS 無料利用枠は考慮されていません。無料利用枠の制限内であれば、実際のコストはより低くなる可能性があります。また、AWS サービスの料金は時間の経過とともに変更される可能性があるため、実際のコストはこれらの見積もりと異なる場合があることにも注意してください。
これは単なる見積もりであり、正確なコストを表すものではないことに注意することが重要です。目的は、特定のシナリオに基づいて潜在的なコストの概要を提供することです。実際のコストは、特定の使用パターンと、利用することを選択した Amazon Bedrock モデルによって異なります。
クラウドおよびサーバーレス アーキテクチャの大きな利点の 1 つは、需要に応じてリソースをスケールアップまたはスケールダウンできることです。その結果、ソリューションのコストはそれに応じて増減するため、消費したリソースに対してのみお支払いいただくことになります。
さらに、AWS Lambda、S3、CloudFront、DynamoDB、Amazon Cognito などのソリューションの一部のコンポーネントでは、AWS 無料利用枠の制限内であれば追加費用が発生しない場合があります。
コスト見積りリンク: https://calculator.aws/#/estimate?id=5fa739dd54db78d439bb602e17bd8af8a1d78f07
注: クロードモデルは計算ツールでまだサポートされていないため、コスト見積もりには Amazon Bedrock の料金は含まれません。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
従業員生産性 GenAI アシスタントの例への貢献を歓迎します。提案がある場合、または問題を報告したい場合は、お気軽にプル リクエストまたは問題を開いてください。
ソリューションを実装するときは、セキュリティ、信頼性、可観測性を確保するためのベスト プラクティスに従うことが不可欠です。以下にいくつかの推奨事項を示しますが、このリストはすべてを網羅したものではなく、さらに検討すべき事項がある可能性があることに注意してください。
データのセキュリティを強化するには、AWS Key Management Service (KMS) に保存されているカスタマー管理キー (CMK) を使用して、さまざまなサービスの暗号化を有効にすることを検討してください。これにより、暗号化キーへのアクセスを制御できるようになり、追加のセキュリティ層が提供されます。
監視、トラブルシューティング、セキュリティ監査には、堅牢な可観測性とログのメカニズムを実装することが重要です。
AccessLogSetting
プロパティを定義します。Virtual Private Cloud (VPC) で実行される Lambda 関数の場合、安全で効率的な通信を促進するために VPC エンドポイントが適切に設定されていることを確認します。これにより、すべての呼び出しが VPC の内部に保持され、AWS パブリック エンドポイントの使用を回避できます。
これらのベスト プラクティスを実装することで、環境のセキュリティ、信頼性、可観測性を大幅に強化できます。アプリケーションとインフラストラクチャの特定のニーズを常に考慮して、最適な構成を決定してください。