![[ワークショップ] Vertex AI で DIY マルチモーダル質問応答システムを構築 #GoogleCloudNext](https://images.ctfassets.net/ct0aopd36mqt/mfvnpH15PsVPOaNIwYZ33/4e17c25441441bdd9f44672815983fd3/eyechatch_googlecloudnext25.png)
[ワークショップ] Vertex AI で DIY マルチモーダル質問応答システムを構築 #GoogleCloudNext
ウィスキー、シガー、パイプをこよなく愛する大栗です。
現在 Google Cloud Next 2025 が開催されているラスベガスに来ています。Vertex AI のワークショップに参加してきたのでレポートします。
Build a DIY multimodal question answering system with Vertex AI
概要
このハンズオンラボでは、Google の Vertex AI と強力な Gemini モデルファミリーを用いて、最先端のマルチモーダル質問応答システムを構築できます。このシステムをゼロから構築することで、その内部の仕組みと、視覚情報を検索拡張生成(RAG)に組み込むことの利点を深く理解できます。このハンズオン体験を通して、独自のマルチモーダル質問応答システムをカスタマイズおよび最適化するための知識を習得し、知識発見と推論の新たな可能性を切り開きます。
導入
このワークショップは、参加者各自の Chromebook が準備されており、Google Cloud Skills Boost にログインして進めていきます。Google Cloud Next 2025 専用のアクセスコードを入力してラボを登録します。
Build a DIY multimodal question answering system with Vertex AI を進めていきます。
ラボを起動すると、Vertex AI Workbench が起動しており、JupyterLab でノートブックを進めていきます。
必要な依存関係やライブラリをインストールして、Gemini のモデルをロードします。元々のノートブックが Gemini 1.0 や Gemini 1.5 であったようで、multimodal_model_15
やmultimodal_model_15_flash
、multimodal_model_10
にgemini-2.0-flash
を登録しました。GCS からドキュメントと画像をダウンロードします。
ドキュメントのメタデータの構築
ドキュメントからメタデータを抽出しますが、Skills Boost 環境のクオータの制限で実行できない可能性があるので、事前に作成済みのデータを取り込みます。
テキスト検索
質問内容のテキストから、コサイン類似度アルゴリズムで類似のテキストを検索します。検索したテキストを元に RAG で回答路取得します。同様に類似画像も検索します。
画像検索
マルチモーダルなエンベディングで類似画像を検索します。
検索拡張生成(mRAG)を用いたマルチモーダルQAシステムの構築
マルチモーダル RAG を実現するため今までの内容を元に、以下の内容を実施します。
- ユーザーはテキスト形式でクエリを入力して、期待される情報はドキュメント内に存在し、画像やテキストに埋め込まれています。
- テキスト検索で調査した方法と同様の方法を使用して、ドキュメント内のページからすべてのテキストのチャンクを検索します。
- 画像検索で調査した方法と同一の方法を使用して、画像の説明と一致するユーザーのクエリに基づいて、ページからすべての類似画像を検索します。
- ステップ 2 と 3 で見つかった類似のテキストと画像をすべて、コンテキストテキストとコンテキストイメージとして結合します。
- Gemini の助けを借りて、ステップ 2 と 3 で見つかったテキストと画像のコンテキストをユーザークエリに渡すことができます。また、ユーザークエリに回答する際にモデルが記憶しておくべき特定の指示を追加することもできます。
- Gemini が回答を生成し、その引用をプリントして、その回答に関連するすべてのテキストと画像を確認することができます。
さいごに
マルチモーダルな RAG を実現するための要素を簡単に体験することができるワークショップでした。テキスト以外もデータを含める考え方が分かりやすい内容だったと思います。今回の今回のワークショップは Next 専用のものだったため一般には利用できないのですが、今後 Skills Boost にラボが入ったり、GitHub にノートブックがアップロードされるのではないかと思います。その時には是非試してみて下さい。