Obtenir des rapports avec Deep Research

Deep Research est un agent Made by Google destiné aux utilisateurs qui ont besoin de collecter, d'analyser et de comprendre des informations internes et externes.

Présentation

Lorsque vous saisissez une requête dans Deep Research, par exemple "Comparer les concurrents de l'exemple de projet", Deep Research évalue si la question est liée à la recherche, génère un plan décrivant les étapes à suivre pour effectuer la recherche, et diffuse les questions et réponses au fur et à mesure de sa progression. Il génère ensuite un rapport de ses résultats avec des citations, ainsi qu'un résumé audio.

Pour les sources de recherche, Deep Research utilise les données indexées par l'application. Il peut également utiliser les résultats Web si la recherche sur le Web est activée pour l'application.

Voici quelques exemples de requêtes pour lesquelles Deep Research génère des rapports :

  • Comment pouvons-nous améliorer l'expérience utilisateur de notre application bancaire mobile existante pour la rendre plus intuitive et conviviale ?
  • Comment réduire les temps d'attente des clients pendant les heures pleines sans compromettre la qualité de l'assistance ?
  • Analyse la situation économique des pays d'Europe centrale.
  • Compare BigQuery avec ses concurrents et fournis les résultats sous forme de tableau.

Utiliser Deep Research

Vos utilisateurs finaux peuvent accéder à Deep Research et l'utiliser via l'application. Deep Research a accès aux données que l'application a déjà indexées et, si l'option est activée, aux résultats Web.

Vous pouvez obtenir les résultats de Deep Research depuis l'application ou à l'aide de l'API (disponibilité générale avec une liste d'autorisation).

Console

Pour utiliser Deep Research dans l'application, procédez comme suit :

  1. Dans le menu de navigation de l'application, accédez à Deep Research.

  2. Cliquez sur Sources pour sélectionner les sources que l'agent doit inclure afin de fournir les insights sur les données les plus pertinents.

    En plus de vos sources Gemini Enterprise, vous pouvez également choisir d'inclure les résultats de la recherche Google.

  3. Saisissez un prompt pour Deep Research et cliquez sur Envoyer. Si la requête ne concerne pas une recherche, Deep Research génère une réponse. Si la requête est considérée comme liée à une recherche, Deep Research décrit les sujets que l'agent prévoit d'explorer dans un plan de recherche.

  4. Si nécessaire, modifiez le prompt de l'agent pour générer un nouveau plan de recherche qui correspond mieux à vos besoins.

  5. Si le plan de recherche vous convient, cliquez sur Lancer la recherche.

    L'agent commence à effectuer des recherches en fonction du plan :

    • Diffuse les sujets qu'il recherche au fur et à mesure de sa progression
    • Génère un rapport de résultats avec des citations
    • Crée un résumé audio du rapport d'une à deux minutes

REST

Pour utiliser Deep Research à l'aide de l'API, procédez comme suit :

  1. Envoyez une requête à la méthode 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": {}
         }
        }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud .
    • APP_ID : ID de l'application.
    • QUERY : requête.
    • DATA_STORE_ID : ID du data store lorsqu'une application en possède plusieurs. Lorsque vous spécifiez cette option, la recherche est limitée aux documents du data store spécifié.

    Réponse

    Si votre requête aboutit, vous recevez une réponse JSON semblable à la suivante. Notez l'élément SESSION_ID. Cette étape est nécessaire pour lancer le processus de recherche à l'étape suivante.

    [{
     "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. Lancez la recherche pour la requête de l'étape précédente. Pour ce faire, envoyez une autre requête à la méthode streamAssist. Dans cette requête, définissez votre requête sur Start Research et ajoutez les informations de session de l'étape précédente.

    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": {}
         },
        }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud .
    • APP_ID : ID de l'application.
    • SESSION_ID : ID de session de l'étape précédente.
    • DATA_STORE_ID : ID du data store lorsqu'une application en possède plusieurs. Lorsque vous spécifiez cette option, la recherche est limitée aux documents du data store spécifié.

    Réponse

    Si votre requête aboutit, vous recevez une réponse JSON semblable à la réponse tronquée suivante.

    La réponse contient une instance de la ressource AssistAnswer.

    Il s'agit d'une réponse en streaming. Par conséquent, en fonction de la quantité de données dans la réponse de recherche, le streaming complet peut prendre un certain temps.

    [{
     "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"
    }]