Vertex AI SearchとGeminiを活用してRAGの構築をしてみた

Google Cloud

2024.3.28

Topics

はじめに

こんにちは、Shunです!

今回は、Vertex AI Searchを利用してCloud Storageにアップロードしたファイルをデータストアとし、Geminiで回答を生成する手順と方法を解説します!

Vertex AI Searchの概要

まず、今回使用するメインサービスであるVertex AI Searchの概要についてご紹介します。

Vertex AI Searchは、ウェブサイト、非構造化データ(Cloud Storage)、構造化データ(BigQuery)をデータストアとして活用し、情報検索および回答生成を行うサービスです。
また、大規模言語モデル(LLM)との連携をすることで、検索拡張生成(RAG)システムとして機能することができます。

参考: Vertex AI Search

Vertex AI Searchの料金

Search Standard Edition: 1,000 クエリあたり $2.00
Search Enterprise Edition: 1,000 クエリあたり $4.00

引用: Vertex AI Search の料金

今回は、Search Standard Editionを使用します。

構成図

今回、実施する構成は以下の通りです。

以下の順序でデータが処理されます。(厳密には多少異なりますが、イメージとして掴んでください。)

➀ ユーザーが質問を行う。
➁ 質問をベクトル化(エンベディング)する。
➂ ベクトル化した質問をVertex AI Searchへ渡す。
➃ Cloud Storageに格納されている追加情報をベクトル化する。
➄ ベクトル化した追加情報をVertex AI Searchへ渡す。
➅ 質問の内容に関連性の高い追加情報を取得する。
➆ 質問と質問の内容に関連性の高い追加情報をGeminiへ渡す。
➇ Geminiで回答を生成する。
➈ ユーザーへ回答を行う。

環境構築

1. Cloud Storageの作成

まず、Cloud Storageを構築します。特に設定を変更せずに、デフォルト設定で作成を行います。
次に、Vertex AI Searchへ渡す追加情報をCloud Storageへ格納します。

ここでは、日本バスケットボール協会が提供している公式の競技規則を追加情報として格納します。

2. Vertex AI Searchのデータストア作成

次に、Cloud Storageへ格納した追加情報をVertex AI Searchのデータストアとして定義します。

[Vertex AI Search] > [データストア] > [新しいデータストア] を選択します。

[ソース] > [Cloud Storage] を選択します。

先ほど作成したCloud Storage、非構造化ドキュメント(pdf)を選択します。

構成へ以下の設定を行います。

  • データストアのロケーション: global(グローバル)
  • デフォルトのドキュメントパサー: OCR Parser(画像データも検索対象としたいため、OCR Parserとします。)
  • 高度なテーブル解析: 有効
  • ネイティブ テキストを使用する: 有効
  • データストア名: 任意の名前

3. Vertex AI Searchのアプリ作成

Vertex AI Searchのアプリを作成します。

「検索」を選択して、検索システムを作成します。

以下の設定を行います。

Enterprise エディションの機能: 無効
Advanced LLM features: 有効

アプリ名: 任意の名前
会社名: 任意の名前(なんでも大丈夫です)
アプリのロケーション: global (グローバル)

先ほど作成したデータストアを選択して、Vertex AI Searchのアプリを作成します。

[構成] > [WIDGET]から以下の設定を行います。

  • 検索タイプ: フォローアップ付きの検索
  • Large Language Models for summarization: Gemini Pro

プレビューからどのようにアプリが動作するか確認できます。

4. Vertex AI Searchの統合

実際のアプリとして公開する設定を行います。

以下の通り、設定をします。

  • 認証タイプの選択: 公開アクセス
  • Add allowed domains for the widget: 公開するアプリのドメイン名

画面下部には、アプリケーションに貼り付けるコードが表示されます。

これにより、シンプルな検索画面が追加されます。

ウェブからはプレビューとほぼ同じ画面で表示されます。

さいごに

本記事では、Vertex AI SearchとGeminiを用いて、Cloud Storageに格納されたファイルの内容を検索し、回答を生成する方法を紹介しました。
これらのツールを組み合わせることで、RAGを簡単に実装することができます。
RAGの作成にハードルを感じていた方などはこれを機に実装してみてください。

次回の記事もVertex AI関連で何か書ければと思います!

最後まで読んでいただきありがとうございます!

Shun

好きな言葉は生ビール199円です。日本ビール協会認定1冠、AWS12冠、Google Cloud11冠

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら