Method: projects.locations.queryData

Consulta datos a partir de una búsqueda del usuario en lenguaje natural.

Solicitud HTTP


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

Las URL usan la sintaxis de transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. Es el recurso principal para el que se generará la consulta. Formato: projects/{project}/locations/{location}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

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

string

Obligatorio. Es la búsqueda en lenguaje natural para la que se generará la búsqueda. Ejemplo: "¿Cuáles son los 5 productos más vendidos este mes?"

context

object (QueryDataContext)

Obligatorio. Es el contexto de la consulta de datos, incluidas las fuentes de datos que se usarán.

generationOptions

object (GenerationOptions)

Es opcional. Son opciones para controlar el comportamiento de la generación y la ejecución de consultas.

Cuerpo de la respuesta

Respuesta que contiene la búsqueda generada y la información relacionada.

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

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

string

Es la consulta generada para la instrucción del usuario proporcionada.

intentExplanation

string

Es una explicación en lenguaje natural de la consulta generada. Se completa si options.generate_explanation era verdadero en la solicitud.

queryResult

object (ExecutedQueryResult)

Es el resultado de la ejecución de la consulta. Se completa si options.generate_query_result o options.generate_natural_language_answer eran verdaderos en la solicitud y la ejecución se realizó correctamente o se intentó.

naturalLanguageAnswer

string

Es una respuesta en lenguaje natural a la búsqueda, basada en el objeto queryResult. Se completa si options.generate_natural_language_answer era verdadero en la solicitud y la ejecución de la búsqueda se realizó correctamente según la respuesta de la API de executeSql.

disambiguationQuestion[]

string

Si se detectó ambigüedad en la búsqueda y las opciones en lenguaje natural, y options.generate_disambiguation_question era verdadero, este campo contiene una pregunta para que el usuario aclare la búsqueda. El resultado que se muestra 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 Authentication Overview.

QueryDataContext

Son las referencias a las fuentes de datos y el contexto que se deben usar para la búsqueda.

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

object (DatasourceReferences)

Obligatorio. Son las referencias de la fuente de datos que se usarán para la consulta.

GenerationOptions

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

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

boolean

Es opcional. Si es verdadero, se ejecutará la búsqueda generada y los datos del resultado se devolverán en la respuesta.

generateNaturalLanguageAnswer

boolean

Es opcional. Si es verdadero, se generará una respuesta en lenguaje natural basada en el resultado de la ejecución de la búsqueda y se devolverá en la respuesta.

generateExplanation

boolean

Es opcional. Si es verdadero, se devolverá una explicación de la consulta generada en la respuesta.

generateDisambiguationQuestion

boolean

Es opcional. Si es verdadero (el valor predeterminado es falso), el servicio puede devolver una pregunta aclaratoria si la búsqueda de entrada es ambigua.

ExecutedQueryResult

Es 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)

Columnas del conjunto de resultados, en orden.

rows[]

object (Row)

Son las filas que devuelve la consulta.

totalRowCount

string (int64 format)

Es la cantidad total de filas en el conjunto de resultados completo, si se conoce. Puede ser una estimación o un recuento exacto.

partialResult

boolean

Se establece como verdadero 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. Cuando es verdadero, queryResult no contiene todas las filas. Para recuperar el resultado completo, considera usar generatedQuery en QueryDataResponse y ejecutarlo en tu propio entorno.

queryExecutionError

string

Es el mensaje de error si falló la ejecución de la consulta.

Columna

Describe una sola columna en el conjunto de resultados.

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

string

Es el nombre de la columna

type

string

Es el tipo de la columna (p.ej., "VARCHAR", "INT64", "TIMESTAMP").

Fila

Representa una sola fila en el conjunto de resultados.

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

object (Value)

Son los valores de la fila, que corresponden posicionalmente a las columnas.

Valor

Representa un solo valor dentro de 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.