このページでは、Vertex AI Search と Vertex AI RAG Engine の統合について説明します。
Vertex AI Search は、Vertex AI RAG アプリケーション内でのデータの取得と管理のためのソリューションを提供します。Vertex AI Search を検索バックエンドとして使用することで、パフォーマンス、スケーラビリティ、統合の容易性を向上させることができます。
パフォーマンスとスケーラビリティの向上: Vertex AI Search は、非常に低いレイテンシで大量のデータを処理するように設計されています。これにより、特に複雑なナレッジベースや大規模なナレッジベースを扱う場合、RAG アプリケーションの応答時間が短縮され、パフォーマンスが向上します。
データ管理の簡素化: ウェブサイト、BigQuery データセット、Cloud Storage バケットなど、さまざまなソースからデータをインポートして、データ取り込みプロセスを効率化できます。
シームレスな統合: Vertex AI には Vertex AI Search との統合が組み込まれているため、RAG アプリケーションのコーパス バックエンドとして Vertex AI Search を選択できます。これにより、統合プロセスが簡素化され、コンポーネント間の最適な互換性が確保されます。
LLM 出力の品質の向上: Vertex AI Search の検索機能を使用することで、RAG アプリケーションがコーパスから最も関連性の高い情報を確実に取得できるようになります。これにより、LLM によって生成される出力の精度と有用性が向上します。
Vertex AI Search
Vertex AI Search は、詳細な情報検索、自然言語処理、大規模言語モデル(LLM)処理の最新機能を組み合わせて、ユーザーの意図を理解し、ユーザーにとって最も関連性の高い検索結果を返します。
Vertex AI Search を使用すると、管理するデータを使用して Google 品質の検索アプリケーションを構築できます。
Vertex AI Search を構成する
Vertex AI Search を設定するには、次の操作を行います。
Vertex AI Search を Vertex AI RAG Engine の検索バックエンドとして使用する
Vertex AI Search が設定されたら、次の手順に沿って RAG アプリケーションの取得バックエンドとして設定します。
Vertex AI Search を検索バックエンドとして設定して RAG コーパスを作成する
次のコードサンプルは、Vertex AI Search を RAG コーパスの検索バックエンドとして構成する方法を示しています。
REST
コマンドラインを使用して RAG コーパスを作成する手順は次のとおりです。
RAG コーパスを作成する
コードサンプルで使用されている次の変数を置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
- LOCATION: リクエストを処理するリージョン。
- DISPLAY_NAME: 作成する RAG コーパスの表示名。
- ENGINE_NAME: Vertex AI Search エンジンまたは Vertex AI Search Datastore の完全なリソース名。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" \ -d '{ "display_name" : "DISPLAY_NAME", "vertex_ai_search_config" : { "serving_config": "ENGINE_NAME/servingConfigs/default_search" } }'
進捗状況をモニタリングする
コードサンプルで使用されている次の変数を置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
- LOCATION: リクエストを処理するリージョン。
- OPERATION_ID: RAG コーパス作成オペレーションの ID。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
Python
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
RAG API を使用してコンテキストを取得する
RAG コーパスの作成後、RetrieveContexts
API を使用して Vertex AI Search から関連するコンテキストを取得できます。
REST
このコードサンプルは、REST を使用してコンテキストを取得する方法を示しています。
コードサンプルで使用されている次の変数を置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
- LOCATION: リクエストを処理するリージョン。
- RAG_CORPUS_RESOURCE: RAG コーパス リソースの名前。
形式:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
- TEXT: 関連するコンテキストを取得するクエリテキスト。
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" \
-d '{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
}
},
"query": {
"text": "TEXT"
}
}'
Vertex AI SDK for Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、 Vertex AI SDK for Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Gemini API を使用してコンテンツを生成する
REST
Gemini モデルを使用してコンテンツを生成する場合は、Vertex AI GenerateContent
API を呼び出します。リクエストで RAG_CORPUS_RESOURCE
を指定すると、Vertex AI Search からデータが自動的に取得されます。
サンプルコードで使用されている次の変数を置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
- LOCATION: リクエストを処理するリージョン。
- MODEL_ID: コンテンツ生成用の LLM モデル。例:
gemini-1.5-flash-002
。 - GENERATION_METHOD: コンテンツ生成の LLM メソッド。たとえば、
generateContent
,streamGenerateContent
のようにします。 - INPUT_PROMPT: コンテンツ生成のために LLM に送信されるテキスト。Vertex AI Search のドキュメントに関連するプロンプトを使用するようにしてください。
- RAG_CORPUS_RESOURCE: RAG コーパス リソースの名前。形式:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
。 SIMILARITY_TOP_K: 省略可。取得する上位コンテキストの数。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" \ -d '{ "contents": { "role": "user", "parts": { "text": "INPUT_PROMPT" } }, "tools": { "retrieval": { "disable_attribution": false, "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "similarity_top_k": SIMILARITY_TOP_K } } } }'
Vertex AI SDK for Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、 Vertex AI SDK for Python API のリファレンス ドキュメントをご覧ください。