Method: projects.locations.queryData

Consulta datos a partir de una consulta de usuario en lenguaje natural.

Solicitud HTTP


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

Las URLs utilizan la sintaxis de transcodificación a gRPC.

Parámetros de ruta

Parámetros
parent

string

Obligatorio. Recurso superior para el que se va a generar la consulta. Formato: projects/{project}/locations/{location}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos que presentan la siguiente estructura:

Representación JSON
{
  "prompt": string,
  "context": {
    object (QueryDataContext)
  },
  "generationOptions": {
    object (GenerationOptions)
  }
}
Campos
prompt

string

Obligatorio. La consulta de lenguaje natural para la que se va a generar la consulta. Ejemplo: "¿Cuáles son los 5 productos más vendidos de este mes?"

context

object (QueryDataContext)

Obligatorio. El contexto de la consulta de datos, incluidas las fuentes de datos que se van a usar.

generationOptions

object (GenerationOptions)

Opcional. Opciones para controlar la generación de consultas y el comportamiento de ejecución.

Cuerpo de la respuesta

Respuesta que contiene la consulta generada e información relacionada.

Si la solicitud se realiza correctamente, el cuerpo de la respuesta proporciona datos con la siguiente estructura:

Representación JSON
{
  "generatedQuery": string,
  "intentExplanation": string,
  "queryResult": {
    object (ExecutedQueryResult)
  },
  "naturalLanguageAnswer": string,
  "disambiguationQuestion": [
    string
  ]
}
Campos
generatedQuery

string

Consulta generada para la petición del usuario.

intentExplanation

string

Una explicación en lenguaje natural de la consulta generada. Se rellena si options.generate_explanation era true en la solicitud.

queryResult

object (ExecutedQueryResult)

El resultado de ejecutar la consulta. Se rellena si options.generate_query_result u options.generate_natural_language_answer eran verdaderos en la solicitud y la ejecución se ha realizado correctamente o se ha intentado.

naturalLanguageAnswer

string

Una respuesta en lenguaje natural a la consulta, basada en queryResult. Se rellena si options.generate_natural_language_answer era true en la solicitud y la ejecución de la consulta se ha realizado correctamente según la respuesta de la API executeSql.

disambiguationQuestion[]

string

Si se ha detectado ambigüedad en la consulta en lenguaje natural y options.generate_disambiguation_question era true, este campo contiene una pregunta para que el usuario aclare la consulta. El valor devuelto representa el mejor esfuerzo del servicio en función de la entrada ambigua.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

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

Para obtener más información, consulta el Authentication Overview.

QueryDataContext

Referencias a las fuentes de datos y al contexto que se deben usar en la consulta.

Representación JSON
{
  "datasourceReferences": {
    object (DatasourceReferences)
  }
}
Campos
datasourceReferences

object (DatasourceReferences)

Obligatorio. Las referencias de la fuente de datos que se van a usar en la consulta.

GenerationOptions

Opciones para controlar la generación, la ejecución y el formato de respuesta de las consultas.

Representación JSON
{
  "generateQueryResult": boolean,
  "generateNaturalLanguageAnswer": boolean,
  "generateExplanation": boolean,
  "generateDisambiguationQuestion": boolean
}
Campos
generateQueryResult

boolean

Opcional. Si es true, se ejecutará la consulta generada y los datos de los resultados se devolverán en la respuesta.

generateNaturalLanguageAnswer

boolean

Opcional. Si es true, se generará una respuesta en lenguaje natural basada en el resultado de la ejecución de la consulta y se devolverá en la respuesta.

generateExplanation

boolean

Opcional. Si es true, se devolverá una explicación de la consulta generada en la respuesta.

generateDisambiguationQuestion

boolean

Opcional. Si es true (el valor predeterminado es false), el servicio puede devolver una clarifying_question si la consulta de entrada es ambigua.

ExecutedQueryResult

El resultado de la ejecución de una consulta. El diseño es genérico para todos los dialectos.

Representación JSON
{
  "columns": [
    {
      object (Column)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "totalRowCount": string,
  "partialResult": boolean,
  "queryExecutionError": string
}
Campos
columns[]

object (Column)

Las columnas del conjunto de resultados, en orden.

rows[]

object (Row)

Las filas devueltas por la consulta.

totalRowCount

string (int64 format)

El número total de filas del conjunto de resultados completo, si se conoce. Puede ser una estimación o un recuento exacto.

partialResult

boolean

Se asigna el valor true si las filas devueltas en queryResult son un subconjunto del resultado completo. Esto puede ocurrir, por ejemplo, si la ejecución de la consulta alcanza un límite de filas. Si es true, queryResult no contiene todas las filas. Para obtener el resultado completo, puedes usar el generatedQuery en QueryDataResponse y ejecutarlo en tu propio entorno.

queryExecutionError

string

El mensaje de error si no se ha podido ejecutar la consulta.

Columna

Describe una sola columna del conjunto de resultados.

Representación JSON
{
  "name": string,
  "type": string
}
Campos
name

string

Nombre de la columna.

type

string

El tipo de columna (por ejemplo, "VARCHAR", "INT64", "TIMESTAMP").

Acceso

Representa una sola fila del conjunto de resultados.

Representación JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}
Campos
values[]

object (Value)

Los valores de la fila, que se corresponden posicionalmente con las columnas.

Valor

Representa un solo valor en una fila.

Representación JSON
{
  "value": string
}
Campos
value

string

Valor de la celda, representado en formato de cadena. Las marcas de tiempo se pueden formatear, por ejemplo, con RFC3339Nano. Este campo se usa si el valor no es nulo.