Method: projects.locations.queryData

Interroge les données à partir d'une requête utilisateur en langage naturel.

Requête HTTP


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

Les URL utilisent la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
parent

string

Obligatoire. Ressource parente pour laquelle générer la requête. Format : projects/{project}/locations/{location}

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "prompt": string,
  "context": {
    object (QueryDataContext)
  },
  "generationOptions": {
    object (GenerationOptions)
  }
}
Champs
prompt

string

Obligatoire. Requête en langage naturel pour laquelle générer la requête. Exemple : "Quels sont les cinq produits les plus vendus ce mois-ci ?"

context

object (QueryDataContext)

Obligatoire. Contexte de la requête de données, y compris les sources de données à utiliser.

generationOptions

object (GenerationOptions)

Facultatif. Options permettant de contrôler le comportement de génération et d'exécution des requêtes.

Corps de la réponse

Réponse contenant la requête générée et les informations associées.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "generatedQuery": string,
  "intentExplanation": string,
  "queryResult": {
    object (ExecutedQueryResult)
  },
  "naturalLanguageAnswer": string,
  "disambiguationQuestion": [
    string
  ]
}
Champs
generatedQuery

string

Requête générée pour la requête utilisateur donnée.

intentExplanation

string

Explication en langage naturel de la requête générée. Rempli si options.generate_explanation était défini sur "true" dans la requête.

queryResult

object (ExecutedQueryResult)

Résultat de l'exécution de la requête. Rempli si options.generate_query_result ou options.generate_natural_language_answer était défini sur "true" dans la requête, et si l'exécution a réussi ou a été tentée.

naturalLanguageAnswer

string

Réponse en langage naturel à la requête, basée sur queryResult. Renseigné si options.generate_natural_language_answer était défini sur "true" dans la requête et si l'exécution de la requête a réussi en fonction de la réponse de l'API executeSql.

disambiguationQuestion[]

string

Si une ambiguïté a été détectée dans la requête en langage naturel et que options.generate_disambiguation_question était défini sur "true", ce champ contient une question à l'utilisateur pour obtenir des précisions. La réponse renvoyée représente la meilleure estimation du service en fonction de l'entrée ambiguë.

Niveaux d'accès des autorisations

Requiert le niveau d'accès OAuth suivant :

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

Pour plus d'informations, consultez la Authentication Overview.

QueryDataContext

Références aux sources de données et au contexte à utiliser pour la requête.

Représentation JSON
{
  "datasourceReferences": {
    object (DatasourceReferences)
  }
}
Champs
datasourceReferences

object (DatasourceReferences)

Obligatoire. Références aux sources de données à utiliser pour la requête.

GenerationOptions

Options permettant de contrôler la génération et l'exécution des requêtes, ainsi que le format des réponses.

Représentation JSON
{
  "generateQueryResult": boolean,
  "generateNaturalLanguageAnswer": boolean,
  "generateExplanation": boolean,
  "generateDisambiguationQuestion": boolean
}
Champs
generateQueryResult

boolean

Facultatif. Si la valeur est "true", la requête générée sera exécutée et les données de résultat seront renvoyées dans la réponse.

generateNaturalLanguageAnswer

boolean

Facultatif. Si la valeur est "true", une réponse en langage naturel basée sur le résultat de l'exécution de la requête sera générée et renvoyée dans la réponse.

generateExplanation

boolean

Facultatif. Si la valeur est "true", une explication de la requête générée sera renvoyée dans la réponse.

generateDisambiguationQuestion

boolean

Facultatif. Si la valeur est "true" (la valeur par défaut est "false"), le service peut renvoyer une question de clarification si la requête saisie est ambiguë.

ExecutedQueryResult

Résultat de l'exécution d'une requête. La conception est générique pour tous les dialectes.

Représentation JSON
{
  "columns": [
    {
      object (Column)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "totalRowCount": string,
  "partialResult": boolean,
  "queryExecutionError": string
}
Champs
columns[]

object (Column)

Colonnes de l'ensemble de résultats, dans l'ordre.

rows[]

object (Row)

Lignes renvoyées par la requête.

totalRowCount

string (int64 format)

Nombre total de lignes dans l'ensemble de résultats complet, si vous le connaissez. Il peut s'agir d'une estimation ou d'un nombre exact.

partialResult

boolean

Définissez sur "true" si les lignes renvoyées dans queryResult sont un sous-ensemble du résultat complet. Cela peut se produire, par exemple, si l'exécution de la requête atteint une limite de lignes. Si la valeur est "true", queryResult ne contient pas toutes les lignes. Pour récupérer le résultat complet, envisagez d'utiliser generatedQuery dans QueryDataResponse et de l'exécuter dans votre propre environnement.

queryExecutionError

string

Message d'erreur si l'exécution de la requête a échoué.

Colonne

Décrit une seule colonne dans l'ensemble de résultats.

Représentation JSON
{
  "name": string,
  "type": string
}
Champs
name

string

Nom de la colonne.

type

string

Type de la colonne (par exemple, "VARCHAR", "INT64", "TIMESTAMP").

Ligne

Représente une seule ligne dans l'ensemble de résultats.

Représentation JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}
Champs
values[]

object (Value)

Valeurs de la ligne, correspondant à la position des colonnes.

Valeur

Représente une valeur unique dans une ligne.

Représentation JSON
{
  "value": string
}
Champs
value

string

Valeur de la cellule, représentée sous forme de chaîne. Les codes temporels peuvent être mis en forme, par exemple, à l'aide de RFC3339Nano. Ce champ est utilisé si la valeur n'est pas nulle.