Deep Research でレポートを入手する

Deep Research は、社内外の情報を収集、分析、理解する必要があるユーザー向けの Made by Google エージェントです。

概要

「Example Project の競合他社を比較して」などのプロンプトを Deep Research に入力すると、Deep Research は質問が調査に関連しているかどうかを評価し、調査を行う手順を概説する計画を生成し、調査の進行に合わせて質問と回答をストリーミングします。その後、調査結果のレポートを引用とともに生成し、音声による要約も作成します。

調査ソースの場合、Deep Research はアプリがインデックス登録したデータを使用します。アプリでウェブ検索が有効になっている場合は、ウェブ検索の結果も使用できます。

以下に、Deep Research がレポートを生成するプロンプトの例をいくつか示します。

  • 既存のモバイル バンキング アプリのユーザー エクスペリエンスを改善して、より直感的で使いやすいものにするにはどうすればよいですか?
  • サポートの質を損なうことなく、ピーク時の顧客の待ち時間を短縮するにはどうすればよいですか?
  • 中央ヨーロッパの国の経済状況を分析します。
  • BigQuery と競合他社を比較し、結果を表形式で提供します。

Deep Research を使用する

エンドユーザーはアプリを通じて Deep Research にアクセスして使用できます。Deep Research は、アプリがすでにインデックスに登録したデータと、有効になっている場合はウェブ検索結果にアクセスできます。

ディープ リサーチの結果は、アプリまたは API を使用して取得できます(一般提供は許可リストで利用可能)。

コンソール

アプリで Deep Research を使用する手順は次のとおりです。

  1. アプリのナビゲーション メニューで、[Deep Research] に移動します。

  2. [ソース] をクリックして、最も関連性の高いデータ分析情報を取得するためにエージェントが含める必要のあるソースを選択します。

    ソースでは、Gemini Enterprise のソースに加えて、Google 検索の結果を含めることもできます。

  3. Deep Research にプロンプトを入力し、[送信] をクリックします。プロンプトが調査に関連していない場合、Deep Research は回答を生成します。プロンプトがリサーチに関連していると判断された場合、Deep Research は、エージェントがリサーチを計画しているトピックをリサーチプランにまとめます。

  4. 必要に応じてエージェントのプロンプトを編集し、要件により適した新しい調査計画を生成します。

  5. 調査計画に同意する場合は、[調査を開始] をクリックします。

    エージェントはプランに基づいて調査を開始します。

    • 調査中のトピックを進行状況に応じてストリーミングする
    • 引用付きの調査結果レポートを生成する
    • レポートの 1 ~ 2 分の音声概要を作成します

REST

API を使用して Deep Research を使用する手順は次のとおりです。

  1. リクエストを streamAssist メソッドに送信します。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/project_id/locations/global/collections/default_collection/engines/app_id/assistants/default_assistant:streamAssist" \
    -d '{
         "query": {
           "text": "QUERY"
         },
         "agentsSpec": {
           "agentSpecs": {
             "agentId": "deep_research"
           }
         },
         "toolsSpec": {
           "vertexAiSearchSpec": {
             "dataStoreSpecs": {
               "dataStore": "projects/PROJECT_ID/locations/global/collections/default_collection/datastores/DATA_STORE_ID"
             }
           },
           "webGroundingSpec": {}
         }
        }'
    

    次のように置き換えます。

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • APP_ID: アプリの ID。
    • QUERY: クエリ。
    • DATA_STORE_ID: アプリに複数のデータストアがある場合のデータストアの ID。これを指定すると、検索は指定されたデータストア内のドキュメントに限定されます。

    レスポンス

    リクエストが成功すると、次のような JSON レスポンスが返されます。SESSION_ID に注意してください。これは、次のステップで調査プロセスを開始するために必要です。

    [{
     "answer": {
       "name": "ANSWER_ASSIST_NAME",
       "state": "SUCCEEDED",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "INLINE_TEXT"
             }
           },
         },
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "INLINE_TEXT_WITH_RESEARCH_PLAN"
             },
             "contentMetadata": {
               "contentKind": "RESEARCH_PLAN"
             }
           },
         }
       ],
     },
     "sessionInfo": {
       "session": "SESSION_ID",
       "queryId": "QUERY_ID",
       "turnId": "TURN_ID"
     },
     "assistToken": "ASSIST_TOKEN"
    }
    ]
    
  2. 前のステップのクエリの調査を開始します。そのためには、streamAssist メソッドに別のリクエストを送信します。このリクエストで、クエリを Start Research に設定し、前の手順のセッション情報を追加します。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/project_id/locations/global/collections/default_collection/engines/app_id/assistants/default_assistant:streamAssist" \
    -d '{
         "query": {
           "text": "Start Research"
         },
         "session": "SESSION_ID",
         "agentsSpec": {
           "agentSpecs": {
             "agentId": "deep_research"
           }
         },
         "toolsSpec": {
           "vertexAiSearchSpec": {
             "dataStoreSpecs": {
               "dataStore": "projects/PROJECT_ID/locations/global/collections/default_collection/datastores/DATA_STORE_ID"
             }
           },
           "webGroundingSpec": {}
         },
        }'
    

    次のように置き換えます。

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • APP_ID: アプリの ID。
    • SESSION_ID: 前の手順のセッション ID。
    • DATA_STORE_ID: アプリに複数のデータストアがある場合のデータストアの ID。これを指定すると、検索は指定されたデータストア内のドキュメントに限定されます。

    レスポンス

    リクエストが成功すると、次のような切り捨てられたレスポンスに似た JSON レスポンスが返されます。

    レスポンスには、AssistAnswer リソースのインスタンスが含まれます。

    これはストリーミング レスポンスであるため、調査レスポンスのデータ量によっては、完全にストリーミングするまでに時間がかかることがあります。

    [{
     "answer": {
       "state": "IN_PROGRESS",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "RESEARCH_QUESTION_1"
             },
             "contentMetadata": {
               "contentKind": "RESEARCH_QUESTION",
               "contentId": "ID0"
             }
           },
         }
       ]
     },
     "assistToken": "ASSIST_TOKEN"
    },
    {
     "answer": {
       "state": "IN_PROGRESS",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "RESEARCH_ANSWER_1_PART_1"
             },
             "contentMetadata": {
               "contentKind": "RESEARCH_ANSWER",
               "contentId": "ID0"
             }
           },
         }
       ]
     },
     "assistToken": "ASSIST_TOKEN"
    },
    {
     "answer": {
       "state": "IN_PROGRESS",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "RESEARCH_ANSWER_1_PART_2"
             },
             "contentMetadata": {
               "contentKind": "RESEARCH_ANSWER",
               "contentId": "ID0"
             }
           },
         }
       ]
     },
     "assistToken": "ASSIST_TOKEN"
    },
    {
     "answer": {
       "state": "IN_PROGRESS",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "text": "INLINE_TEXT"
             },
             "textGroundingMetadata": {
               "references": [
                 {
                   "documentMetadata": {
                     "document": "DOCUMENT_ID",
                     "uri": "DOCUMENT_REDIRECT_URI",
                     "title": "DOCUMENT_TITLE",
                     "pageIdentifier": "",
                     "domain": "DOCUMENT_DOMAIN"
                   }
                 }
               ]
               "searchEntryPoints": [
                 {
                   "renderedContent": "GROUNDING_SEARCH_ENTRY_POINT"
                 }
               ]
              }
            }
          }
        ]
      }
    },
    {
     "answer": {
       "state": "IN_PROGRESS",
       "replies": [
         {
           "groundedContent": {
             "content": {
               "role": "model",
               "file": {
                 "fileId": "AUDIO_FILE_ID"
               }
             },
             "contentMetadata": {
               "contentKind": "RESEARCH_AUDIO_SUMMARY"
             }
           },
         }
       ]
     },
     "assistToken": "ASSIST_TOKEN"
    }
    {
     "answer": {
       "name": "ANSWER_ASSIST_NAME",
       "state": "SUCCEEDED"
       },
     "sessionInfo": {
       "session": "SESSION_ID",
       "queryId": "QUERY_ID",
       "turnId": "TURN_ID"
     },
    "assistToken": "ASSIST_TOKEN"
    }]