AWSでは各種生成AIを利用できる専用環境を手軽に作れるライブラリを提供してくれています。
その名も、GenU (Generative AI Use Cases JP)。
自社専用の生成AI利用環境が手軽に作れるって、すごいですよね。
なんだか面白そう!
と思ったので、試しに使ってみました。
GenU利用環境の作り方を下記にまとめたので、気になる方がいたら、ご参考になると嬉しいです。
利用方法(ダイジェスト)
GitHubにライブラリがあります。
利用方法は、上記ページにも掲載されていますが、下記動画で解説されています。
ざっくり書くと、次の流れです。
① Cloud9の環境を作成
今回は、リージョンは「米国東部(us-east-1)を選びました。
プラットフォームはUbuntuを選択
② IAMロール作成
EC2へ移動します。EC2インスタンスが作成されているのを確認します。
EC2インスタンスにチェックをいれ、アクション/セキュリティ/IAMロールを変更 を選びます。
表示される画面で「新しいIAMロールを作成」をクリック。
【ロールを作成】ボタンを押し、ロールを新規作成します。
このとき、サービスまたはユースケースで、EC2を選択します。右下の【次へ】をクリック。
Administratorのフルアクセスを選択。右下の【次へ】をクリック
ロール名を付けて保存します。
③ EC2→インスタンスから作成したインスタンスを選択
再びEC2に戻ります。
アクション/セキュリティ/IAMロールを変更。②で作成したロールを選択します。
④ ①で作成したCloud 9を開く
⑤ 右上の歯車マークをクリック
表示される画面をスクロールして、【AWS Settings】を選択。AWS Settings画面の【AWS managed temporary credentials】を無効にします。
⑥ Cloud9でターミナルを開く
エラー:途中で【Connecting】となってつながらない時
EC2インスタンスを一度とめてから再起動
⑦ GitClone実行
GitHubライブラリをインストール
1 |
git clone https://github.com/aws-samples/generative-ai-use-cases-jp.git |
⑧ コマンド実行
cdコマンドで、クローンしたリポジトリに移動。下記コマンドを実行。
このあたりからは、GitHubを参照したほうが分かりやすいかもです。
1 |
npm ci |
CDK利用したことがない場合は下記も実行
1 |
npx -w packages/cdk cdk bootstrap |
⑨ 機械学習モデル選択
Amazon Bedrockにて使用したいモデルをリクエストし、有効にしておく。今回は、バージニア北部リージョンで、Mistral AIのMixtral 8x7B Instructを選びました。
⑩ 利用するモデルを登録
再びターミナルに戻ります。プロジェクト内のpackages/cdk/cdk.jsonファイルを編集し、利用するモデルを登録します。
今回は、Mistral AIのMixtral 8x7B Instructを登録してみました。下記のように記述します。
1 2 3 4 |
"modelRegion": "us-east-1", "modelIds": [ "mistral.mixtral-8x7b-instruct-v0:1" ] |
複数のモデルを入れる場合は、次のようにします。最後に不要な「,」がつかないように注意してください。エラーになります。
1 2 3 4 5 |
"modelRegion": "us-east-1", "modelIds": [ "mistral.mixtral-8x7b-instruct-v0:1", "anthropic.claude-3-5-sonnet-20240620-v1:0" ] |
まずはAmazon Bedrockでモデルを有効にしてください。また念のため、cdk.jsonファイルはバックアップとってから作業すると、何かあった時に戻せて安心です。
⑪ デプロイ
プロジェクトの直下に戻ります。下記コマンドを実行します。
1 |
npm run cdk:deploy |
vulnerabilitiesの問題が表示された場合は、指示にしたがい、npm audit fixを実行します。
デプロイ後に「GenerativeAiUseCasesStack.WebUrl」の横にURLが表示されるので、こちらを開きます。アカウント作るタブをクリックして、アカウントを作成。
登録したユーザー名(メールアドレス)宛に、トークンが届きます。こちらを入力すると、ログインできます。
下記のような画面が表示されます。生成AIを利用できるようになっています。とりあえず「hi」といれたら、返事がきました^^
料金について
AWSの他のサービスと同様、従量課金です。利用する生成AIモデルやサービスによって金額が変わってきます。
たとえばAmazon Kendraという高機能なサービスも使えますが、こちらは高いです!
AWS側で算出しているサンプル料金は、下記で見れます。
Amazon Kendraの価格がむちゃくちゃ高いというのが分かりますね。
ただAmazon Kendraは、自社のデータを検索対象にできるので、必要な場合にはすごく便利な機能だと思います。
※Amazon KendraのRAGチャット機能はデフォルトでは、使用できない状態になっています。使用するには、cdk.jsonファイルの編集が必要です。詳細はこちら。
使える生成AIサービスについて
Amazon BedRockで利用できるものになるかと思いますが、Amazon BedRockで利用可能な生成AIサービスは、下記ページを参照してください。
色々なモデルがそろっていますが、ChatGPTは使えません。Claudeは使えますが、Claude3.5 Sonnetは、私の環境では利用不可になっていました。こちら、現在問い合わせ中です。
なおリージョンによって利用できるモデルが変わりますのでご注意を。
7/24追記:
Cloude3.5 Sonnetは、AWSのサポートに問い合わせた結果、利用可能になりました!なお使用できるリージョンは現在バージニア北部となっています。
さいごに
こちらのサービス、先日参加したAWSイベントで知りました。面白そうなので、早速試してみました。
AWS関連、AI系も含めて色々と便利なサービスがたくさんあります。また今後、試していきたいと思います。