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

Ajuda o usuário com uma consulta em streaming.

Solicitação HTTP

POST https://discoveryengine.googleapis.com/v1beta/{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)
  },
  "session": string,
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "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.

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}

userMetadata

object (AssistUserMetadata)

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

agentsSpec

object (AgentsSpec)

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

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)
  },
  "assistToken": 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.

assistToken

string

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

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.

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
{
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Campos
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
{
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Campos
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
}
Campos
session

string

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

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