- Requête HTTP
- Paramètres de chemin d'accès
- Corps de la requête
- Corps de la réponse
- Niveaux d'accès des autorisations
- QueryDataContext
- ParameterizedSecureViewParameters
- Paramètre
- GenerationOptions
- ExecutedQueryResult
- Colonne
- Ligne
- Value
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
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
| Paramètres | |
|---|---|
parent |
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 ( |
| Champs | |
|---|---|
prompt |
Obligatoire. Requête en langage naturel pour laquelle générer une requête. Exemple : "Quels sont les cinq produits les plus vendus ce mois-ci ?" |
context |
Obligatoire. Contexte de la requête de données, y compris les sources de données à utiliser. |
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 ( |
| Champs | |
|---|---|
generatedQuery |
Requête générée pour la requête utilisateur donnée. |
intentExplanation |
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 |
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 |
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[] |
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 ( |
| Champs | |
|---|---|
datasourceReferences |
Obligatoire. Références aux sources de données à utiliser pour la requête. |
parameterizedSecureViewParameters |
Facultatif. Paramètres pour les vues sécurisées paramétrées. |
ParameterizedSecureViewParameters
Paramètres pour les vues sécurisées paramétrées. Ces paramètres sont utilisés pour appliquer la sécurité au niveau des lignes lors de la génération de code SQL et de l'exécution des requêtes.
| Représentation JSON |
|---|
{
"parameters": [
{
object ( |
| Champs | |
|---|---|
parameters[] |
Facultatif. Paramètres nommés pour les vues sécurisées paramétrées. |
Paramètre
Représente un seul paramètre pour les vues sécurisées paramétrées.
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
Obligatoire. Clé du paramètre (par exemple, |
value |
Obligatoire. Valeur du paramètre (par exemple, |
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 |
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 |
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 |
Facultatif. Si la valeur est "true", une explication de la requête générée sera renvoyée dans la réponse. |
generateDisambiguationQuestion |
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 ( |
| Champs | |
|---|---|
columns[] |
Colonnes de l'ensemble de résultats, dans l'ordre. |
rows[] |
Lignes renvoyées par la requête. |
totalRowCount |
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 |
Définissez sur "true" si les lignes renvoyées dans |
queryExecutionError |
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 |
Nom de la colonne. |
type |
Type de la colonne (par exemple, "VARCHAR", "INT64" ou "TIMESTAMP"). |
Ligne
Représente une seule ligne dans l'ensemble de résultats.
| Représentation JSON |
|---|
{
"values": [
{
object ( |
| Champs | |
|---|---|
values[] |
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 |
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. |