[Workshop] Hands-on: How software vendors can use the Amazon Q Business index に参加しました #AIM333 #AWSreInvent
re:Invent 2024 現地参加してきたカスタマーサクセス部 運用支援チームのいたくらです。
「AIM333 | Hands-on: How software vendors can use the Amazon Q Business index」に参加したのでレポートします。
セッション情報
- セッション ID : AIM333
- タイトル: [NEW LAUNCH] Hands-on: How software vendors can use the Amazon Q Business index
- スピーカー: Nicole Murray, Anjan Biswas
- レベル: 300 – Advanced
ワークショップの概要
In the rapidly evolving digital landscape, delivering extraordinary customer experiences is paramount for success. Generative AI has emerged as a transformative technology that empowers developers to create intelligent, personalized experiences like never before. This immersive, hands-on workshop is designed to equip software vendors with the skills and knowledge needed to use the Amazon Q Business index to create new or enhance existing generative AI capabilities in their applications.
急速に進化するデジタル環境において、優れた顧客体験の提供は成功への重要な鍵となっています。生成AIは、開発者が今までにない知的で個別化された体験を創造することを可能にする、革新的な技術として台頭してきました。この実践的なワークショップは、ソフトウェアベンダーが自社アプリケーションにおいて、生成 AI 機能を新規に作成または既存機能を強化するために、Amazon Q Business index を活用するために必要なスキルと知識を習得できるよう設計されています。
内容
アジェンダ
アジェンダは以下の通りです。
※ アジェンダのタイトルは英語でしたが、本ブログでは日本語訳で記載しています。
- 事前準備
- 1.Amazon Q を組み込む
- 2.Amazon Q クロスアプリインデックス
このワークショップでは、以下のことが学べます。
- Amazon Q Business アプリケーションを設定し、その AI アシスタント機能を独自のアプリケーションに組み込む方法
- クロスアプリインデックスを使用し、ID 認識 API を使用してクエリを実行し、カスタマイズされた生成 AI エクスペリエンスを構築する方法
[補足] Amazon Q Business とは?
フルマネージド生成 AI 搭載アシスタントで、質問に答えたり、概要を提供したり、コンテンツを生成したり、企業データに基づいてタスクを完了したりするように構成できます。
これによりエンドユーザーは、企業データソースからアクセス許可を考慮した応答を即座に受け取ることができます。
また、タスク自動化アプリケーションを作成して共有したり、休暇申請の送信や会議の招待状の送信などの日常的なアクションを実行したりもできます。
事前準備
事前準備では、ワークショップで使用する IAM Identity Center ユーザーの準備と、Amazon Bedrock モデル(Anthropic Claude 3.5 Sonnet)へのアクセスを有効にしました。
1.Amazon Q を組み込む
このモジュールでは、信頼できるウェブサイトに Amazon Q Business アシスタントを埋め込むという体験をしました。
Amazon Q Business アプリケーションを最初からセットアップし、アプリケーションの認証メカニズムとして IAM Identity Center インスタンスを使用しました。
その後、インデックスを追加して、データソース(Amazon S3 や Web クローラーなど)をアプリケーションに接続しました。
以下、構成図です。
以降、簡単にですが構築した内容を紹介します。
まず Amazon Q Business のサービスページに移動し、Applications の「Create application」より、以下の設定でアプリケーションを作成しました。
次に、データソースを追加するために以下の設定でインデックスを作成しました。
インデックス作成後、以下の設定でデータソースを設定しました。今回はデータソースとして S3 を使用しました。
データソースの場所として指定した S3 バケットには、ワークショップで使用するデータがあらかじめ準備されていました。
データ同期の頻度は、今回は「オンデマンドで実行」としました。
データソースを設定後、「Sync now」を実行し、しばらく待つとデータソースの同期が完了しました。
この後、あらかじめ用意されていた CloudFormation(検証用 Web ページ作成 + iFrame 要素追加 + AWS Amplify で Web サイト公開)をデプロイしました。
最後に、Amazon Q Business のサービスページの「Embed Amazon Q Business」より、CloudFormation で作成した Web サイトの URL を Allowed websites に追加しました。
ブラウザで新しいタブを開き Web サイトの URL に移動すると、まずは Amazon Q Business にサインインするように促されるのでサインインすると以下の画面が表示され、AI アシスタントとやり取りできるようになりました。
試しに、「キーボードが故障する原因は何ですか?」と質問してみた結果が以下です。
AI アシスタントの回答が「データソースによると、キーボードの故障は以下のような複数の理由で発生する可能性があります」という文章から始まっていることから、先ほど設定したデータソースを参照して回答できていることが確認できました。
2.Amazon Q クロスアプリインデックス
このモジュールでは、クロスアプリインデックスで Amazon Q Business API を呼び出して、セマンティックおよびキーワードベースの検索を実行しました。最終的には関連情報チャンクを使用して、Amazon Bedrock を介して Anthropic Claude Sonnet 3.5 モデルで RAG ベースの Q&A を実行しました。
以下、構成図です。
このモジュールは Amazon SageMaker Studio を使用して、あらかじめ準備されていたワークショップファイル(ipynb ファイル)を実行して進めました。
実行したコードの内容を簡単に紹介します。
- botocore と boto3 のライブラリをインストール
- Amazon Q Business API とやり取りするために必要な認証情報(発行者 URL、クライアント ID、シークレット、IAM ロール、リージョン、メールアドレス)を取得
- JSON データを使用して認証情報を生成するヘルパー関数の初期化& Amazon Q Business API を呼び出すための認証情報を生成
- ヘルパー関数からの SigV4 認証情報を使用して Amazon Q Business Boto3 クライアントを初期化し、SearchRelevantContent API への呼び出しを有効化
- Amazon Q Business アプリケーション ID と リトリーバー ID を取得
- ChatSync API を呼び出してクライアントをテスト
- 質問に対して回答できていることが確認できた
- SearchRelevantContent API に対してコマンド実行
- 関連コンテンツが検索できることが確認できた
- Amazon Bedrock モデルと API を使用し、SearchRelevantContent API の結果を使用した RAG(検索拡張生成)アプリケーションを構築
- 最初はこのアプリケーションに必要なサポートチケットに関連するコンテキストがなかったため、質問に答えられなかった
- 回答のベースとなる情報をモデルに提供した後、再度質問した結果が以下(コンテキストが提供されたため、回答が正確になった)
このモジュールを通じて、SearchRelevantContent API によって返された結果を使用して、任意の LLM で RAG ベースの Q&A アプリケーションを構築する方法を確認できました。
最後に
Amazon Q Business を触る機会が無かったので、Amazon Q Business の基本的な機能や、Amazon S3 とインデックス機能を使用してデータソースを統合する機能を実際に体験して、想像以上に手軽に AI アシスタントが導入できて驚きました。
また、クロスアプリインデックスを通じて、適切なコンテキストを提供することで AI 応答の品質を大幅に向上できることが手を動かしながら学べたのも面白かったです。
まだ完全に日本語対応されていない等のデメリットもありますが、AWS を活用されている企業様、社内 AI アシスタントとして導入を検討してみてはいかがでしょうか。
この記事がどなたかのお役に立てれば幸いです。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。
サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。