Verbindung zu Daten aus AlloyDB for PostgreSQL herstellen (Vorschau)

Sie können Ihre AlloyDB-Instanz mit Gemini Enterprise verbinden und so Livezugriff auf Ihre Daten ermöglichen.

Im Vergleich zum Importieren aus AlloyDB bietet das Herstellen einer Verbindung folgende Vorteile:

  • Daten müssen nicht mehr importiert, indexiert und dupliziert werden.
  • Maximale Datenaktualität.
  • Es fallen keine zusätzlichen Indexierungs- und Speicherkosten an.
  • Sie müssen strukturierte Daten nicht in einheitliche Datensätze umwandeln.

Im Vergleich zum Importieren hat das Herstellen einer Verbindung folgende Nachteile:

  • Dieser Ansatz unterstützt nur strukturierte Abfragen, keine semantischen oder halbsemantischen Abfragen.
  • Die Einrichtung ist etwas aufwendiger als der Import der Daten.

Beschränkungen

Für die Verbindung zu AlloyDB gelten die folgenden Einschränkungen:

  • Gemini Enterprise unterstützt die Zugriffssteuerung auf der Ebene von Datenbankobjekten wie Tabellen und Spalten, jedoch nicht auf Nutzerebene. Alle Nutzer mit Zugriff auf Ihre Gemini Enterprise-App können dieselben Daten sehen.
  • Das Erstellen eines AlloyDB-Datenspeichers wird über die API unterstützt, nicht über die Google Cloud Console.

Hinweise

Die Verbindung zu AlloyDB befindet sich in der Vorschau mit einer Zulassungsliste. Wenn Sie diese Funktion nutzen möchten, registrieren Sie sich bitte über das folgende Formular: Gemini Enterprise verwenden und mit Daten aus AlloyDB verbinden

Warten Sie nach der Registrierung, bis Sie die Bestätigung der Aktivierung erhalten, bevor Sie der Anleitung auf dieser Seite folgen.

Natürliche Sprache für AlloyDB AI einrichten

Dieser Connector basiert auf der Verarbeitung natürlicher Sprache mit AlloyDB AI in AlloyDB, die Abfragen in natürlicher Sprache in SQL-Abfragen übersetzt.

Bevor Sie eine Verbindung herstellen, müssen Sie die Verarbeitung natürlicher Sprache in AlloyDB AI in Ihrer Datenbank einrichten. Folgen Sie dazu der Anleitung unter SQL-Abfragen generieren, die Fragen in natürlicher Sprache beantworten in der AlloyDB-Dokumentation.

Das Hinzufügen von Vorlagen in AlloyDB AI Natural Language (eine kuratierte Sammlung von Fragen in natürlicher Sprache mit entsprechenden SQL-Abfragen) ist besonders nützlich für die Qualität. Google empfiehlt beim Hinzufügen von Vorlagen Folgendes:

  • Verwenden Sie ORDER BY, um Nichtdeterminismus zu vermeiden. Beispiel: SELECT customers.id FROM customers ORDER BY customers.id;

Authentifizierung zwischen Gemini Enterprise und AlloyDB einrichten

Gemini Enterprise greift über ein dediziertes Dienstkonto und einen Datenbanknutzer in Ihrer AlloyDB-Instanz auf AlloyDB zu. Bei diesem Ansatz können alle Gemini Enterprise-Nutzer dieselben Daten sehen, ohne dass eine nutzerspezifische Zugriffssteuerung erforderlich ist.

Ein Dienstkonto wird verwendet, um eine Verbindung zu Ihrer AlloyDB-Instanz herzustellen und mit ihr zu interagieren. Dazu müssen Sie die IAM-Einstellungen (Identity and Access Management) in dem Google Cloud Projekt konfigurieren, in dem sich Ihre Datenbankinstanz befindet.

So richten Sie die Authentifizierung ein:

  1. Rufen Sie die IAM-Konfigurationsseite des Projekts auf, in dem sich Ihre AlloyDB-Instanz befindet.
  2. Weisen Sie dem folgenden Prinzipal die Rolle Cloud AlloyDB Database User zu: service-PROJECT_NUMBER@gcp-sa-discoveryengine.

    Ersetzen Sie PROJECT_NUMBER durch die Google Cloud Projektnummer, in der Sie Gemini Enterprise verwenden.

  3. Erstellen Sie in Ihrer AlloyDB-Instanz einen Datenbanknutzer, der von Gemini Enterprise zum Ausführen von SQL-Abfragen verwendet werden soll.

    Es ist sehr wichtig, dass Sie diesem Nutzer nur Lesezugriff gewähren und nur für Tabellen, Ansichten und Spalten, auf die von Gemini Enterprise aus zugegriffen werden soll. Dadurch wird Folgendes gewährleistet:

    • Durch Anfragen von Gemini Enterprise können Ihre Daten nicht geändert oder gelöscht werden. Gemini Enterprise ist so konzipiert, dass nur Daten aus Ihrer Datenbank gelesen werden und nichts geändert wird. Google kann jedoch nicht vollständig ausschließen, dass die KI unbeabsichtigte Schreibanfragen generiert.

    • Nutzer in Gemini Enterprise können nur Daten sehen, die sie sehen dürfen.

      Beispiel:

      CREATE ROLE USER_NAME WITH LOGIN PASSWORD 'PASSWORD';
      GRANT SELECT ON TABLE "public"."TABLE_NAME_1" TO USER_NAME;
      GRANT SELECT ON TABLE "public"."TABLE_NAME_2" TO USER_NAME;
      

      Wenn Sie Gemini Enterprise mit AlloyDB verknüpfen, geben Sie den Nutzernamen und das Passwort in den Feldern User (Nutzer) und Password (Passwort) von alloydbConnectionConfig an.

Gemini Enterprise mit AlloyDB verknüpfen

So stellen Sie eine Verbindung zu Ihrer AlloyDB-Instanz her:

  1. Erstellen Sie mit den AlloyDB-Verbindungsdetails einen Datenspeicher in Gemini Enterprise über die API, einschließlich federatedSearchConfig.alloyDbConfig.

    Im anschließenden Beispiel geschieht Folgendes:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_ID" \
      "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" -d '{
      "displayName": "DATA_STORE_NAME",
      "federatedSearchConfig": {
        "alloyDbConfig": {
          "alloydbConnectionConfig": {
            "instance": "INSTANCE_PATH",
            "database": "DATABASE_NAME",
            "user": "DATABASE_USER_NAME",
            "password": "DATABASE_USER_PASSWORD",
            "authMode": "AUTH_MODE_SERVICE_ACCOUNT"
          },
          "alloydb_ai_nl_config": { "nlConfigId": "NL_CONFIG_ID" }
        }
      },
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"]
    }'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie Gemini Enterprise verwenden.
    • LOCATION: Der Speicherort Ihres Datenspeichers. Dies sollte derselbe Standort wie für Ihre Gemini Enterprise-Instanz sein.

    • DATA_STORE_ID: Die ID des zu erstellenden Datenspeichers. Diese ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.

    • DATA_STORE_NAME: Der Anzeigename des Datenspeichers, den Sie erstellen möchten.

    • INSTANCE_PATH: Der Pfad zu Ihrer AlloyDB-Instanz im Format projects/.../locations/.../clusters/.../instances/....

    • DATABASE_NAME: Die ID der AlloyDB-Datenbank.

    • DATABASE_USER_NAME: Die ID des AlloyDB-Datenbanknutzers.

    • DATABASE_USER_PASSWORD: Das Passwort des AlloyDB-Datenbanknutzers.

    • NL_CONFIG_ID: Die ID der AlloyDB AI-Konfiguration für natürliche Sprache.

  2. Hängen Sie Ihren Datenspeicher an eine vorhandene Gemini Enterprise-App an oder erstellen Sie eine neue App und wählen Sie Ihren Connector aus. Folgen Sie dazu der Anleitung unter App erstellen.

  3. Hier finden Sie eine Vorschau der Suchergebnisse nach der Erstellung der App.