Method: projects.locations.queryData

Fragt Daten aus einer Nutzerabfrage in natürlicher Sprache ab.

HTTP-Anfrage


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

Für die URLs wird die Syntax der gRPC-Transcodierung verwendet.

Pfadparameter

Parameter
parent

string

Erforderlich. Die übergeordnete Ressource, für die die Abfrage generiert werden soll. Format: projects/{projekt}/locations/{location}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "prompt": string,
  "context": {
    object (QueryDataContext)
  },
  "generationOptions": {
    object (GenerationOptions)
  }
}
Felder
prompt

string

Erforderlich. Die Abfrage in natürlicher Sprache, für die eine Abfrage generiert werden soll. Beispiel: „Welche fünf Produkte haben sich in diesem Monat am besten verkauft?“

context

object (QueryDataContext)

Erforderlich. Der Kontext für die Datenabfrage, einschließlich der zu verwendenden Datenquellen.

generationOptions

object (GenerationOptions)

Optional. Optionen zum Steuern des Verhaltens bei der Abfragegenerierung und -ausführung.

Antworttext

Antwort mit der generierten Anfrage und zugehörigen Informationen.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "generatedQuery": string,
  "intentExplanation": string,
  "queryResult": {
    object (ExecutedQueryResult)
  },
  "naturalLanguageAnswer": string,
  "disambiguationQuestion": [
    string
  ]
}
Felder
generatedQuery

string

Generierte Abfrage für den angegebenen Nutzer-Prompt.

intentExplanation

string

Eine Erklärung der generierten Abfrage in natürlicher Sprache. Wird ausgefüllt, wenn „options.generate_explanation“ in der Anfrage „true“ war.

queryResult

object (ExecutedQueryResult)

Das Ergebnis der Ausführung der Abfrage. Wird ausgefüllt, wenn „options.generate_query_result“ oder „options.generate_natural_language_answer“ im Antrag auf „true“ gesetzt war und die Ausführung erfolgreich war oder versucht wurde.

naturalLanguageAnswer

string

Eine Antwort in natürlicher Sprache auf die Anfrage, basierend auf dem „queryResult“. Wird ausgefüllt, wenn „options.generate_natural_language_answer“ in der Anfrage auf „true“ gesetzt war und die Ausführung der Abfrage basierend auf der Antwort der executeSql API erfolgreich war.

disambiguationQuestion[]

string

Wenn in der Anfrage in natürlicher Sprache und den Optionen Mehrdeutigkeit erkannt wurde und „options.generate_disambiguation_question“ auf „true“ gesetzt ist, enthält dieses Feld eine Frage an den Nutzer zur Klärung. Die Rückgabe stellt die bestmögliche Antwort des Dienstes auf der Grundlage der mehrdeutigen Eingabe dar.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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

Weitere Informationen finden Sie unter Authentication Overview.

QueryDataContext

Verweise auf Datenquellen und Kontext, die für die Anfrage verwendet werden sollen.

JSON-Darstellung
{
  "datasourceReferences": {
    object (DatasourceReferences)
  }
}
Felder
datasourceReferences

object (DatasourceReferences)

Erforderlich. Die Datenquellenreferenzen, die für die Abfrage verwendet werden sollen.

GenerationOptions

Optionen zum Steuern der Abfragegenerierung, ‑ausführung und des Antwortformats.

JSON-Darstellung
{
  "generateQueryResult": boolean,
  "generateNaturalLanguageAnswer": boolean,
  "generateExplanation": boolean,
  "generateDisambiguationQuestion": boolean
}
Felder
generateQueryResult

boolean

Optional. Bei „true“ wird die generierte Abfrage ausgeführt und die Ergebnisdaten werden in der Antwort zurückgegeben.

generateNaturalLanguageAnswer

boolean

Optional. Bei „true“ wird eine Antwort in natürlicher Sprache basierend auf dem Ergebnis der Abfrageausführung generiert und in der Antwort zurückgegeben.

generateExplanation

boolean

Optional. Wenn „true“, wird in der Antwort eine Erklärung der generierten Abfrage zurückgegeben.

generateDisambiguationQuestion

boolean

Optional. Wenn „true“ (Standardwert: „false“), kann der Dienst eine Frage zur Klärung zurückgeben, wenn die Eingabeanfrage mehrdeutig ist.

ExecutedQueryResult

Das Ergebnis der Ausführung einer Abfrage. Das Design ist für alle Dialekte generisch.

JSON-Darstellung
{
  "columns": [
    {
      object (Column)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "totalRowCount": string,
  "partialResult": boolean,
  "queryExecutionError": string
}
Felder
columns[]

object (Column)

Die Spalten in der Ergebnismenge in der richtigen Reihenfolge.

rows[]

object (Row)

Die von der Abfrage zurückgegebenen Zeilen.

totalRowCount

string (int64 format)

Die Gesamtzahl der Zeilen im vollständigen Ergebnissatz, sofern bekannt. Dies kann eine Schätzung oder eine genaue Anzahl sein.

partialResult

boolean

Wird auf „true“ gesetzt, wenn die zurückgegebenen Zeilen in queryResult eine Teilmenge des vollständigen Ergebnisses sind. Das kann beispielsweise passieren, wenn bei der Ausführung der Abfrage ein Zeilenlimit erreicht wird. Wenn „true“, enthält queryResult nicht alle Zeilen. Wenn Sie das vollständige Ergebnis abrufen möchten, verwenden Sie generatedQuery in QueryDataResponse und führen Sie es in Ihrer eigenen Umgebung aus.

queryExecutionError

string

Die Fehlermeldung, wenn die Ausführung der Abfrage fehlgeschlagen ist.

Spalte

Beschreibt eine einzelne Spalte im Ergebnissatz.

JSON-Darstellung
{
  "name": string,
  "type": string
}
Felder
name

string

Der Name der Spalte.

type

string

Der Typ der Spalte (z.B. „VARCHAR“, „INT64“, „TIMESTAMP“).

Zeile

Stellt eine einzelne Zeile im Ergebnissatz dar.

JSON-Darstellung
{
  "values": [
    {
      object (Value)
    }
  ]
}
Felder
values[]

object (Value)

Die Werte in der Zeile, die positionell den Spalten entsprechen.

Wert

Stellt einen einzelnen Wert in einer Zeile dar.

JSON-Darstellung
{
  "value": string
}
Felder
value

string

Der Zellenwert im Stringformat. Zeitstempel können beispielsweise mit RFC3339Nano formatiert werden. Dieses Feld wird verwendet, wenn der Wert nicht null ist.