Cloud SQL in Vertex AI einbinden

Auf dieser Seite wird beschrieben, wie Sie Cloud SQL in Vertex AI einbinden.

Mit dieser Integration können Sie Large Language Models (LLMs), die in Vertex AI gehostet werden, auf eine Cloud SQL for SQL Server 2025-Datenbank anwenden.

Durch die Einbindung von Cloud SQL in Vertex AI können Sie die semantischen und prädiktiven ML-Modelle (maschinelles Lernen) auf Ihre Daten anwenden. Diese Einbindung erweitert die SQL-Syntax um die Funktion Einbettungen generieren zum Abfragen Ihrer Modelle.

Sie verwenden die Funktion zum Generieren von Einbettungen, damit das Einbettungsmodell Text-Prompts in numerische Vektoren übersetzen kann. Anschließend können Sie diese Vektoreinbettungen als Eingaben auf Vektordatentypen anwenden. Weitere Informationen finden Sie in der Microsoft-Dokumentation zu Vektorsuche und Vektorindexen in der SQL-Datenbank-Engine.

Weitere Informationen zu Vertex AI finden Sie unter Einführung in Vertex AI.

Unterstützte Versionen und Datenbankversionen

Die Vertex AI-Integration wird sowohl für die Cloud SQL Enterprise Plus-Version als auch für die Cloud SQL Enterprise-Version und für alle Datenbankversionen von SQL Server 2025 unterstützt.

Unterstützte Modelltypen

Die Vertex AI-Einbindung in Cloud SQL unterstützt Modellendpunkte aus den folgenden Quellen:

  • Vertex AI
  • Hugging Face
  • OpenAI

Hinweis

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Aktivieren Sie die erforderlichen Google Cloud -APIs.

    Console

    1. Rufen Sie die Seite APIs & Dienste auf.
    2. Wählen Sie Ihr Projekt aus der Projektliste aus.
    3. Wenn die API-Bibliothek nicht geöffnet ist, wählen Sie im Navigationsmenü die Option Bibliothek aus.
    4. Klicken Sie auf die APIs, die Sie aktivieren möchten. Aktivieren Sie für dieses Verfahren Folgendes:

      • Cloud SQL Admin API
      • Vertex AI API
      • Compute Engine API
      • Optional: Wenn Sie ein Drittanbietermodell verwenden, ist die Secret Manager API erforderlich.
    5. Nachdem Sie die einzelnen APIs ausgewählt haben, klicken Sie auf Aktivieren.

    gcloud

    1. Öffnen Sie Cloud Shell, um direkt über den Browser über die Befehlszeile auf Ihre Google Cloud -Ressourcen zuzugreifen.
    2. Aktivieren Sie die erforderlichen APIs mit dem Befehl gcloud services enable:
      gcloud services enable sqladmin.googleapis.com \
        aiplatform.googleapis.com \
        compute.googleapis.com \
        secretmanager.googleapis.com
      
    3. Mit diesem Befehl werden die folgenden APIs aktiviert:
      • Cloud SQL Admin API
      • Vertex AI API
      • Compute Engine API
      • Optional: Wenn Sie ein Drittanbietermodell verwenden, ist die Secret Manager API erforderlich.

  4. Gewähren Sie dem Cloud SQL-Dienstkonto IAM-Berechtigungen (Identity and Access Management) für den Zugriff auf Vertex AI.
  5. gcloud

    Wenn Sie dem Cloud SQL-Dienstkonto für das Projekt, in dem sich die Cloud SQL-Instanz befindet, die Vertex AI-Berechtigungen hinzufügen möchten, erstellen Sie eine benutzerdefinierte IAM-Rolle mit den mindestens erforderlichen Berechtigungen und weisen Sie diese Rolle dann dem Dienstkonto zu.

    1. Verwenden Sie den Befehl gcloud iam roles create, um eine benutzerdefinierte Rolle mit der Berechtigung aiplatform.endpoints.predict zu erstellen:
      gcloud iam roles create ROLE_NAME \
        --project=PROJECT_ID \
        --title="Cloud SQL Vertex AI Predictor" \
        --description="Allows Cloud SQL to invoke Vertex AI predictions" \
        --permissions="aiplatform.endpoints.predict"
      
    2. Verwenden Sie den Befehl gcloud projects add-iam-policy-binding, um dem Cloud SQL-Dienstkonto die benutzerdefinierte Rolle zuzuweisen:
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
        --role="projects/PROJECT_ID/roles/ROLE_NAME"
      
    Ersetzen Sie die folgenden Werte:
    • ROLE_NAME: der Name der benutzerdefinierten IAM-Rolle, die erstellt werden soll, z. B. CloudSQLMLPredictor.
    • PROJECT_ID: ID des Projekts mit dem Vertex AI-Endpunkt. Cloud SQL verwendet diesen Endpunkt, um auf das in Vertex AI gehostete LLM zuzugreifen.
    • SERVICE_ACCOUNT_EMAIL: die E-Mail-Adresse des Cloud SQL-Dienstkontos.

      Verwenden Sie den Befehl gcloud sql instances describe, um diese E-Mail-Adresse abzurufen:

      gcloud sql instances describe INSTANCE_NAME | grep EmailAddress
      

      Ersetzen Sie INSTANCE_NAME durch den Namen der Cloud SQL-Instanz.

  6. Achten Sie darauf, dass dem Cloud SQL-Nutzer, der mit den Einbettungsmodellen arbeitet, die folgenden Datenbankberechtigungen gewährt werden:
    • Damit ein Datenbanknutzer Modelle erstellen oder ändern kann, müssen Sie dem Cloud SQL-Nutzer die Berechtigung EXECUTE für die folgenden gespeicherten Prozeduren gewähren:
      • [msdb].gcloudsql_ml_create_external_model: Erstellt ein externes Modellobjekt, das den Standort, die Authentifizierungsmethode und den Zweck eines KI-Modell-Inferenzendpunkts enthält.
      • [msdb].gcloudsql_ml_alter_external_model: Ermöglicht das Ändern des externen Modellobjekts.
      • [msdb].gcloudsql_ml_drop_external_model: Entfernt das externe Modellobjekt aus der Datenbank.
    • Zum Aufrufen der zuvor aufgeführten gespeicherten Prozeduren benötigen Sie die folgenden Berechtigungen in der Zieldatenbank:
      • CREATE EXTERNAL MODEL
      • ALTER EXTERNAL MODEL
    • Informationen zum Erteilen dieser Berechtigungen finden Sie in der Microsoft-Dokumentation zum Befehl Externes Modell erstellen und zur Nomenklatur.

      Informationen zu Cloud SQL-Superuser-Berechtigungen finden Sie unter SQL Server-Nutzer und gespeicherte Prozeduren.

  7. Wenn Sie ein externes Modell eines Drittanbieters verwenden möchten, benötigen Sie einen gültigen API-Schlüssel für das Modell, der an einem Secret Manager-Speicherort gespeichert ist, auf den die Cloud SQL-Instanz zugreifen kann.
  8. Wenn Sie ein externes Modell eines Drittanbieters verwenden, muss die Cloud SQL-Instanz eine öffentliche IP-Adresse verwenden. Instanzen mit privaten IP-Adressen können nicht auf externe Modelle von Drittanbietern zugreifen. Der Zugriff auf private Dienste und Private Service Connect werden nur mit der Vertex AI-Integration unterstützt.

Datenbankeinbindung mit Vertex AI aktivieren

Führen Sie folgende Schritte aus, um die Datenbankeinbindung in Vertex AI zu aktivieren:

  1. Erstellen oder aktualisieren Sie eine Cloud SQL-Instanz, damit die Instanz in Vertex AI eingebunden werden kann.

    gcloud

    Die Instanz erstellen

    Verwenden Sie den Befehl gcloud sql instances create, um die Cloud SQL-Instanz zu erstellen.

    gcloud sql instances create INSTANCE_NAME \
    --database-version=DATABASE_VERSION \
    --tier=MACHINE_TYPE \
    --region=REGION_NAME \
    --enable-google-ml-integration

    Ersetzen Sie die folgenden Werte:

    • INSTANCE_NAME: der Name der Instanz.
    • DATABASE_VERSION: die Datenbankversion für die Instanz, z. B. SQLSERVER_2025_ENTERPRISE.
    • MACHINE_TYPE: der Maschinentyp für die Instanz, z. B. db-perf-optimized-N-8..
    • REGION_NAME: die Region für die Instanz, z. B. us-central1.

    Instanz aktualisieren

    Verwenden Sie zum Aktualisieren der Instanz den Befehl gcloud sql instances patch.

    gcloud sql instances patch INSTANCE_NAME \
    --enable-google-ml-integration

    REST Version 1

    Die Instanz erstellen

    Verwenden Sie dieses Beispiel, um die Instanz zu erstellen. Eine vollständige Liste der Parameter für diesen Aufruf finden Sie auf der Seite Instanzen: insert. Informationen zu den Instanzeinstellungen, einschließlich der gültigen Werte für die Region, finden Sie unter Instanzeinstellungen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
    • INSTANCE_NAME: der Name der Instanz.
    • REGION_NAME: der Name der Region für die Instanz.
    • DATABASE_VERSION: Enum-String der Datenbankversion, z. B. SQLSERVER_2025_ENTERPRISE.
    • PASSWORD: das Passwort für den Datenbanknutzer root.
    • MACHINE_TYPE: Enum-String des Maschinentyps (Stufe), z. B. db-custom-[CPUS]-[MEMORY_MBS]. Weitere Informationen finden Sie unter Maschinenstufen.
    • EDITION_TYPE: Ihre Cloud SQL-Version, z. B. ENTERPRISE.

    Darüber hinaus müssen Sie in die Anfrage das Objekt enableGoogleMlIntegration aufnehmen. Legen Sie nach Bedarf die folgenden Parameter fest:

    • enableGoogleMlIntegration: Wenn dieser Parameter auf true gesetzt ist, können Cloud SQL-Instanzen eine Verbindung zu Vertex AI herstellen, um Anfragen für Echtzeitvorhersagen und Statistiken an die KI zu übergeben.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

    JSON-Text anfordern:

    {
      "name": "INSTANCE_NAME",
      "region": "REGION_NAME",
      "databaseVersion": "DATABASE_VERSION",
      "rootPassword": "PASSWORD",
      "settings": {
        "tier": "MACHINE_TYPE",
        "edition": "EDITION_TYPE",
        "enableGoogleMlIntegration": "true" | "false"
        
      }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2019-09-25T22:19:33.735Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    Instanz aktualisieren

    Verwenden Sie dieses Beispiel, um die Instanz zu aktualisieren. Eine vollständige Liste der Parameter für diesen Aufruf finden Sie auf der Seite Instanzen: insert.

    Wenn diese Aktualisierung einen Wert ändert, der einen Neustart notwendig macht, werden Sie aufgefordert, mit der Änderung fortzufahren oder sie abzubrechen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält
    • INSTANCE_NAME den Namen der Instanz

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    JSON-Text anfordern:

    {
      "settings": {
        "enableGoogleMlIntegration": true,
        
       }
    }

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2020-01-16T02:32:12.281Z",
      "operationType": "UPDATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_NAME",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    REST v1beta4

    Die Instanz erstellen

    Verwenden Sie dieses Beispiel, um die Instanz zu erstellen. Eine vollständige Liste der Parameter für diesen Aufruf finden Sie auf der Seite Instanzen: insert. Informationen zu den Instanzeinstellungen, einschließlich der gültigen Werte für die Region, finden Sie unter Instanzeinstellungen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält.
    • INSTANCE_NAME: der Name der Instanz.
    • REGION_NAME: der Name der Region für die Instanz.
    • DATABASE_VERSION: Enum-String der Datenbankversion, z. B. SQLSERVER_2025_ENTERPRISE.
    • PASSWORD: das Passwort für den Datenbanknutzer root.
    • MACHINE_TYPE: Enum-String des Maschinentyps (Stufe), z. B. db-custom-[CPUS]-[MEMORY_MBS]. Weitere Informationen finden Sie unter Maschinenstufen.
    • EDITION_TYPE: Ihre Cloud SQL-Version, z. B. ENTERPRISE.

    Darüber hinaus müssen Sie in die Anfrage das Objekt enableGoogleMlIntegration aufnehmen. Legen Sie nach Bedarf die folgenden Parameter fest:

    • enableGoogleMlIntegration: Wenn dieser Parameter auf true gesetzt ist, können Cloud SQL-Instanzen eine Verbindung zu Vertex AI herstellen, um Anfragen für Echtzeitvorhersagen und Statistiken an die KI zu übergeben.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

    JSON-Text anfordern:

    {
      "name": "INSTANCE_NAME",
      "region": "REGION_NAME",
      "databaseVersion": "DATABASE_VERSION",
      "rootPassword": "PASSWORD",
      "settings": {
        "tier": "MACHINE_TYPE",
        "edition": "EDITION_TYPE",
        "enableGoogleMlIntegration": "true" | "false"
        
      }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2019-09-25T22:19:33.735Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    Instanz aktualisieren

    Verwenden Sie dieses Beispiel, um die Instanz zu aktualisieren. Eine vollständige Liste der Parameter für diesen Aufruf finden Sie auf der Seite Instanzen: insert.

    Wenn diese Aktualisierung einen Wert ändert, der einen Neustart notwendig macht, werden Sie aufgefordert, mit der Änderung fortzufahren oder sie abzubrechen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud -Projekts, das die Instanz enthält
    • INSTANCE_NAME den Namen der Instanz

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    JSON-Text anfordern:

    {
      "settings": {
        "enableGoogleMlIntegration": true,
        
       }
    }

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2020-01-16T02:32:12.281Z",
      "operationType": "UPDATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_NAME",
      "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

Secret Manager-Berechtigungen hinzufügen

Wenn Sie ein Modell aus einer externen Quelle wie OpenAI oder Hugging Face verwenden möchten, müssen Sie den API-Schlüssel der Modellquelle in Secret Manager speichern.

Anschließend müssen Sie der Cloud SQL-Instanz Zugriff auf den API-Schlüssel der Modellquelle in Secret Manager gewähren. Führen Sie den folgenden Befehl aus, um Zugriff zu erhalten:


SA_NAME=$(gcloud sql instances describe INSTANCE_NAME --format="value(serviceAccountEmailAddress)");

gcloud secrets add-iam-policy-binding SECRET_NAME \
    --member="serviceAccount:${SA_NAME}" \
    --role="roles/secretmanager.secretAccessor"

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: Der Name der Cloud SQL-Instanz.
  • SECRET_NAME: Der Name des Secrets, wie er im Secret Manager verwendet wird.

Externe Modellobjekte

Wenn Sie auf ein Modell aus einer externen Quelle zugreifen möchten, müssen Sie ein Modellobjekt erstellen, das SQL Server verwenden kann. Cloud SQL bietet drei gespeicherte Prozeduren, mit denen Sie ein externes Modellobjekt erstellen, ändern und löschen können:

  • gcloudsql_ml_create_external_model
  • gcloudsql_ml_alter_external_model
  • gcloudsql_ml_drop_external_model

Externes Modell erstellen

Führen Sie zum Erstellen eines Modells die gespeicherte Prozedur gcloudsql_ml_create_external_model aus, die sich in der Datenbank msdb befindet:

EXECUTE [msdb].[dbo].[gcloudsql_ml_create_external_model]
@db = [DB_NAME],
@model_name = MODEL_NAME,
@model_provider = 'MODEL_PROVIDER',
@model = 'MODEL',
@model_url = MODEL_URL,
@secret_url = SECRET_URL

Ersetzen Sie Folgendes:

  • DB_NAME: die Zieldatenbank, in der das externe Modell erstellt werden soll.
  • MODEL_NAME: der Name des neuen externen Modells.
  • MODEL_PROVIDER: der Name des Modellanbieters, z. B. einer der folgenden:
    • Vertex AI
    • OpenAI
    • Hugging Face
  • MODEL_URL: die URL des Modellendpunkts.

    Ein Beispiel verwendet das folgende Format:

        https://region-aiplatform.googleapis.com/v1/projects/project-id/locations/region/publishers/google/models/model:predict
        

    Ersetzen Sie Folgendes:

    • REGION: die Region, in der sich der Modellendpunkt befindet.
    • PROJECT_ID: Die Projekt-ID, in der sich der Modellendpunkt befindet.
    • MODEL ist der Name des Modells.
  • MODEL: das aufgerufene KI-Modell. Beispiel: text-embedding-005
  • SECRET_URL: Wenn Vertex AI der Modellanbieter ist, muss dieser Parameter leer sein. Wenn Sie ein externes Modell verwenden, muss dieser Wert auf den Secret Manager-Speicherort des API-Schlüssels verweisen.

    Eine Beispiel-URL hat das folgende Format:

        https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_NAME/versions/VERSION
        

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID, in der sich das Secret befindet.
    • SECRET_NAME: Der Name des Secrets, wie er im Secret Manager verwendet wird.
    • VERSION: Die Versionsnummer des Secrets.

Externes Modell ändern

Wenn Sie ein externes Modellobjekt ändern möchten, führen Sie die gespeicherte Prozedur gcloudsql_ml_alter_external_model aus, die sich in der Datenbank msdb befindet:

EXECUTE [msdb].[dbo].[gcloudsql_ml_alter_external_model]
@db = [DB_NAME],
@model_name = MODEL_NAME,
@model_provider = 'MODEL_PROVIDER',
@model = 'MODEL',
@model_url = MODEL_URL,
@secret_url = SECRET_URL

Ersetzen Sie Folgendes:

  • DB_NAME: die Zieldatenbank, in der sich das zu ändernde Modell befindet.
  • MODEL_NAME: der Name des vorhandenen Modells.
  • MODEL_PROVIDER: der Name des Modellanbieters, z. B. einer der folgenden:
    • Vertex AI
    • OpenAI
    • Hugging Face
  • MODEL_URL: die URL des Modellendpunkts.

    Ein Beispiel verwendet das folgende Format:

        https://region-aiplatform.googleapis.com/v1/projects/project-id/locations/region/publishers/google/models/model:predict
        

    Ersetzen Sie Folgendes:

    • REGION: die Region, in der sich der Modellendpunkt befindet.
    • PROJECT_ID: Die Projekt-ID, in der sich der Modellendpunkt befindet.
    • MODEL ist der Name des Modells.
  • MODEL: das aufgerufene KI-Modell. Beispiel: gemini-embedding-001.
  • SECRET_URL: Wenn Vertex AI der Modellanbieter ist, muss dieser Parameter leer sein. Wenn Sie ein externes Modell verwenden, muss dieser Wert auf den Secret Manager-Speicherort des API-Schlüssels verweisen.

    Eine Beispiel-URL hat das folgende Format:

        https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_NAME/versions/VERSION
        

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID, in der sich das Secret befindet.
    • SECRET_NAME: Der Name des Secrets, wie er im Secret Manager verwendet wird.
    • VERSION: Die Versionsnummer des Secrets.

Vertex AI-Einbindung deaktivieren

Führen Sie den folgenden Befehl aus, um die Vertex AI-Einbindung für eine Cloud SQL-Instanz zu deaktivieren:

gcloud sql instances patch [instance-name] --no-enable-google-ml-integration

Ersetzen Sie INSTANCE_NAME durch den Namen der Cloud SQL-Instanz.

Externes Modell in SQL Server löschen

Wenn Sie ein externes Modell aus SQL Server löschen möchten, führen Sie die gespeicherte Prozedur gcloudsql_ml_drop_external_model in der Datenbank msdb aus:

EXECUTE [msdb].[dbo].[gcloudsql_ml_drop_external_model]
@db = [DB_NAME],
@model_name = MODEL_NAME

Ersetzen Sie Folgendes:

  • DB_NAME: die Zieldatenbank, in der sich das externe Modell befindet, das Sie löschen möchten.
  • MODEL_NAME: der Name des externen Modells, das gelöscht werden soll.

Externes Modell aufrufen

Nachdem die Vertex AI-Integration auf der Cloud SQL-Instanz aktiviert und ein Modellobjekt für SQL Server erstellt wurde, können Sie die SQL Server-Funktion AI_GENERATE_EMBEDDINGS aufrufen, um Vektoreinbettungen für Ihre Daten zu erstellen.

Führen Sie den folgenden Befehl aus, um Vektoreinbettungen mit dem externen Modell zu erstellen:

SELECT AI_GENERATE_EMBEDDINGS(N'Test Text' USE MODEL MODEL_NAME)

Ersetzen Sie MODEL_NAME durch den Namen des Modells, das Sie verwenden möchten.

Dem ausführenden Hauptnutzer müssen die Berechtigungen EXECUTE ON EXTERNAL MODEL über eine entsprechende Rolle oder Gewährung zugewiesen worden sein.

Weitere Informationen finden Sie in der Microsoft-Dokumentation zu externen Modellgewährungen.

Einschränkungen der Modellgröße

Einige Modelle, z. B. gemini-embedding-01, haben höhere Standardausgabedimensionen, als SQL Server für float32-Vektoren unterstützen kann,die maximal 1.998 Dimensionen haben. Bei Bedarf müssen Sie entweder float16 (eine Microsoft-Funktion in der Vorabversion) für den Vektorbasistyp verwenden, der maximal 3.996 Vektordimensionen bietet, oder der Parameter „dimensions“ muss in der AI_GENERATE_EMBEDDINGS-Anfrage angegeben werden, um die Dimensionalität zu reduzieren.

Weitere Informationen finden Sie unter Unterstützung für Gleitkommazahlen mit halber Genauigkeit im Vektordatentyp.

Beispiel:

DECLARE @params JSON = N'{"dimensions": "DIMENSIONS"}';
SELECT AI_GENERATE_EMBEDDINGS('This article introduces AI concepts.' USE MODEL MODEL_NAME PARAMETERS @params)

Ersetzen Sie Folgendes:

  • DIMENSIONS: Die Dimensionen, die Sie für Ihr Modell verwenden möchten, z. B. 1536. Dieser Wert wird als String akzeptiert.
  • MODEL_NAME: der Name des Modells, das Sie verwenden möchten.

Fehlerbehebung

Folgende Fehlermeldungen können auftreten:

Kontext Fehler oder Meldung erhalten Mögliche Ursache
CREATE/ALTER-Verfahren „Der angegebene Modellanbieter ist ungültig.“ Es wurde ein nicht unterstützter Modellanbieter angegeben.
CREATE/ALTER-Verfahren „Die angegebene Secret-URL ist für diesen Modellanbieter nicht gültig.“ Für Vertex AI muss die Secret-URL leer sein. Bei anderen Modellanbietern darf die Secret-URL nicht leer sein.
CREATE/ALTER/DROP-Verfahren „Der angegebene Modellname ist ungültig.“ Pflichtfeld: Das Feld für den Modellnamen muss ausgefüllt werden.
CREATE/ALTER-Verfahren „Die angegebene Modell-URL ist ungültig.“ Die Modell-URL ist ein Pflichtfeld.
CREATE/ALTER/DROP-Verfahren „Der angegebene Datenbankname ist ungültig.“ Ein gültiger Datenbankname ist ein Pflichtfeld.
AI_GENERATE_EMBEDDINGS Anruf-Asset Verschiedene Fehlercodes, darunter 400, 403, 404, 405, 500. Wenn beim Ausführen der Funktion AI_GENERATE_EMBEDDINGS Probleme auftreten, werden nur Fehlercodes zurückgegeben. Dies ist eine bekannte Einschränkung von Microsoft.
AI_GENERATE_EMBEDDINGS Anruf-Asset "The HTTP response does not contain valid JSON." Der Agent für maschinelles Lernen hat einen Fehlercode zurückgegeben, der Sie auffordert, es noch einmal zu versuchen, z. B. 429 oder 500. Der Client empfängt stattdessen jedoch diese Textnachricht. Dies ist eine bekannte Einschränkung von Microsoft.

Fehlercodes

Die Funktion AI_GENERATE_EMBEDDINGS liefert nur Fehlercodes, keine Meldungen. In der folgenden Tabelle sind mögliche Ursachen für einige Fehlercodes aufgeführt:

Fehlercode Mögliche Ursache
400 Bad Request
  • Nicht unterstützter Modelltyp.
  • Falsch formatierte JSON-Nutzlast.
  • Ungültige URL für den Modelltyp.
401 Unauthorized Das Drittanbietermodell hat keinen gültigen API-Schlüssel.
403 Forbidden
  • Die Cloud SQL-Instanz hat nicht die erforderlichen Berechtigungen für den Zugriff auf Vertex AI.
  • Die Cloud SQL-Instanz hat nicht die erforderlichen Berechtigungen, um auf Secret Manager zuzugreifen.
  • Der API-Schlüssel gewährt keine Berechtigung für das angegebene Drittanbietermodell.
  • Vertex AI ist für das Projekt nicht aktiviert.
404 Not Found
  • Die angegebene secret_url ist nicht vorhanden.
  • Die angegebene model_url ist nicht vorhanden.
405 Method Not Allowed Es wurde eine andere Methode als POST angegeben.
413 Request Body Too Large Die Anfrage ist größer als das Limit von 1 MB.
429 Too Many Requests Fehler „Erschöpft“ vom Modellanbieter.
500 Internal Server Error
  • Unbekannte Fehler des Modellanbieters.
  • Unerwartete Antwort vom Modellanbieter.

Nächste Schritte