Method: projects.locations.queryData

Consulta dados a partir de uma consulta do utilizador em linguagem natural.

Pedido HTTP


POST https://geminidataanalytics.googleapis.com/v1beta/{parent=projects/*/locations/*}:queryData

Os URLs usam a sintaxe de transcodificação de gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. O recurso principal para o qual gerar a consulta. Formato: projects/{project}/locations/{location}

Corpo do pedido

O corpo do pedido contém dados com a seguinte estrutura:

Representação JSON
{
  "prompt": string,
  "context": {
    object (QueryDataContext)
  },
  "generationOptions": {
    object (GenerationOptions)
  }
}
Campos
prompt

string

Obrigatório. A consulta de linguagem natural para a qual gerar a consulta. Exemplo: "Quais são os 5 produtos mais vendidos este mês?"

context

object (QueryDataContext)

Obrigatório. O contexto da consulta de dados, incluindo as origens de dados a usar.

generationOptions

object (GenerationOptions)

Opcional. Opções para controlar o comportamento de execução e geração de consultas.

Corpo da resposta

Resposta que contém a consulta gerada e informações relacionadas.

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

Representação JSON
{
  "generatedQuery": string,
  "intentExplanation": string,
  "queryResult": {
    object (ExecutedQueryResult)
  },
  "naturalLanguageAnswer": string,
  "disambiguationQuestion": [
    string
  ]
}
Campos
generatedQuery

string

Consulta gerada para o comando do utilizador fornecido.

intentExplanation

string

Uma explicação em linguagem natural da consulta gerada. Preenchido se options.generate_explanation for verdadeiro no pedido.

queryResult

object (ExecutedQueryResult)

O resultado da execução da consulta. Preenchido se options.generate_query_result ou options.generate_natural_language_answer for verdadeiro no pedido e a execução tiver sido bem-sucedida ou tentada.

naturalLanguageAnswer

string

Uma resposta em linguagem natural à consulta, com base no queryResult. Preenchido se options.generate_natural_language_answer for verdadeiro no pedido e a execução da consulta tiver sido bem-sucedida com base na resposta da API executeSql.

disambiguationQuestion[]

string

Se foi detetada ambiguidade na consulta de linguagem natural e options.generate_disambiguation_question era verdadeiro, este campo contém uma pergunta ao utilizador para esclarecimento. O resultado devolvido representa o melhor esforço do serviço com base na entrada ambígua.

Âmbitos de autorização

Requer o seguinte âmbito do OAuth:

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

Para mais informações, consulte o Authentication Overview.

QueryDataContext

Referências a origens de dados e contexto a usar para a consulta.

Representação JSON
{
  "datasourceReferences": {
    object (DatasourceReferences)
  }
}
Campos
datasourceReferences

object (DatasourceReferences)

Obrigatório. As referências da origem de dados a usar para a consulta.

GenerationOptions

Opções para controlar a geração, a execução e o formato de resposta das consultas.

Representação JSON
{
  "generateQueryResult": boolean,
  "generateNaturalLanguageAnswer": boolean,
  "generateExplanation": boolean,
  "generateDisambiguationQuestion": boolean
}
Campos
generateQueryResult

boolean

Opcional. Se for verdadeiro, a consulta gerada é executada e os dados de resultados são devolvidos na resposta.

generateNaturalLanguageAnswer

boolean

Opcional. Se for verdadeiro, é gerada uma resposta em linguagem natural com base no resultado da execução da consulta e devolvida na resposta.

generateExplanation

boolean

Opcional. Se for true, é devolvida uma explicação da consulta gerada na resposta.

generateDisambiguationQuestion

boolean

Opcional. Se for true (predefinição: false), o serviço pode devolver uma clarifying_question se a consulta de entrada for ambígua.

ExecutedQueryResult

O resultado da execução de uma consulta. O design é genérico para todos os dialetos.

Representação JSON
{
  "columns": [
    {
      object (Column)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "totalRowCount": string,
  "partialResult": boolean,
  "queryExecutionError": string
}
Campos
columns[]

object (Column)

As colunas no conjunto de resultados, por ordem.

rows[]

object (Row)

As linhas devolvidas pela consulta.

totalRowCount

string (int64 format)

O número total de linhas no conjunto de resultados completo, se for conhecido. Pode ser uma estimativa ou uma contagem exata.

partialResult

boolean

Definido como verdadeiro se as linhas devolvidas em queryResult forem um subconjunto do resultado completo. Isto pode acontecer, por exemplo, se a execução da consulta atingir um limite de linhas. Quando é verdadeiro, o queryResult não contém todas as linhas. Para obter o resultado completo, considere usar o generatedQuery em QueryDataResponse e executá-lo no seu próprio ambiente.

queryExecutionError

string

A mensagem de erro se a execução da consulta falhou.

Coluna

Descreve uma única coluna no conjunto de resultados.

Representação JSON
{
  "name": string,
  "type": string
}
Campos
name

string

O nome da coluna.

type

string

O tipo da coluna (por exemplo, "VARCHAR", "INT64", "TIMESTAMP").

Linha

Representa uma única linha no conjunto de resultados.

Representação JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}
Campos
values[]

object (Value)

Os valores na linha, correspondentes posicionalmente às colunas.

Valor

Representa um único valor numa linha.

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

string

O valor da célula, representado num formato de string. As indicações de tempo podem ser formatadas, por exemplo, através do RFC3339Nano. Este campo é usado se o valor não for nulo.