AWS Builders Online Seriesで紹介されていたGenUを構築してみました。生成AIアプリケーションを簡単に構築できます。ChatGPTのTeamプランでは難しい利用状況のモニタリングも簡単に行えたり、IP制限をかけられるので安全に利用することができます。
GenUとは
正式名称を『Generative AI Use Cases JP』と言い、通称がGenU。GenUはAWSが提供する生成 AI を安全に業務活用するための、ビジネスユースケース集を備えたアプリケーション実装です。
生成AIを業務に導入するに際していくつかの懸念があります。GenUはそれらの懸念に対応できるアプリケーション実装になっています。
現場での利用を促進するユースケースが実装されている
生成AIを業務に導入しても使われないかもしれないという懸念があります。その対応としてすぐに使えるプロンプト集を作成して展開するという方法が紹介されています。GenUでは業務でよく使うプロンプトがユースケースとして最初から組み込まれています。
翻訳は生成AIが力を発揮するユースケースですが、毎回言語を指定して翻訳するようにプロンプトを入力するのは手間がかかります。GenUでは翻訳用のユースケースが用意されており、翻訳したい文章を入力して言語を選択するだけで翻訳を行うことができます。
利用状況のモニタリングが行える(オプション)
生成AIを業務に導入したのち、どれだけ現場で使われているか効果測定を行いたいというニーズがあります。GenUではモニタリングダッシュボードを有効化することで以下の状況をモニタリングすることができます。
- インプットのトークン数
- アウトプットのトークン数
- 呼び出し回数
- 利用しているユーザ数
- 入力されたプロンプト
モニタリングダッシュボードを有効化するとAWS CloudWatchのダッシュボードが作成されます。プロンプト以外はメトリクスで表示されるので時系列で状況を把握できます。プロンプトを確認できるため、どのような用途での使用頻度が高いかや、セキュリティに問題のある入力が行われていないかを監視することができます。
接続制限を行える(オプション)
セキュリティ設定を有効化するとAWS WAFによる接続制限を行うことができます。オフィスのグローバルIPだけ接続可能となるようにIP制限を行うことでオフィス以外からの使用を禁止することができます。特定の環境からのみに使用を制限することで生成AIを安全に利用することができます。
RAGを構築できる(オプション)
生成AIだけでは自社のデータや業務のデータを使った生成を行うことができません。GenUではRAGチャットを有効化することでRAGを構築できます。RAGチャットにはAmazon KendraかAmazon Bedrock Knowledge Baseのいずれかを使用するか指定できます。Amazon Kendraは高性能ですが費用が高く、Amazon Bedrock Knowledge Baseは手軽に導入できますが費用を抑えられます。用途によってどちらを採用するかを決めましょう。お試しであればAmazon Bedrock Knowledge Baseが良いと思います。
構成図
公式で公表されている構成図は以下の通りです。点線で囲われている部分はオプション機能になります。

構築
構築環境
Node.jsとCDKが動く環境が必要です。ローカルに環境が無い場合はAWS Cloud9というWebのIDE環境から構築することができます。Cloud9の環境構築手順は以下の記事を参照してください。

構築手順
手順は簡単4ステップです。
- GitHubからcloneする
- CDKをBootstrapする
- クリーンインストールする
- デプロイする
入力しているコマンドは以下の通りです。
git clone https://github.com/aws-samples/generative-ai-use-cases-jp.git
cd generative-ai-use-cases-jp
npm ci
npx -w packages/cdk cdk bootstrap
npm run cdk:deploy
モデルの有効化
構成図を見て分かる通り生成AIを動かすためにAmazon Bedrockを使用しています。GenUのデフォルトではバージニア北部リージョン (us-east-1) の Anthropic Claude 3 Sonnet (テキスト生成)と、Stability AI の SDXL 1.0(画像生成) を利用する設定になっています。Amazon Bedrockでこの2つの生成AIのモデルを有効化しておく必要があります。
GenUを動かすにはus-east-1:米国東部 (バージニア北部)リージョンでモデルを有効化してください。
設定変更
後述するセルフサインアップを無効化したり、各種オプションを有効化する場合はcdk.jsonを書き換えて、以下のコマンドで再デプロイします。
npm run cdk:deploy
モニタリングダッシュボードの有効化
cdk.json以下のように修正して再デプロイします。
{
"context": {
"dashboard": true
}
}
再デプロイ後にBedrockのロググループの設定を行います。
セルフサインアップの無効化
cdk.json以下のように修正して再デプロイします。再デプロイだけで無効化できます。
{
"context": {
"selfSignUpEnabled": false,
}
}
アカウントを作成できるドメインに制限をかける場合はcdk.json以下のように修正します。
{
"context": {
"allowedSignUpEmailDomains": [許可するドメイン],
}
}
注意点
デフォルトでセルフサインアップが有効化されている
デフォルトでセルフサインアップが有効化されています。URLを知っている人であれば誰でもユーザを作ってサインアップできてしまうのです。AWS Builders Online Seriesで紹介された時もセルフサインアップは無効化した方が良いと紹介されていたので無効化しておきましょう。
東京リージョンだと最新のモデルが使用できない
2024年6月20日に開催されたAWS SummitにおいてAmazon BedrockでClaude 3.5 Sonnetが使用できるようになるとアナウンスされました。しかし、東京リージョンではまだ使用することはできません。お客様から預かったデータを海外に持ち出してはいけない契約になっている場合は注意が必要です。
従量課金で費用がかかる
Amazon Bedrockで動いているため、使用した分だけ費用がかかってきます。本格的に導入をする際は想定使用量をしっかり把握してランニングコストを計算する必要があります。導入前の検討の場合は検討後には削除するに注意しましょう。Kendraを使用したオプションを有効化すると高額請求になる恐れがあるので気を付けてください。
まとめ
GenUの構築手順について解説しました。簡単に生成AIアプリケーションを試すことができます。業務導入のために費用をかけずに試してみたい人におすすめです。次の記事でGenUの削除の仕方を解説しようと思います。削除も構築と同様に簡単に行えるので気軽に試すことができます。
コメント