Method: projects.locations.collections.engines.assistants.streamAssist

Ajuda o usuário com uma consulta em streaming.

Solicitação HTTP

POST https://discoveryengine.googleapis.com/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
name

string

Obrigatório. O nome do recurso do Assistant. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "query": {
    object (Query)
  },
  "answerGenerationMode": enum (AnswerGenerationMode),
  "session": string,
  "assistSkippingMode": enum (AssistSkippingMode),
  "fileIds": [
    string
  ],
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "languageCode": string,
  "googleSearchGroundingEnabled": boolean,
  "webGroundingEnabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "agentsConfig": {
    object (AgentsConfig)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "assistGenerationConfig": {
    object (AssistGenerationConfig)
  },
  "cannedQuery": string,
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
Campos
query

object (Query)

Opcional. Consulta do usuário atual.

Uma consulta vazia só é aceita se fileIds forem fornecidos. Nesse caso, a resposta será gerada com base nesses arquivos de contexto.

answerGenerationMode

enum (AnswerGenerationMode)

Opcional. O modo de geração de respostas. Se não for especificado, o padrão será NORMAL.

session

string

Opcional. A sessão a ser usada na solicitação. Se especificado, o assistente terá acesso ao histórico da sessão, e a consulta e a resposta serão armazenadas lá.

Se - for especificado como o ID da sessão ou ficar em branco, uma nova sessão será criada com um ID gerado automaticamente.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}

assistSkippingMode

enum (AssistSkippingMode)

Opcional. Determina os casos em que o assistente não vai responder à consulta. Se a resposta for ignorada, os motivos serão listados em AssistAnswer.assist_skipped_reasons dentro de AssistResponse.answer.

fileIds[]

string

Opcional. Os IDs dos arquivos a serem usados para responder à solicitação. Ao fazer upload de um arquivo, o ID dele é retornado em AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Opcional. Informações sobre o usuário que iniciou a consulta.

languageCode
(deprecated)

string

Opcional. Obsoleto. Use [preferredLanguageCode][UserMetadata.preferred_language_code] em vez disso. Idioma a ser usado para responder se a detecção de idioma falhar. Também usado como o idioma das mensagens de erro criadas por ações, independente dos resultados da detecção de idioma.

googleSearchGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. Não use este campo.

webGroundingEnabled
(deprecated)

boolean

Opcional. Obsoleto. Não use este campo.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Opcional. Descontinuado: use [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs]. Especificações que definem DataStores para filtrar em uma chamada de pesquisa e configurações para esses repositórios de dados. Isso só é considerado para Engines com vários repositórios de dados.

Se você não definir esse campo, todos os repositórios de dados no mecanismo serão usados, exceto quando ignoreDataStores estiver definido como "true".

agentsConfig

object (AgentsConfig)

Opcional. Configuração dos agentes usados para atender à solicitação.

agentsSpec

object (AgentsSpec)

Opcional. Especificação dos agentes usados para atender à solicitação.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Opcional. Obsoleto. Use generationSpec. Configuração de geração no nível da solicitação. Isso é usado para substituir a configuração de geração padrão no nível do mecanismo.

cannedQuery

string

Opcional. O nome do recurso do CannedQuery para esta solicitação. Esse parâmetro só pode ser definido se a sessão for nova. Caso contrário, um erro INVALID_ARGUMENT será retornado.

Uma sessão é considerada nova se um StreamAssistRequest.session for fornecido e o Session correspondente não tiver nenhuma interação ou se nenhum StreamAssistRequest.session for fornecido (e um novo Session for criado).

Se o parâmetro cannedQuery for fornecido, o CannedQuery correspondente será considerado durante o processamento. O comportamento exato é descrito e documentado no CannedQuery.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/cannedQueries/{cannedQuery}

toolsSpec

object (ToolsSpec)

Opcional. Especificação das ferramentas usadas para atender à solicitação.

generationSpec

object (GenerationSpec)

Opcional. Especificação da configuração de geração para a solicitação.

Corpo da resposta

Resposta para o método AssistantService.StreamAssist.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Campos
answer

object (AssistAnswer)

Objeto de recurso assistants.assistAnswer que contém partes da resposta final do assistente para a consulta do usuário.

Não está presente se a resposta atual não adicionar nada ao AssistAnswer.replies enviado anteriormente.

Observe AssistAnswer.state para ver se mais partes são esperadas. Enquanto o estado for IN_PROGRESS, o campo AssistAnswer.replies em cada resposta vai conter respostas (fragmentos de respostas) a serem anexadas às recebidas em respostas anteriores. AssistAnswer.name não será preenchido.

Se o estado for SUCCEEDED, FAILED ou SKIPPED, a resposta será a última, e AssistAnswer.name terá um valor.

sessionInfo

object (SessionInfo)

Informações da sessão. Incluído apenas no StreamAssistResponse final do fluxo de resposta.

statusUpdates[]

object (StatusUpdate)

Atualizações de progresso opcionais.

assistToken

string

Um ID global exclusivo que identifica o par atual de solicitação e fluxo de respostas. Usado para feedback e suporte.

toolResult[]
(deprecated)

object (ToolResult)

Resultados das invocações de ferramentas.

finalResultToolInvocationId

string

Se esse campo estiver presente, ele vai conter o ID da invocação da ferramenta cujo resultado é usado como a resposta final.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.assist.readwrite

Para mais informações, consulte Authentication Overview.

Permissões do IAM

Requer a seguinte permissão do IAM no recurso name:

  • discoveryengine.assistants.assist

Para mais informações, consulte a documentação do IAM.

AnswerGenerationMode

Modos de geração de respostas disponíveis.

Tipos enumerados
ANSWER_GENERATION_MODE_UNSPECIFIED Modo de geração de respostas não especificado.
NORMAL Modo normal de geração de respostas. Pode acionar algumas pesquisas e ações de chamada.
RESEARCH Modo de geração de respostas de pesquisa. Análises detalhadas da consulta, acionando muitas pesquisas sobre uma ampla variedade de tópicos relacionados a ela.
AGENT Modo de geração de respostas do agente. Usa um agente definido em agentsConfig para gerar a resposta.

AssistSkippingMode

Comportamentos de pular disponíveis para solicitações de assistência.

Tipos enumerados
ASSIST_SKIPPING_MODE_UNSPECIFIED Valor padrão. A resposta pode ser ignorada se a consulta não estiver buscando ajuda.
REQUEST_ASSIST Pedir resposta do Google Assistente. A resposta ainda pode ser ignorada se a consulta não passar nas verificações de política.

AgentsConfig

Configuração dos agentes usados para atender à solicitação.

Representação JSON
{

  // Union field config can be only one of the following:
  "noCodeAgentsConfig": {
    object (NoCodeAgentsConfig)
  },
  "assistantAgentConfigId": string,
  "agent": string,
  "inlineAgent": {
    object (Agent)
  },
  "vertexAiAgentId": string
  // End of list of possible types for union field config.
}
Campos
Campo de união config. Configuração dos diferentes tipos de agentes. config pode ser apenas de um dos tipos a seguir:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Opcional. Descontinuado: configuração para agentes do Agentspace sem código. Quando definido, a solicitação "assistants.assist" será atendida de acordo com a configuração. Use agent.

assistantAgentConfigId

string

Opcional. ID do agente de Assistant.agent_configs

agent

string

O nome do agente a ser usado. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

A definição inline do Agent a ser usado. Se fornecido, um agente com base nessa definição será usado. Esta é uma representação temporária de um agente. O campo Agent.name será ignorado.

vertexAiAgentId

string

Opcional. ID do agente de Assistant.vertex_ai_agent_configs. O ID pode ser o nome completo registrado na configuração ou a última parte após a última barra.

NoCodeAgentsConfig

Descontinuado: configuração para agentes do Agentspace sem código. Use agent.

Representação JSON
{
  "agent": string
}
Campos
agent

string

Opcional. O nome do agente a ser usado.

AgentsSpec

Especificação dos agentes usados para atender à solicitação.

Representação JSON
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Campos
agentSpecs[]

object (AgentSpec)

Opcional. Especificação dos agentes usados para atender à solicitação.

AgentSpec

Especificação de um agente.

Representação JSON
{
  "agentId": string
}
Campos
agentId

string

Obrigatório. ID para identificar o recurso do agente que atende à solicitação.

Esse campo precisa estar em conformidade com a RFC-1034 e ter um limite de 63 caracteres.

ToolsSpec

Especificação das ferramentas usadas para atender à solicitação.

Representação JSON
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Campos
toolRegistry

string

Opcional. O nome do registro de ferramentas a ser usado. Formato: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Opcional. Especificação da ferramenta Vertex AI para Pesquisa.

webGroundingSpec

object (WebGroundingSpec)

Opcional. Especificação da ferramenta de embasamento da Web. Se o campo estiver presente, ativa o embasamento com a pesquisa na Web. Funciona apenas se Assistant.web_grounding_type for [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] ou [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].

imageGenerationSpec

object (ImageGenerationSpec)

Opcional. Especificação da ferramenta de geração de imagens.

videoGenerationSpec

object (VideoGenerationSpec)

Opcional. Especificação da ferramenta de geração de vídeo.

VertexAiSearchSpec

Especificação da ferramenta Vertex AI para Pesquisa.

Representação JSON
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Campos
disabled
(deprecated)

boolean

Opcional. Obsoleto. Não use este campo. Se a ferramenta da Vertex AI para Pesquisa está desativada. O valor padrão é "false", e a ferramenta fica ativada por padrão.

dataStoreSpecs[]

object (DataStoreSpec)

Opcional. Especificações que definem DataStores para filtrar em uma chamada de pesquisa e configurações para esses repositórios de dados. Isso só é considerado para Engines com vários repositórios de dados.

filter

string

Opcional. A sintaxe do filtro consiste em uma linguagem de expressão para construir um predicado a partir de um ou mais campos dos documentos que estão sendo filtrados. A expressão de filtro diferencia maiúsculas de minúsculas.

Se esse campo não for reconhecido, um INVALID_ARGUMENT será retornado.

A filtragem na Vertex AI para Pesquisa é feita mapeando a chave de filtro do lado esquerdo (LHS, na sigla em inglês) para uma propriedade de chave definida no back-end da Vertex AI para Pesquisa. Esse mapeamento é definido pelo cliente no esquema dele. Por exemplo, um cliente de mídia pode ter um campo "name" no esquema. Nesse caso, o filtro ficaria assim: filter --> name:'ANY("king kong")'

Para mais informações sobre filtragem, incluindo sintaxe e operadores de filtro, consulte Filtrar.

WebGroundingSpec

Esse tipo não tem campos.

Especificação da ferramenta de embasamento da Web.

ImageGenerationSpec

Esse tipo não tem campos.

Especificação da ferramenta de geração de imagens.

VideoGenerationSpec

Esse tipo não tem campos.

Especificação da ferramenta de geração de vídeo.

GenerationSpec

Especificação de geração do assistente para a solicitação. Isso permite substituir a configuração de geração padrão no nível do mecanismo.

Representação JSON
{
  "modelId": string
}
Campos
modelId

string

Opcional. O modelId da Vertex AI usado para o modelo generativo. Se não for definido, o modelo padrão do Google Assistente será usado.

SessionInfo

Informações sobre a sessão.

Representação JSON
{
  "session": string,
  "queryId": string
}
Campos
session

string

Nome da sessão recém-gerada ou continuada.

Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}.

queryId

string

ID da consulta que corresponde a esta chamada de API de assistência. Uma sessão pode ter vários turnos, cada um com um ID de consulta exclusivo.

Ao especificar o nome da sessão e o ID da consulta na chamada de API assistants.assist, a solicitação de assistência acontece no contexto dos resultados da pesquisa dessa chamada.

StatusUpdate

Atualização sobre o progresso da ligação de assistência.

Representação JSON
{
  "updateText": string,
  "invocationId": string
}
Campos
updateText

string

Atualização de status de texto livre, por exemplo, "Iniciando a pesquisa interna em documentos de RH sobre benefícios" ou "A pesquisa na Web por "Pouso na Lua" gerou 12 resultados".

invocationId

string

Identificador exclusivo da invocação que gera a atualização.

ToolResult

Resultado (parcial) de uma invocação de ferramenta.

Representação JSON
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Campos
toolInvocationId

string

Identificador exclusivo da invocação da ferramenta que gera o resultado.

result

object (Reply)

Conteúdo parcial do resultado.