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