KI-Agenten für Datenverarbeitung – Übersicht

Mit Daten-KI-Agenten können Sie in natürlicher Sprache mit den Daten in Ihrer Datenbank interagieren. Sie können Daten-KI-Agenten erstellen, indem Sie den Kontext für eine Reihe von Tabellen in Ihrer Datenbank definieren. So können Daten-KI-Agenten Fragen in natürlicher Sprache in genaue Abfragen für Ihre Zielanwendungsfälle übersetzen.

Kontext sind datenbankspezifische Informationen, mit denen das LLM Abfragen mit hoher Genauigkeit generieren kann. Der Kontext umfasst Vorlagen und Facetten, die dem Agenten helfen, Ihr Datenbankschema und die Geschäftslogik Ihrer Anwendungen zu verstehen.

Die folgenden Datenbanken werden unterstützt:

  • AlloyDB for PostgreSQL
  • Cloud SQL for MySQL
  • Cloud SQL for PostgreSQL
  • Spanner

Wann sollten Daten-KI-Agenten verwendet werden?

Sie können Daten-KI-Agenten verwenden, um konversationelle Datenanwendungen zu erstellen, die sich für Anwendungsfälle wie die folgenden eignen:

  • Kundenserviceautomatisierung: Bearbeiten Sie Anfragen mit hohem Volumen wie „Wo ist meine Bestellung?“ oder „Wie hoch ist mein aktueller Kontostand?“.
  • E-Commerce-Shopping-Assistenten: Helfen Sie Nutzern, in großen Produkt katalogen zu navigieren, indem sie Abfragen in natürlicher Sprache verwenden, z. B. „Zeige mir Laufschuhe unter 100 $“.
  • Buchungs- und Reservierungssysteme: Ermöglichen Sie Nutzern, Verfügbarkeiten zu prüfen und Termine, Flüge oder Restaurants über Chat-Oberflächen zu buchen.
  • Tools für Außendienstmitarbeiter: Ermöglichen Sie mobilen Mitarbeitern, Lagerbestände, die Verfügbarkeit von Ersatzteilen oder Details zu Servicetickets in Echtzeit abzufragen.

Funktionsweise von Daten-KI-Agenten

Um effektive Agentenanwendungen zu erstellen, muss der Agent Ihre Datenorganisation und Geschäftslogik verstehen. Sie stellen diese Informationen in Form von Agentenkontext bereit.

Sie definieren den Agentenkontext in Dateien, die JSON-Objekte für Vorlagen und Facetten enthalten. Sie erstellen diese Kontextdateien mit der Gemini CLI. Anschließend laden Sie die Kontextdatei in einen Daten-KI-Agenten hoch, den Sie in der Google Cloud Console erstellen. So kann der Agent das spezifische Schema der Datenbank und die Geschäftslogik der Anwendung erlernen.

Die Datei mit dem Agentenkontext sieht in etwa so aus:

{
  "templates": [
    {
      "nl_query": "Count prague loan accounts",
      "sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = \"Prague\"",
      "intent": "How many accounts associated with loans are located in the Prague region?",
      "manifest": "How many accounts associated with loans are located in a given city?",
      "parameterized": {
        "parameterized_intent": "How many accounts associated with loans are located in $1",
        "parameterized_sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = $1"
      }
    }
  ],
  "facets": [
    {
      "sql_snippet": "T.\"A11\" BETWEEN 6000 AND 10000",
      "intent": "Average salary between 6000 and 10000",
      "manifest": "Average salary between a given number and a given number",
      "parameterized": {
         "parameterized_intent": "Average salary between $1 and $2",
         "parameterized_sql_snippet": "T.\"A11\" BETWEEN $1 AND $2"
      }
    }
  ]
}

Wenn ein Endnutzer eine Frage in natürlicher Sprache stellt, priorisiert der Agent die Zuordnung der Frage zu den Vorlagen und Facetten, die vom Entwickler geprüft wurden, der den Kontext kuratiert. Sobald der Agent eine Übereinstimmung findet, verwendet er die ausgewählte Abfragevorlage und die ausgewählten Facetten, um eine Datenbankabfrage zu erstellen. Anschließend führt der Agent diese Abfrage in der Datenbank aus, um genaue Ergebnisse zurückzugeben.

Der QueryData Endpunkt in der Conversational Analytics API ist ein Agententool, das die programmatische Integration in Ihre Anwendungen ermöglicht, um SQL-Abfrage aus Fragen in natürlicher Sprache zu generieren. In einer konversationellen Anwendung muss der Endpunkt QueryData im Framework verwendet werden, das den Unterhaltungsverlauf und den Kontext verwaltet.

Kontext für den KI-Agenten

Der Agentenkontext besteht aus einer kuratierten Menge von Vorlagen und Facetten im JSON-Format, die den Agenten bei der Übersetzung von Fragen in natürlicher Sprache in Abfragen für eine bestimmte Datenbank unterstützen. Durch die Definition des Kontexts wird eine hochgenaue SQL-Generierung für gängige Abfragemuster gewährleistet.

Achten Sie darauf, dass der Agentenkontext genau und umfassend ist, um die Genauigkeit zu maximieren.

Agenten und Agentenkontext können in den Regionen us-central1, us-east1, europe-west4 und asia-southeast1 erstellt werden.

Abfragevorlagen

Abfragevorlagen sind eine kuratierte Menge repräsentativer Fragen in natürlicher Sprache mit entsprechenden SQL-Abfragen. Sie enthalten auch Erklärungen, um eine deklarative Begründung für die Generierung von natürlicher Sprache zu SQL zu liefern.

Ein Abfragevorlagenobjekt sieht in etwa so aus:

{
  "templates": [
    {
      "nl_query": "Count prague loan accounts",
      "sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = \"Prague\"",
      "intent": "How many accounts associated with loans are located in the Prague region?",
      "manifest": "How many accounts associated with loans are located in a given city?",
      "parameterized": {
        "parameterized_intent": "How many accounts associated with loans are located in $1",
        "parameterized_sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = $1"
      }
    }
  ]
},
...

Die Hauptkomponenten des JSON-Objekts für die Abfragevorlage sind:

  • nl_query: Ein Beispiel für eine Abfrage in natürlicher Sprache, die vom Daten-KI-Agenten verarbeitet wird.
  • sql: Die SQL-Abfrage für die Abfrage in natürlicher Sprache.
  • intent: Das Ziel oder der Zweck der Abfrage in natürlicher Sprache. Wenn nicht festgelegt, wird standardmäßig die Abfrage in natürlicher Sprache verwendet.
  • manifest: Eine verallgemeinerte, automatisch generierte Form der Absicht.
  • parameterized_intent: Eine vorlagenbasierte, automatisch generierte Form der Absicht, wobei Entitätswerte durch Parameter ersetzt werden.
  • parameterized_sql: Eine vorlagenbasierte, automatisch generierte Form der SQL-Abfrage, die der parametrisierten Absicht entspricht.

Abfragefacetten

Abfragefacetten sind eine kuratierte Menge repräsentativer Bedingungen in natürlicher Sprache mit entsprechenden SQL-Prädikaten. Facetten verwalten Filter und Bedingungen, sodass mit Abfragevorlagen Facettensuchen durchgeführt werden können.

Ein Abfragefacettenobjekt sieht in etwa so aus:

{
...
"facets": [
    {
      "sql_snippet": "T.\"A11\" BETWEEN 6000 AND 10000",
      "intent": "Average salary between 6000 and 10000",
      "manifest": "Average salary between a given number and a given number",
      "parameterized": {
         "parameterized_intent": "Average salary between $1 and $2",
         "parameterized_sql_snippet": "T.\"A11\" BETWEEN $1 AND $2"
      }
    }
  ]
}

Die Hauptkomponenten des JSON-Objekts für die Facette sind:

  • sql_snippet: Ein SQL-Snippet.
  • intent: Eine Erklärung des SQL-Prädikats.
  • manifest: Eine verallgemeinerte, automatisch generierte Form der Absicht.
  • parameterized_intent: Eine vorlagenbasierte, automatisch generierte Form der Absicht, wobei Entitätswerte durch Parameter ersetzt werden.
  • parameterized_sql_snippet: Eine vorlagenbasierte, automatisch generierte Form des sql_snippet, die der parametrisierten Absicht entspricht.

Beschränkungen

Für Daten-KI-Agenten gelten die folgenden Beschränkungen:

  • Der Agentenkontext für Datenbanken unterstützt nur Vorlagen und Facetten.
  • Der Agentenkontext für Datenbanken wird nur vom Endpunkt QueryData in der Conversational Analytics API verwendet.

Nächste Schritte