O Deep Research é um agente 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 agente avalia se a pergunta está relacionada à pesquisa, gera um plano com 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 as 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 os quais o Deep Research gera relatórios:
- Como podemos melhorar a experiência do usuário do nosso app de banco móvel 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. O agente tem acesso aos dados que o app já indexou e, se ativado, aos resultados da Web.
Você pode receber resultados do Deep Research pelo app ou usando a API (disponibilidade geral com uma lista de permissões).
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 insights de dados mais relevantes.
Nas fontes, além das do Gemini Enterprise, você também pode incluir os resultados da Pesquisa Google.
Insira um comando no Deep Research e clique em Enviar. Se o comando não estiver relacionado à pesquisa, o Deep Research vai gerar uma resposta. Se o comando for determinado como relacionado à pesquisa, o 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 o plano de pesquisa for aceitável para você, clique em Iniciar pesquisa.
O agente começa a pesquisar com base no plano:
- Transmite os tópicos 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 o Deep Research usando a API, faça o seguinte:
Envie uma solicitação para o
streamAssistmétodo.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 Google Cloud projeto.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 de dados. 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. Isso é necessário 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 para o
streamAssistmétodo. Nessa solicitação, defina a 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 Google Cloud projeto.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 de dados. 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
AssistAnswerrecurso.Essa é uma resposta de streaming e, portanto, dependendo da quantidade de dados na resposta da pesquisa, pode levar algum tempo para transmitir totalmente.
[{ "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" }]