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

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

Pedido HTTP

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

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}

userMetadata

object (AssistUserMetadata)

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

agentsSpec

object (AgentsSpec)

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

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

assistToken

string

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

Â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.

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

string

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

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