O Deep Research é um agente do Made by Google para usuários que precisam coletar, analisar e entender informações internas e externas.
Visão geral
Quando você insere um comando no Deep Research, como "Compare os concorrentes do projeto de exemplo", o recurso avalia se a pergunta está relacionada à pesquisa, gera um plano descrevendo as etapas necessárias para fazer a pesquisa e transmite perguntas e respostas à medida que avança. Em seguida, ele gera um relatório das descobertas com citações e um resumo em áudio.
Para fontes de pesquisa, o Deep Research usa dados indexados pelo app. Ele também pode usar resultados da Web se a pesquisa na Web estiver ativada para o app.
Confira alguns exemplos de comandos para gerar relatórios com o Deep Research:
- Como podemos melhorar a experiência do usuário do nosso app de banco móvel atual para torná-lo mais intuitivo e fácil de usar?
- Como podemos reduzir o tempo de espera dos clientes durante os horários de pico sem comprometer a qualidade do suporte?
- Analise a situação econômica dos países da Europa Central.
- Compare o BigQuery com os concorrentes e forneça os resultados em formato de tabela.
Usar o Deep Research
Os usuários finais podem acessar e usar o Deep Research pelo app. Ele tem acesso aos dados que o app já indexou e, se ativado, aos resultados da Web.
É possível receber resultados da pesquisa detalhada no app ou usando a API (disponível para todos com uma lista de permissão).
Console
Para usar o Deep Research no app, faça o seguinte:
No menu de navegação do app, acesse Deep Research.
Clique em Fontes para selecionar as fontes que o agente precisa incluir para fornecer os insights de dados mais relevantes.
Nas fontes, além das suas fontes do Gemini Enterprise, você também pode incluir resultados da Pesquisa Google.
Insira um comando para a Pesquisa detalhada e clique em Enviar. Se o comando não for relacionado a pesquisas, o Deep Research vai gerar uma resposta. Se o comando for considerado relacionado à pesquisa, a Deep Research vai descrever os tópicos que o agente planeja pesquisar em um plano de pesquisa.
Edite o comando do agente, se necessário, para gerar um novo plano de pesquisa que atenda melhor aos seus requisitos.
Se você concordar com o plano de pesquisa, clique em Iniciar pesquisa.
O agente começa a pesquisar com base no plano:
- Transmite os temas que está pesquisando à medida que avança
- Gera um relatório de descobertas com citações
- Cria um resumo em áudio de 1 a 2 minutos do relatório
REST
Para usar a pesquisa avançada com a API, faça o seguinte:
Envie uma solicitação para o método
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": {} } }'Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .APP_ID: o ID do app.QUERY: a consulta.DATA_STORE_ID: o ID do repositório de dados quando um app tem vários repositórios. Quando você especifica isso, a pesquisa é limitada aos documentos no repositório de dados especificado.
Resposta
Se a solicitação for bem-sucedida, você vai receber uma resposta JSON semelhante à seguinte. Observe o SESSION_ID. Essa ação é necessária para iniciar o processo de pesquisa na próxima etapa.
[{ "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" } ]Inicie a pesquisa da consulta na etapa anterior. Para fazer isso, envie outra solicitação ao método
streamAssist. Nessa solicitação, defina sua consulta comoStart Researche adicione as informações da sessão da etapa anterior.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": {} }, }'Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .APP_ID: o ID do app.SESSION_ID: o ID da sessão da etapa anterior.DATA_STORE_ID: o ID do repositório de dados quando um app tem vários repositórios. Quando você especifica isso, a pesquisa é limitada aos documentos no repositório de dados especificado.
Resposta
Se a solicitação for bem-sucedida, você vai receber uma resposta JSON semelhante à seguinte resposta truncada.
A resposta contém uma instância do recurso
AssistAnswer.Essa é uma resposta de streaming e, portanto, dependendo da quantidade de dados na resposta da pesquisa, pode levar algum tempo para ser totalmente transmitida.
[{ "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" }]