Generative AI Use Cases JPを使ってAWS Bedrockを簡単構築してみた!
以前からAWSのBedrockには興味があったのですが、どう使っていいかわかりませんでした。しかしGenerative AI Use Cases JPを使うと簡単に構築して試すことができるということで構築してみました。
前評判どおりBedrock初めて触る私でも1時間程度で作業完了したので、構築体験談としてまとめてみました。
Amazon Bedrockのいいところ
正直さわるまでBedrockがどんなサービスかもしりませんでしたが、さわってみた感想としては
いろいろな生成AIのサービスをすぐにさわれる
ことが一番のメリットだと思いました。
新しい生成AIモデルがでたらモデルを変更するだけで使える。
これはとりあえず試してみたい人にはいいですよね。
Generative AI Use Cases JP(GenU)による構築
Generative AI Use Cases JP(略称:GenU)はAmazon Bedrockを利用し、ビジネスユースケース集を備えたアプリケーション実装ということです。
GitHubで公開されています。
https://github.com/aws-samples/generative-ai-use-cases-jp
今回はこちらを使ってBedrockを構築してみました。
構築後は基本AWSのサーバーレスで動作しますが、デプロイするための環境が必要です。今回はAWSで簡単構築を目指してCloud9を利用することにしました。
GitHubの手順をただたどっただけの記事ですが、一箇所だけハマったところもあったので、ブログの記事にしてみました。
ステップ1:Cloud9のセットアップ
まずはCloud9の構築から。
AWSコンソールからCloud9を検索して「環境作成」をクリック。
名前:適当にわかりやすい名前を
環境タイプ:新しいEC2インスタンス
インスタンスタイプ:t2.micro かt3.small (t2.microだとやや作業でストレスあるかも)
プラットフォーム:Ubuntu Server 22.04LTSを利用しました。
あとはデフォルト設定のまま作成
できあがったら環境一覧から「開く」をクリックします。
ステップ2:IAMを作成
このステップは少し簡略説明にします。
さきほど作成したCloud9からこのあとBedrockをデプロイするためのIAMユーザーを作成します。
作成したら、CLIでアクセスするためのアクセスキーを取得します。
ステップ3:GitHubからGeneratice AI Use Cases JPをダウンロード
ここからはCloud9の画面になります。
ここでタブの「+」ボタンを押して「New Terminal」を開き、
git clone https://github.com/aws-samples/generative-ai-use-cases-jp
と入力実行します。
ダウンロードが完了したらフォルダを移動(generative-ai-use-cases-jp)します。そこで必要なモジュールを「npm ci」でインストールします。このあたりからはGitHubでも手順が公開されています。
cd generative-ai-use-cases-jp/
npm ci
次にAWSにアクセスするためのセットアップを行います。
aws configure
でさきほどIAM作成して取得したアクセスキー・シークレットキーを入力し、デフォルトのリージョン設定をします。
*重要:リージョンをus-east-1かus-west-2にするのがおすすめです。理由は使えるモデルが多いからです。とくにClaude 3 Opusを利用したい場合は2025/5/17現在us-west-2のみの実装となります
ということで私はus-west-2をデフォルトリージョンに設定しました。
最後にCDKを利用したことがない環境の場合のみ実行でBootstrapの作業を行います。
npx -w packages/cdk cdk bootstrap
あとはデプロイするだけですが、その前に使用するモデルの設定を行います。
デプロイオプションを設定
こちらもCloud9上での作業です。
設定は 「packages/cdk/cdk.json」のファイルを変更します。
ここが私が失敗したところです。
使うモデルのリージョンを変更しなくてはなりません。
これをせずにデプロイするとエラーがでます!!
私はここで時間を浪費しました。設定を変更するにはcdk.jsonを開いて
”modelRegion”を”us-west-2”に変更します
また使いたいモデルもここで指定しておきます。
“modelIds"がデフォルトで"anthropic.claude-3-sonnet-20240229-v1:0”
になっているかと思います。例えばClaude3 haikuが使いたければ
"modelIds": [
"anthropic.claude-3-sonnet-20240229-v1:0",
"anthropic.claude-3-haiku-20240307-v1:0"
],
とします。モデルIDはGitHubでも公開されています。
ついでに画像生成もデフォルトstable diffusionですが、Amazon Titanも追加できます。"imageGenerationModelIds"を変更します。
"imageGenerationModelIds": [
"amazon.titan-image-generator-v1",
"stability.stable-diffusion-xl-v1"
],
他にもオプションありますが、今回は割愛します。詳しくはGitHubを参照ください。
次は実際に上で選択したモデルをAWSコンソールから有効化します。
AWS Bedrockのモデルの有効化
今度はまたAWSコンソールに戻ります。
AWSコンソールからBedrockを検索して設定していきます。
まずはリージョンをus-west-2に変えましょう(他のリージョンを使うかたはそのリージョンを選択します)
左側のメニューから「モデルアクセス」をクリックします。
「アクセスが付与されました」とでたモデルは利用可能となります。
Generative AI Use Cases JPのデプロイ
最後にまたCloud9に戻ってデプロイです。
npm run cdk:deploy
ここからは少し時間がかかりますが、待ちます。
deployが完了したら
「GenerativeAiUseCasesStack.WebUrl」
のリンク先をクリックしてブラウザで開きます。
するとログイン画面がでてきますので、ユーザーを作ってログインしましょう。
最後に
試してみたら本当に1時間(エラーでつまづかなければもっと早く)もあればデプロイまで完了すると思います。
ぜひこれで話題のClaude3 Opusなど使っていろんなアプリケーションを試してみてはいかがでしょうか?
次は一からアプリケーション開発してみたいと思います。