目次
本記事はAP Tech Blog Week Vol.3のものになります。
はじめに
こんにちは、クラウド事業部の梅本です。
AWS Summit Japan 2024 から既に2週間もたったんですね。時の流れは早いものです。
AWS Summit Japan 2024 の記事も投稿しているので、お時間あればぜひご覧ください。
さて、今回「AP Tech Blog Week 」ということで、興奮冷めやらぬ Summit 熱を受けて、Amazon Q Business を試してみたいと思います。AI 関連のリソースに触るのは初めてだったので、「Amazon Q は聞いたことがあるけど、実際に構築するとどんな感じ?」が伝わればと思います。
作業は主に Web コンソールから行うため、画像が多くなることをご了承ください。
IAM Identity Center 構築
まず初めに、Amazon Q Business に必要なリソースを作成します。Amazon Q Business で作成したアプリケーションにアクセスする際の ID 管理・認証には、 IAM Identity Center を利用します。
Amazon Q Business のような、AWS アプリケーションに対する SSO(シングルサインオン) を実現するものとなっており、独自の ID ストアや外部の IdP(アイデンティティプロバイダ)との連携も可能となっています。
IAM Identity Center については、弊社メンバの以下の記事も参考にしてください。
IAM Identity Center は 1AWSアカウントで1つしか作成できません。また、AWS Organizations で AWS アカウントが管理されている場合、インスタンスの作成には注意が必要となってきます。
今回は、AWS Organizations が設定されており、既に「組織インスタンス」タイプの IAM Identity Center がセットアップされているという状況から構築します。この場合、既存の IAM Identity Center の邪魔にならないように、AWS のメンバーアカウントを別途作成し、「アカウントインスタンス」タイプの IAM Identity Center を構築します。
ここからは、新しい AWS のメンバーアカウントを発行し、新しい AWS アカウントでの作業を始めます。
IAM Identity Center に移動し、早速有効化していきます。
前述のとおり、既に別の AWS アカウントで「組織インスタンス」の IAM Identity Center がセットアップされているため、ここでは「アカウントインスタンス」の IAM Identity Center を構築していきます。
正常に構築されると、以下のようにダッシュボードに遷移し、ポップアップが表示されます。
合わせて、ユーザーも1つ追加しておきます。
追加すると、設定したメールアドレス宛に招待メールが送信されるので、メールのリンクからパスワードや MFA の設定を行います。
設定が完了すると、サインイン画面からログインし、IAM Identity Center のユーザーダッシュボードにアクセスできます。
データ準備
ログインする ID の準備はできたので、次は質問への回答に利用するデータを準備します。
Amazon Q Business では多くの種類のデータソースに対応するコネクタが用意されています。
今回は Amazon S3 にファイルを配置し、データソースとして利用します。利用するデータは弊社のホームページにある EN サイトを PDF 化して配置しました。
S3 のバケットの作成やファイルのアップロード等はここでは割愛させていただきます。
Amazon Q Business 構築
構築の準備ができたので、早速 Amazon Q Business から生成 AI アプリケーションを作成していきます。Amazon Q Business の管理コンソールから「Get started」からダッシュボードに移動し、「Create application」から開始します。
「Step 1」ではアプリケーション設定を行います。今回は名前と IAM Identity Center のタイプを指定します。タイプは先ほど作成した IAM Identity Center に合わせて「account instance」を指定します。
「Step 2」では Retriever の設定を行います。
Amazon Q Business の生成 AI アプリケーションの仕組みとして、Retriever、Index が出てきます。
Index はデータソースから Retriever が扱いやすいようにデータを変換し保存します。
また、Retriever は Index で変換・保存したデータから質問に合ったデータを検索・取得します。
今回は、Amazon Q Business で用意されている「native retriever」と、Index は検証用のため「Starter」を選択しました。
「Step 3」では データソースの設定を行います。
今回は S3 のデータソースを追加します。
データソースの設定では、データソースに名前を付けたり、データソースへのアクセスに使用する Role、データソースのバケット名を指定します。Role については推奨されている 「Create a new service role」を指定しました。Role name は自動で入力されます。
また、データソースの設定では、データソースと Index との同期方法やスケジュールについても設定します。今回は、
- Sync mode:Full sync(default)
- Sync run schedule - Frequency:Run on demand
で指定しました。
「1 added」と表示され、無事にデータソースの設定ができました。
最後の「Step 4」では 生成 AI アプリケーションへアクセスするユーザーおよびグループの設定を行います。
「Add groups and users」から設定を開始します。
ユーザーおよびグループの指定は、検索窓で検索し、「Assign」で追加していきます。
追加したユーザーやグループは一覧に表示されます。
最後に「Current subscription」でサブスクリプションタイプを指定します。今回は検証用途のため「Lite」を指定しました。サブスクリプションのタイプについては、以下の公式ページを参考にしてください。
お疲れ様でした。これでやっと完成です!
お試しチャット
生成 AI アプリができたので、早速ログインして会話してみましょう。 先ほどのアプリケーション一覧の一番右の列にあるアクセス用のリンクからアクセスします。ユーザー情報は IAM Identity Center で登録したユーザーです。
ログインすると見知ったデザインの WebUI が表示され会話できる状態になっています。
早速会話を試してみますが、、、
「Sorry, I could not find relevant information to complete your request.」と表示されうまく会話できませんでした。確認すると、データソースの設定の際に「Sync run schedule」で「Run on demand」を指定していたため、まだデータが同期されていませんでした。
早速アプリケーションからデータの同期を行います。アプリケーションの一覧から作成したアプリケーションを選択し、「Data sources」の「Sync now」をクリックして同期を始めます。
データソースを選択すると状況や履歴が分かります。CloudWatch Logs にはログも出力されており、出力ログの参照リンクもありました。7つの数MBのファイルで15分程かかりました。
今度こそ会話ができました!
簡単な質問でしたが、思った以上に長文でかつ詳細に回答がきました。 また、参照したデータソースのファイルへのリンクも提供されています。
2024年7月5日時点ではまだ英語版のみですが、日本語で質問しても英語ではありますが回答していただけました。
まとめ
初めての 生成 AI アプリケーションでしたが、思った以上に簡単にできたことと精度にびっくりしました。
必要なリソースはあるものの、ストレスなくスムーズに、簡易に導入にできるのは非常に魅力的でした。
AWS Summit Japan 2024 で発表があった、日本語版の提供も楽しみですね!
お知らせ
APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。
その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
また、AWSの運用自動化ツールも展開しております。
一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。