Verbindung zu Daten aus AlloyDB for PostgreSQL herstellen (Vorabversion)

Sie können Ihre AlloyDB-Instanz mit Gemini Enterprise verbinden, um direkten Zugriff auf Ihre Daten zu ermöglichen.

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

  • Daten müssen nicht importiert, indexiert und dupliziert werden.
  • Die Daten sind so aktuell wie nur möglich.
  • Es fallen keine zusätzlichen Indexierungs- und Speicherkosten an.
  • Sie müssen strukturierte Daten nicht in einheitliche Datensätze umwandeln.

Das Verbinden hat allerdings im Vergleich zum Importieren 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 Beschränkungen:

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

Hinweis

Die Verbindung zu AlloyDB befindet sich in der Vorabversion und ist nur für Personen auf der Zulassungsliste verfügbar. Wenn Sie diese Funktion nutzen möchten, registrieren Sie sich über das folgende Formular: Einsatz von Gemini Enterprise und Verbindung zu Daten in AlloyDB aktivieren/deaktivieren

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

AlloyDB AI Natural Language einrichten

Dieser Connector basiert auf AlloyDB AI Natural Language in AlloyDB zum Übersetzen von Abfragen in natürlicher Sprache in SQL-Abfragen.

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

Das Hinzufügen von Vorlagen in AlloyDB AI Natural Language (einer Sammlung von Fragen in natürlicher Sprache mit entsprechenden SQL-Abfragen) ist besonders hilfreich, um die Qualität zu verbessern. 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 eine Datenbanknutzerin beziehungsweise einen Datenbanknutzer in Ihrer AlloyDB-Instanz auf AlloyDB zu. Bei diesem Ansatz können alle Gemini Enterprise-Nutzenden 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 Hauptkonto die Rolle Cloud AlloyDB Database User zu: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com

    Ersetzen Sie PROJECT_NUMBER durch die Nummer des Google Cloud -Projekts, in dem Sie Gemini Enterprise verwenden.

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

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

    • Durch Abfragen 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*innen in Gemini Enterprise können nur Daten sehen, die sie sehen sollen.

      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 Nutzer und Passwort von alloydbConnectionConfig an.

Gemini Enterprise mit AlloyDB verknüpfen

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

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

    In diesem Beispiel:

    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 wie für Ihre Gemini Enterprise-Instanz sein.

    • DATA_STORE_ID: Die ID des Datenspeichers, der erstellt werden soll. Diese ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.

    • DATA_STORE_NAME: Der Anzeigename des Datenspeichers, der erstellt werden soll.

    • 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 der AlloyDB-Datenbanknutzerin oder des AlloyDB-Datenbanknutzers.

    • DATABASE_USER_PASSWORD: Das Passwort der AlloyDB-Datenbanknutzerin oder des AlloyDB-Datenbanknutzers.

    • NL_CONFIG_ID: Die ID der AlloyDB AI Natural Language-Konfiguration.

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

  3. Informationen zur Anzeige einer Vorschau der Suchergebnisse nach dem Einrichten der Anwendung finden Sie unter Suchergebnisse abrufen.