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 "Compare les concurrents du projet Exemple", 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, puis diffuse les questions et les réponses au fur et à mesure de sa progression. Il génère ensuite un rapport de ses conclusions 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 mobile bancaire existante pour la rendre plus intuitive et conviviale ?
- Comment réduire le temps d'attente des clients pendant les heures de pointe sans compromettre la qualité de l'assistance ?
- Analysez la situation économique des pays d'Europe centrale.
- Compare BigQuery à ses concurrents et présente les résultats sous forme de tableau.
Utiliser Deep Research
Vos utilisateurs finaux peuvent accéder à Deep Research et l'utiliser dans l'application. Deep Research a accès aux données que l'application a déjà indexées et, si les résultats Web sont activés, à ces résultats.
Vous pouvez obtenir des résultats de la recherche approfondie depuis l'application ou à l'aide de l'API (généralement disponible avec une liste d'autorisation).
Console
Pour utiliser Deep Research dans l'application, procédez comme suit :
Dans le menu de navigation de l'application, accédez à Deep Research.
Cliquez sur Sources pour sélectionner les sources que l'agent doit inclure afin de fournir les insights les plus pertinents.
Dans les sources, en plus de vos sources Gemini Enterprise, vous pouvez également choisir d'inclure les résultats de recherche Google.
Saisissez une requête pour la recherche approfondie, puis cliquez sur Envoyer. Si la requête n'est pas liée à une recherche, Deep Research génère une réponse. Si la requête est liée à une recherche, Deep Research décrit les thèmes que l'agent prévoit d'étudier dans un plan de recherche.
Si nécessaire, modifiez la requête de l'agent pour générer un nouveau plan de recherche qui correspond mieux à vos besoins.
Si le plan de recherche vous convient, cliquez sur Lancer la recherche.
L'agent commence à effectuer des recherches en fonction du plan :
- Diffuse les thèmes sur lesquels il effectue des recherches au fur et à mesure
- Génère un rapport de résultats avec des citations
- Crée un résumé audio du rapport (1 à 2 minutes)
REST
Pour utiliser Deep Research avec l'API, procédez comme suit :
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 comporte plusieurs magasins de données. Dans ce cas, 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" } ]
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 surStart 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 obtenu à l'étape précédente.DATA_STORE_ID
: ID du data store lorsqu'une application comporte plusieurs magasins de données. Dans ce cas, 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, selon la quantité de données contenues 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" }]