Amazon Web Services ブログ
新入社員プロジェクト生成 AI を活用した Virtual Summit Assistant展示実施報告 @ AWS Summit Japan 2024
はじめに
6 月 20 日と 21 日の 2 日間にわたり、幕張メッセにおいて 13 回目となる AWS Summit Japan が「AWS と創る次の時代」をテーマに開催され、会場では 3 万人以上、オンラインも合わせると過去最高となる 5 万人超の方の参加者を記録しました。私たちは 2 年目の新入社員有志でチームを作り、 “新入社員プロジェクト生成AI を活用した Virtual Summit Assistant” というタイトルでブース展示を行いました。当日は絶えず沢山の来場者の方々にブースにお越しいただき、アプリケーションを体験していただきました。このブログでは、“新入社員プロジェクト生成AI を活用した Virtual Summit Assistant” の展示内容をダイジェストでご紹介します。展示に使われている AWS サービスやアーキテクチャの詳細な紹介については個別の解説ブログを発行予定です。
“新入社員プロジェクト生成 AI を活用した Virtual Summit Assistant” とは
展示内容の説明に入る前に、まず私たちがどのような課題から今回の展示作成に至ったのかについてお話しします。以前 AWS Summit に参加した際にAWS Summit に来場者として訪れた際に感じた 2 つの課題がありました。1 つ目は、会場が広く、目的地に辿り着けないということです。Summit 会場では 250 を超える展示があり、自分が見たいブースがどこにあるのかわからないことがありました。2 つ目は「どのセッション・ブースを訪ればいいのかわからない」というものです。去年 Summit に参加した際、入社数ヶ月だった私たちは、AWS に関する知識がまだ浅く、様々なセッションやブースの中から、自分の興味分野やレベルにあったものを探すのは難しかったため、自分の好みを反映したおすすめを教えてほしいという声がありました。
そこで私たちはアバターが Summit 会場の案内とおすすめセッションを教えてくれる Virtual Summit Assistant を開発しました。このプロダクトは画像のようなアバターに今回の AWS Summit に関する情報、例えばセッションやブースに関する質問をすることで、回答を返してくれるバーチャルアシスタントです。
この展示のアーキテクチャは以下のようになっています。
Virtual Summit Assistant の中心は、Amazon Simple Storage Service (S3)、Amazon Kendra、Amazon Bedrock を用いた検索拡張生成 (RAG, Retrieval Augmented Generation) です。Web ユーザーインターフェースは、Amazon CloudFront と Amazon S3 によって提供されています。アーキテクチャは、Amazon Cognito、Amazon Transcribe、Amazon Polly などの複数のマネージドサービスによってサポートされています。Web ユーザーインターフェースは、ユーザー登録と認証用のための Amazon Cognito、Amazon Transcribe と Amazon Polly を用いて入力音声の書き起こしと回答文を音声出力へ変換しています。
検索拡張生成 (RAG, Retrieval Augmented Generation) は、大規模言語モデルで回答の精度を向上させるための手法です。RAG を使わない構成ではユーザーが基盤モデルに何か質問をする際、ユーザーはアプリを介して質問を送り基盤モデルが質問内容を受け取って回答を生成しますが、この方法では基盤モデル学習時に学んだデータを元に回答を生成するため、学習をしていない知識、例えば今回の Summit に関する情報や、外部公開されていない企業独自の情報は回答できません。そのような課題の解決に有効なアプローチが RAG になっています。
RAG では従来の構成に加えてナレッジソースと呼ばれるデータソースを用意します。ナレッジソースには、基盤モデルが回答を生成する際に参考にしてほしいデータを入れておきます。ユーザーが質問した際は、一旦ナレッジソースに問い合わせを行い質問に関連するデータを抽出します。そして、抽出したデータとユーザーからの質問を合わせて基盤モデルに送信し、基盤モデルはナレッジソースのデータを参考にしながら回答を生成します。こうすることで、基盤モデルは学習していないデータに関しても正確な情報を回答できるようになります。今回の場合はナレッジソースとして Amazon S3 を使用し、Amazon S3 内に Summit のセッションやブースに関する情報を txt 形式で格納しています。
Generative AI Avatar Chat を用いた開発
今回の開発ではアーキテクチャの設計や開発を、一から行った訳ではなくGenerative AI Avatar Chat と呼ばれるサンプルアプリケーションをもとにカスタマイズを加える形で行いました。このサンプルアプリケーションを使うと、3D アバターをインタフェースとして持つ生成 AI チャットボットを簡単に構築できます。デフォルトで RAG の構成も実装されるため、情報を追加することで専門知識や社内情報を含めた回答を行うことも可能です。質問文の入力には文字または音声を利用可能です。こちらのアプリケーションコードは AWS リソースを用いたソリューションを提供している AWS Samples にて公開されており、AWS CDK のデプロイにより数ステップで構築ご利用いただけます。
今回のプロジェクトは、業務の合間時間を使いながら約 3 ヶ月で完成させなければならないというタイトなスケジュールでしたが、このようなサンプルアプリケーションをベースに、自分たちでカスタマイズを加えることで短い期間でも開発を行うことができました。
ブース紹介
当日は絶えずたくさんの来場者の方々にブースにお越しいただきました。著者も当日ブース対応を担当しました。このアシスタントは会場内の 5 箇所、計 9 台の Kiosk 端末で設置しました。お客様からは、「このようなアシスタントが案内してくれると、店舗人員を減らせてよい。」「アバターと RAG で使用するドキュメントを変えるだけで様々な環境やユースケースに対応可能で良い。」や、「新卒が業務の合間にここまで作れるなんて、自分たちのカリキュラムにも組み込みたい。」など、アプリケーションや新入社員プロジェクトなど、様々な側面からフィードバックをいただきました。
最後に
以上、私たちが本展示の開発過程、主な機能、Summit 当日の様子をご説明しました。最後に新入社員開発プロジェクトを通して学んだことを 3 つご紹介します。1 つ目はチーム内外とのコミュニケーションです。Summit という大きなイベントでのブース展示、登壇を行う過程で非常に多くの方にご協力いただきました。その中で開発における役割分担、議論の記録の取り方、複数人でコミュニケーションを取る場合の文書化の重要性など、多くの人を巻き込んだプロジェクトにおけるコミュニケーションの取り方について学びを得ました。2 つ目として新年度から開発がスタートした本プロジェクトは日々の業務の両立をどう行うのか、特に各メンバーの役割と進捗の管理など、プロジェクトのマネジメントに関する経験がとして得られました。
最後はユーザ目線の開発経験です。開発経験の少ない新卒メンバーが、Summit ユーザーの視点を元にした課題定義、発案、開発までの一連の流れを体験することができたのは、ペインポイントの整理からニーズベースでの開発という意味で大きな経験になりました。
開発メンバーとブースの様子
今回、開発したVirtual Summit Assistant は空港、ショッピングモール、病院、イベント会場などの施設案内を必要とするような場所への導入が考えられます。自然言語により質問が可能なため、ユーザーはより自分の希望に合った案内を受けることができますし、アバターや音声入力といった親しみやすさにより、小さなお子様や高齢者の方も簡単にご利用いただくことが可能です。このような商業施設への導入という観点では、さらなる追加機能の例として、アクセスするデータソースや API の種類を増やすことで、情報提供の幅を増やす。例えば、混雑情報のようなリアルタイムで変化する情報の提供などから、レストラン予約といったアクションをこのアバターが推薦できるなどが新機能として考えられます。
実際に Summit に参加されたお客様から、「案内板に付加価値をつけることが可能。イベントで使用したい。」「無人店舗を検討中のため使用してみたい。」などのフィードバックをいただきました。このように様々なユースケースで使用していただけるのではないかと思っています。このブログをご覧になってもう少し内容を詳しく聞きたいというお客様がいらっしゃいましたら、AWS 担当営業もしくはこちらの窓口 (https://thinkwithwp.com/jp/contact-us/)までご連絡ください。