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

Ajuda o utilizador com uma consulta de forma contínua.

Pedido HTTP

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

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

Parâmetros de caminho

Parâmetros
name

string

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

Corpo do pedido

O corpo do pedido 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 utilizador atual.

A consulta vazia só é suportada se forem fornecidos fileIds. Neste caso, a resposta é gerada com base nesses ficheiros de contexto.

answerGenerationMode

enum (AnswerGenerationMode)

Opcional. O modo de geração de respostas. Se não for especificado, o fuso horário predefinido é NORMAL.

session

string

Opcional. A sessão a usar para o pedido. Se for especificado, o assistente tem acesso ao histórico da sessão, e a consulta e a resposta são armazenadas aí.

Se - for especificado como o ID da sessão ou for deixado em branco, é criada uma nova sessão 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 responde à consulta. Se a resposta for ignorada, os motivos são apresentados em AssistAnswer.assist_skipped_reasons no prazo de AssistResponse.answer.

fileIds[]

string

Opcional. Os IDs dos ficheiros a usar para responder ao pedido. Quando carrega um ficheiro, o respetivo ID é devolvido em AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Opcional. Informações sobre o utilizador que inicia a consulta.

languageCode
(deprecated)

string

Opcional. Descontinuado. Em alternativa, use [preferredLanguageCode][UserMetadata.preferred_language_code]. Idioma a usar para responder se a deteção de idioma falhar. Também usado como o idioma das mensagens de erro criadas por ações, independentemente dos resultados da deteção de idioma.

googleSearchGroundingEnabled
(deprecated)

boolean

Opcional. Descontinuado. Evite usar este campo.

webGroundingEnabled
(deprecated)

boolean

Opcional. Descontinuado. Evite usar este campo.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Opcional. Descontinuado: use [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs] em alternativa. Especificações que definem DataStores para filtrar numa chamada de pesquisa e configurações para esses armazenamentos de dados. Isto só é considerado para Engines com várias lojas de dados.

Se não definir este campo, vai usar todos os arquivos de dados no motor, exceto quando ignoreDataStores estiver definido como verdadeiro.

agentsConfig

object (AgentsConfig)

Opcional. Configuração dos agentes usados para publicar o pedido.

agentsSpec

object (AgentsSpec)

Opcional. Especificação dos agentes usados para publicar o pedido.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Opcional. Descontinuado. Em alternativa, use generationSpec. Configuração de geração ao nível do pedido. Isto é usado para substituir a configuração de geração predefinida ao nível do motor.

cannedQuery

string

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

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

Se for fornecido o parâmetro cannedQuery, o parâmetro CannedQuery correspondente é tido em conta 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 publicar o pedido.

generationSpec

object (GenerationSpec)

Opcional. Especificação da configuração de geração para o pedido.

Corpo da resposta

Resposta para o método AssistantService.StreamAssist.

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura:

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

object (AssistAnswer)

assistants.assist objecto de recurso de resposta que contém partes da resposta final do assistente à consulta do utilizador.

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

Observe AssistAnswer.state para ver se são esperadas mais peças. 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 vai ser preenchido.

Se o estado for SUCCEEDED, FAILED ou SKIPPED, a resposta é a última resposta e AssistAnswer.name tem um valor.

sessionInfo

object (SessionInfo)

Informações da sessão. Apenas incluído no StreamAssistResponse final da stream de resposta.

statusUpdates[]

object (StatusUpdate)

Atualizações de progresso opcionais.

assistToken

string

Um ID exclusivo global que identifica o par atual de pedido e stream de respostas. Usado para feedback e apoio técnico.

toolResult[]
(deprecated)

object (ToolResult)

Resultados das invocações de ferramentas.

finalResultToolInvocationId

string

Se este campo estiver presente, contém o ID da invocação da ferramenta cujo resultado é usado como a resposta final.

Âmbitos de autorização

Requer um dos seguintes âmbitos 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 o Authentication Overview.

Autorizações de IAM

Requer a seguinte autorização de 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.

Enumerações
ANSWER_GENERATION_MODE_UNSPECIFIED Modo de geração de respostas não especificado.
NORMAL Modo de geração de respostas normal. Pode acionar algumas pesquisas e ações de chamadas.
RESEARCH Modo de geração de respostas de investigação. Análises detalhadas da consulta, que acionam muitas pesquisas de uma grande variedade de tópicos relacionados com a consulta.
AGENT Modo de geração de respostas do agente. Usa um agente definido em agentsConfig para gerar a resposta.

AssistSkippingMode

Comportamentos de ignorar disponíveis para pedidos de assistência.

Enumerações
ASSIST_SKIPPING_MODE_UNSPECIFIED Valor predefinido. A resposta pode ser ignorada se a consulta não estiver a pedir assistência.
REQUEST_ASSIST Pedir resposta ao Assistente. A resposta pode continuar a ser ignorada se a consulta falhar nas verificações de políticas.

AgentsConfig

Configuração dos agentes usados para publicar o pedido.

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 só pode ser uma das seguintes opções:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Opcional. Descontinuado: configuração para agentes do Agentspace sem código. Quando definida, o pedido assistants.assist é publicado de acordo com a configuração. Em alternativa, use agent.

assistantAgentConfigId

string

Opcional. ID do agente de Assistant.agent_configs

agent

string

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

inlineAgent

object (Agent)

A definição inline do Agent a usar. Se for fornecido, é usado um agente baseado nesta definição. 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 registado na configuração ou a última parte após a última barra.

NoCodeAgentsConfig

Descontinuado: configuração para agentes do Agentspace sem código. Em alternativa, use agent.

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

string

Opcional. O nome do agente a usar.

AgentsSpec

Especificação dos agentes usados para publicar o pedido.

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

object (AgentSpec)

Opcional. Especificação dos agentes usados para publicar o pedido.

AgentSpec

Especificação de um agente.

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

string

Obrigatório. ID para identificar o recurso do agente que está a publicar o pedido.

Este campo tem de estar em conformidade com o RFC-1034 com um limite de comprimento de 63 carateres.

ToolsSpec

Especificação das ferramentas usadas para publicar o pedido.

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

string

Opcional. O nome do registo de ferramentas a usar. Formato: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Opcional. Especificação da ferramenta Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Opcional. Especificação da ferramenta de fundamentação Web. Se o campo estiver presente, ativa o fundamento com a pesquisa Web. Só funciona 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ídeos.

VertexAiSearchSpec

Especificação da ferramenta Vertex AI Search.

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

boolean

Opcional. Descontinuado. Evite usar este campo. Se a ferramenta Vertex AI Search está desativada. O valor predefinido é falso. A ferramenta está ativada por predefinição.

dataStoreSpecs[]

object (DataStoreSpec)

Opcional. Especificações que definem DataStores para filtrar numa chamada de pesquisa e configurações para esses armazenamentos de dados. Isto só é considerado para Engines com várias lojas de dados.

filter

string

Opcional. A sintaxe do filtro consiste numa linguagem de expressão para criar um predicado a partir de um ou mais campos dos documentos que estão a ser filtrados. A expressão de filtro é sensível a maiúsculas e minúsculas.

Se este campo não for reconhecível, é devolvido um INVALID_ARGUMENT.

A filtragem na Vertex AI Search é feita através do mapeamento da chave do filtro do lado esquerdo para uma propriedade de chave definida no back-end da Vertex AI Search. Este mapeamento é definido pelo cliente no respetivo esquema. Por exemplo, um cliente de multimédia pode ter um campo "name" no respetivo esquema. Neste caso, o filtro teria o seguinte aspeto: filter --> name:'ANY("king kong")'

Para mais informações sobre a filtragem, incluindo a sintaxe e os operadores de filtro, consulte o artigo Filtrar

WebGroundingSpec

Este tipo não tem campos.

Especificação da ferramenta de fundamentação Web.

ImageGenerationSpec

Este tipo não tem campos.

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

VideoGenerationSpec

Este tipo não tem campos.

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

GenerationSpec

Especificação de geração do Assistente para o pedido. Isto permite substituir a configuração de geração predefinida ao nível do motor.

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

string

Opcional. O modelId do Vertex AI usado para o modelo generativo. Se não estiver definido, é usado o modelo do Assistente predefinido.

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 API Assist. Uma sessão pode ter vários turnos, cada um com um ID de consulta exclusivo.

Ao especificar o nome da sessão e este ID de consulta na chamada da API assistants.assist, o pedido de assistência ocorre no contexto dos resultados da pesquisa desta chamada de pesquisa.

StatusUpdate

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

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

string

Atualização do estado de texto livre, por exemplo: "A iniciar pesquisa interna em documentos de RH para regalias" ou "A pesquisa na Web por "Aterragem 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.