Anwendung erstellen

Auf dieser Seite wird beschrieben, wie Sie eine App erstellen und Komponenten wie Eingabestreams, Modelle zur Analyse und Warehouses zur Speicherung für die Verwendung auf der App-Plattform von Gemini Enterprise Agent Platform Vision kombinieren.

Wenn Sie eine App erstellen, müssen Sie Ihre Datenquellen, die Analysen, die Sie durchführen möchten, und die Art und Weise, wie Sie die Ergebnisse speichern möchten, berücksichtigen. Eine End-to-End-App kann je nach Anwendungsfall unterschiedliche Formen annehmen. Wie Sie eine App erstellen, hängt also von Ihrem Ziel ab.

Bewerten Sie vorab Ihren Anwendungsfall und Ihr Ziel aus der Perspektive der verantwortungsbewussten Anwendung von KI und überlegen Sie, welche Auswirkungen Ihre Modelle und Anwendungen auf Ihre Endnutzer haben könnten, wenn etwas schiefgeht. Weitere Informationen zu den ersten Schritten bei der Bewertung von Fairness in Ihrem Anwendungsfall Achten Sie außerdem darauf, dass Ihre Nutzung von Gemini Enterprise Agent Platform Vision den Nutzungsbedingungen von Google Cloudoder einer Offline-Variante sowie den eingebundenen URL-Bestimmungen wie der Richtlinie zur zulässigen Verwendung von Google Cloudentspricht.

Denken Sie beim Erstellen Ihrer Anwendung daran, dass KI-Vision-Technologien das Potenzial haben, unfaire Vorurteile zu verstärken oder einzuführen und grundlegende Menschenrechte zu beeinträchtigen. Bei der Entwicklung Ihrer Anwendung sollten Sie sich an den Werten Ihres Unternehmens orientieren und eine rechtliche Due-Diligence-Prüfung für Ihren speziellen Anwendungsfall durchführen, einschließlich Anwendungsfällen mit hohem Risiko. Wie bei allen Technologien müssen Sie alle anwendbaren Gesetze und Bestimmungen berücksichtigen, die für die Verwendung von KI-/ML-Technologien in der Region gelten, in der Sie die Technologie implementieren. Kunden sind für die erforderliche Due-Diligence-Prüfung verantwortlich, um Anwendungsfälle zu implementieren, die in einer bestimmten Region als risikoreich gelten.

Neue Anwendung erstellen

Bevor Sie einer App Komponenten wie einen Stream oder Modelle hinzufügen können, müssen Sie die App selbst erstellen. Alle Apps müssen Folgendes enthalten, um bereitgestellt zu werden:

  • Ein Stream-Eingabeknoten (Datenquelle).
  • Mindestens ein weiterer Komponentenknoten, z. B. ein Modell oder ein Warehouse.

Neue benutzerdefinierte Anwendung erstellen

Console

Erstellen Sie eine App in der Google Cloud Console.

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Klicken Sie auf den Button Erstellen.

  3. Geben Sie einen App-Namen ein und wählen Sie Ihre Region aus. Unterstützte Regionen

  4. Klicken Sie auf Erstellen.

Anwendung mit einer Vorlage erstellen

Console

Erstellen Sie eine App in der Google Cloud Console.

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Klicken Sie auf den Button Erstellen.

  3. Geben Sie einen App-Namen ein und wählen Sie Ihre Region aus. Unterstützte Regionen

  4. Klicken Sie auf Erstellen.

  5. Klicken Sie auf der Seite des Anwendungs-Builders auf den Knoten Anwendungsvorlage.

  6. Klicken Sie in der Seitenleiste mit den Einstellungen auf die Schaltfläche Modell auswählen.

  7. Wählen Sie im Drop-down-Menü ein Modell aus.

Streameingabe hinzufügen

Eine Anwendung muss einen Videostream-Knoten enthalten. Sie können die Anwendung nicht bereitstellen, wenn Sie keinen Streams-Knoten hinzufügen.

Wenn Ihre Anwendung nicht bereitgestellt wird, wird die Aktualisierung der Stream-Eingabe automatisch auf die Anwendung angewendet. Wenn Ihre App bereits bereitgestellt ist, müssen Sie die Bereitstellung aufheben und die App aktualisieren, damit die Änderungen übernommen werden. Weitere Informationen finden Sie im Abschnitt App aktualisieren.

Console

Fügen Sie einer App in der Google Cloud -Konsole einen Stream hinzu.

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Klicken Sie bei Ihrer App auf App ansehen.

  3. Wählen Sie in der Seitenleiste mit den Komponenten in der Liste der Connectors die Option Videostreams aus. Der Stream-Knoten wird dem App-Diagramm hinzugefügt und ein Seitenmenü für Videostreams wird geöffnet.

  4. Wählen Sie Videostreams hinzufügen aus.

  5. Wenn Sie Aus vorhandenen Streams auswählen auswählen, wählen Sie den vorhandenen Stream und dann Streams hinzufügen aus.

    Wenn Sie Neue Streams registrieren auswählen, fügen Sie einen Namen für den neuen Stream hinzu und wählen Sie Streams hinzufügen aus.

REST

Senden Sie zum Hinzufügen eines Streams zu einer App eine POST-Anfrage mit der Methode projects.locations.applications.addStreamInput.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

HTTP-Methode und URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

JSON-Text der Anfrage:

{
  "applicationStreamInputs": [
     {
       "streamWithAnnotation": {
         "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
       }
     },
     {
       "streamWithAnnotation": {
         "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
       }
     }
   ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Stream-Eingabe mit Knotenanmerkungen hinzufügen

Wenn Sie einen Anwendungs-Inputstream erstellen, können Sie dem Stream mit der Gemini Enterprise Agent Platform Vision API Annotationen hinzufügen. Sie können einem Knoten auch in derGoogle Cloud -Konsole Anmerkungen hinzufügen.

Console

Im folgenden Beispiel werden einem Modell für die Anzahl der Personen die verfügbaren Annotationen (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE und STREAM_ANNOTATION_TYPE_CROSSING_LINE) hinzugefügt.

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Wählen Sie auf der Seite „Application Builder“ das Modell mit Stream-Eingabe aus, dem Sie Anmerkungen hinzufügen möchten.

  4. Maximieren Sie in der Seitenleiste mit den Modelleinstellungen den Abschnitt „Erweiterte Einstellungen“. Klicken Sie nach dem Maximieren des Bereichs auf die Schaltfläche Aktive Zonen/Linien erstellen.

  5. Wählen Sie in der Streamgalerie einen Eingabestream aus, um aktive Zonen oder Linien zu zeichnen.

  6. Wählen Sie in der Editoransicht Mehrpunktlinien hinzufügen oder Einfaches Polygon hinzufügen aus, um Anmerkungen hinzuzufügen. Über die Seitenleiste können Sie den Namen der Zone oder Linie ändern, vorhandene Zonen/Linien löschen oder die Richtung der Linie ändern.

REST UND BEFEHLSZEILE

Mit dem folgenden Code werden Stream-Annotationen hinzugefügt.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT: Ihre Google Cloud Projekt-ID oder Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Agent Platform Vision verwenden. Beispiel: us-central1, europe-west4. Verfügbare Regionen
  • APPLICATION_ID: Die ID Ihrer Zielanwendung.
  • STREAM_ID: Die ID des Zielstreams.
  • NODE_NAME: Der Name des Zielknotens im App-Diagramm. Beispiel: builtin-occupancy-count
  • ANNOTATION_ID: Die ID der Zielanmerkung.
  • ANNOTATION_DISPLAYNAME: Der vom Nutzer angegebene Anzeigename der Zielannotation.
  • ANNOTATION_TYPE: Einer der verfügbaren Enum-Werte. Dieser Typ muss mit dem annotation_payload-Objekt übereinstimmen, entweder activeZone oder crossingLine. Verfügbare Werte:
    • STREAM_ANNOTATION_TYPE_UNSPECIFIED
    • STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
    • STREAM_ANNOTATION_TYPE_CROSSING_LINE
  • normalizedVertices: Jeder Eckpunkt wird durch x- und y-Koordinatenwerte angegeben. Koordinaten sind normalisierte Gleitkommawerte [0,1] relativ zum Originalbild; 0,0 ist X_MIN oder Y_MIN, 1,0 ist X_MAX oder Y_MAX.

HTTP-Methode und URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

JSON-Text der Anfrage:

{
  "applicationStreamInputs": [
    {
      "streamWithAnnotation": {
        "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID",
        "nodeAnnotations": [
          {
            "node": "NODE_NAME",
            "annotations": [
              {
                "id": "ANNOTATION_ID",
                "displayName": "ANNOTATION_DISPLAYNAME",
                "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID",
                "type": ANNOTATION_TYPE,
                "activeZone": {
                  "normalizedVertices": {
                    "x": 0.07434944,
                    "y": 0.18061674
                  },
                  "normalizedVertices": {
                    "x": 0.64684016,
                    "y": 0.16079295
                  },
                  "normalizedVertices": {
                    "x": 0.6047088,
                    "y": 0.92070484
                  },
                  "normalizedVertices": {
                    "x": 0.1251549,
                    "y": 0.76651984
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Stream-Eingabe entfernen

REST

Wenn Sie einen Stream aus einer App entfernen möchten, senden Sie eine POST-Anfrage mit der Methode projects.locations.applications.removeStreamInput.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

HTTP-Methode und URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput

JSON-Text der Anfrage:

{
  "targetStreamInputs": [
     {
       "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
     },
     {
       "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
     }
   ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Vortrainiertes Gemini Enterprise Agent Platform Vision-Modell hinzufügen

Nachdem Sie eine App erstellt haben, können Sie ein Modell hinzufügen und es mit Streams, anderen Modellen oder einem Media Warehouse verbinden.

Es gibt zwei Arten von Modellen: vortrainierte Modelle und nutzerdefinierte Modelle. Auch von Nutzern trainierte Modelle können zwei Typen haben: AutoML oder benutzerdefiniert trainiert:

  • Vortrainierte Modelle erfüllen einen bestimmten Zweck, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
  • Für von Nutzern trainierte AutoML- oder benutzerdefinierte Modelle müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser für Ihren individuellen Anwendungsfall geeignet sind. Sie trainieren diese Modelle mit Vertex AI, einem Produkt, das zwei Trainingsoptionen bietet: mit AutoML trainierte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.

Folgen Sie der Anleitung unten, um Ihrem App-Diagramm ein vortrainiertes Gemini Enterprise Agent Platform Vision-Modell hinzuzufügen.

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Wählen Sie auf der Seite des Anwendungs-Builders das Modell aus, das Sie aus der Liste KI-Modelle hinzufügen möchten. Jedes Modell hat individuelle Konfigurationseinstellungen.

  4. Wenn Sie dieses Modell mit einer Eingangsquelle verbinden möchten, wählen Sie den Quellknoten und dann Ausgabe hinzufügen aus.

  5. Wählen Sie den neu erstellten KI-Modellknoten aus der Liste Verfügbare Knoten aus.

Von Nutzern trainiertes Vertex AI-Modell hinzufügen

Nachdem Sie eine App erstellt haben, können Sie ein Modell hinzufügen und es mit Streams, anderen Modellen oder einem Media Warehouse verbinden.

Es gibt zwei Arten von Modellen: vortrainierte Modelle und nutzerdefinierte Modelle. Auch von Nutzern trainierte Modelle können zwei Typen haben: AutoML oder benutzerdefiniert trainiert:

  • Vortrainierte Modelle erfüllen einen bestimmten Zweck, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
  • Für von Nutzern trainierte AutoML- oder benutzerdefinierte Modelle müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser für Ihren individuellen Anwendungsfall geeignet sind. Sie trainieren diese Modelle mit Vertex AI, einem Produkt, das zwei Trainingsoptionen bietet: mit AutoML trainierte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.

Vertex AI AutoML-Streamingmodell zur Objekterkennung hinzufügen

Folgen Sie der Anleitung unten, um Ihrem App-Diagramm ein Streamingmodell zur Vertex AI AutoML-Objekterkennung hinzuzufügen, das Sie trainieren.

Bevor Sie ein Vertex AI AutoML-Modell trainieren können, müssen Sie Ihre Objekterkennungsdaten vorbereiten und ein Dataset erstellen.

Modell für die Verwendung in Gemini Enterprise Agent Platform Vision trainieren

Nachdem Sie ein Dataset mit einer repräsentativen Sammlung von Daten in Vertex AI erstellt haben, können Sie ein Modell trainieren, das in Gemini Enterprise Agent Platform Vision verwendet werden soll.

Console

  1. Rufen Sie in der Google Cloud Console im Vertex AI-Dashboard die Seite Datasets auf.

    Zur Seite „Datasets“

  2. Klicken Sie auf den Namen des Datasets, das Sie zum Trainieren Ihres Modells verwenden möchten, um dessen Detailseite zu öffnen.

  3. Wenn Ihr Datentyp Annotationssätze verwendet, wählen Sie den Annotationssatz aus, den Sie für dieses Modell verwenden möchten.

  4. Klicken Sie auf Neues Modell trainieren.

  5. Führen Sie auf der Seite Neues Modell trainieren die folgenden Schritte für Ihr AutoML-Modell zur Bildobjekterkennung aus:

    1. Wählen Sie im Bereich Methode für das Modelltraining die Option AutoML aus.

    2. Wählen Sie im Abschnitt Speicherort für das Modell wählen die Option Gemini Enterprise Agent Platform Vision aus.

    3. Klicken Sie auf Weiter.

    4. Geben Sie Werte für die Abschnitte Modelldetails, Trainingsoptionen und Computing und Preise ein. Weitere Informationen finden Sie unter AutoML-Modell trainieren (Google Cloud Console).

    5. Klicken Sie auf Training starten.

      Das Modelltraining kann viele Stunden dauern, je nach Größe und Komplexität Ihrer Daten und Ihres Trainingsbudgets, sofern Sie eines angegeben haben. Sie können diesen Tab schließen und später zu ihm zurückkehren. Wenn das Training für Ihr Modell abgeschlossen ist, erhalten eine E-Mail.

Trainiertes Modell zur App hinzufügen

Nachdem das Modell trainiert wurde, können Sie es Ihrer Vision-App für die Gemini Enterprise Agent Platform hinzufügen.

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Wählen Sie auf der Seite des Anwendungs-Builders in der Liste der Seitenkomponenten Vertex AI-Modell hinzufügen aus. Wenn Sie diese Option auswählen, wird ein seitliches Menü geöffnet.

  4. Lassen Sie im Menü „Vertex AI-Modell hinzufügen“ die Option Trainiertes Modell aus Vertex AI importieren ausgewählt und wählen Sie dann das Modell aus der Liste der vorhandenen Vertex AI AutoML-Modelle aus.

  5. Nachdem Sie das zu importierende Modell ausgewählt haben, klicken Sie auf Modell hinzufügen.

    Nachdem Sie auf den Button Modell hinzufügen geklickt haben, wird auf der Seite des Diagramm-Generators ein ausstehendes Modell angezeigt. Nach einigen Sekunden ist das Modell einsatzbereit.

Benutzerdefiniertes Vertex AI-Modell hinzufügen

Sie können auch benutzerdefinierte Modelle, die in Vertex AI trainiert wurden, in Gemini Enterprise Agent Platform Vision importieren, um sie für die Datenanalyse zu verwenden. Diese benutzerdefinierten Modelle müssen folgende Eigenschaften haben:

  • Das Modell muss zustandslos sein, da die Modelleingabe die Bilder sind, die von verschiedenen Anwendungsinstanzen (Streams) stammen und möglicherweise nicht in der richtigen Reihenfolge sind. Wenn Sie eine zustandsbehaftete Streamverarbeitung benötigen, müssen Sie möglicherweise Zustände in Ihrem eigenen Container beibehalten.
  • Die Eingabegröße für Ihr Modell ist auf 1,5 MB beschränkt. Daher muss Gemini Enterprise Agent Platform Vision das ursprüngliche RGB-Bild in ein verlustbehaftetes Format wie JPG komprimieren.

Folgen Sie dieser Anleitung, um Ihrem App-Diagramm ein vorhandenes benutzerdefiniertes Vertex AI-Videomodell hinzuzufügen, das Sie trainiert haben.

Informationen zum Erstellen eines benutzerdefiniert trainierten Vertex AI-Modells mit einem benutzerdefinierten Container finden Sie unter Benutzerdefinierten Container für Vorhersagen verwenden.

YAML-Datei für Instanzen angeben

Wenn Sie ein benutzerdefiniertes Vertex AI-Modell hinzufügen, müssen Sie eine in Cloud Storage gespeicherte YAML-Datei für Instanzen (instances.yaml) angeben. In dieser Datei wird die erwartete Eingabe für Ihren Modellcontainer angegeben.

Vertex AI sendet die Vorhersageanfrage in einem Format:

{
  "instances": [
    <value>|<simple/nested list>|<object>,
    ...
  ]
}

Hier wird mit instances.yaml das Schema der Nutzlast definiert. Weitere Informationen finden Sie unter Onlinevorhersagen aus benutzerdefinierten Modellen abrufen.

Gemini Enterprise Agent Platform Vision unterstützt nur benutzerdefiniert trainierte Modelle mit genau einem benannten Vorhersageeingabe. Dieser Eingabetyp muss ein codierter JPEG-String sein. Das Schema der Vorhersageeingabe muss mit der YAML-Datei für das Instanzschema angegeben werden. Diese Schema-YAML-Datei muss im Format eines OpenAPI-Schemaobjekts vorliegen.

Das folgende Schema empfängt beispielsweise die Anfrage mit dem in einem Feld namens image_bytes codierten Bild:

properties:
  image_bytes:
    type: string

Ihr benutzerdefiniertes Modell empfängt Vorhersageeingaben im folgenden Format:

{
  "instances": [
    {
      "image_bytes" : {
        "b64": "BASE64_ENCODED_IMAGE_BYTES"
      }
    }
  ]
}

Bevor Sie das Modell in Gemini Enterprise Agent Platform Vision importieren, sollten Sie prüfen, ob es mit dieser Eingabe korrekt funktioniert.

YAML-Datei für Vorhersagen angeben

Wenn Sie ein benutzerdefiniertes Vertex AI-Modell hinzufügen, können Sie eine in Cloud Storage gespeicherte YAML-Datei für Vorhersagen (predictions.yaml) angeben. In dieser Datei wird die Ausgabe Ihres Modellcontainers angegeben.

Diese Datei ist optional, wird aber empfohlen, um Gemini Enterprise Agent Platform Vision über die Ausgabestruktur Ihres Modells zu informieren. Die folgende Datei classification_1.0.0.yaml beschreibt beispielsweise Informationen zur Modellausgabe für ein Bildklassifizierungsmodell:

title: Classification
type: object
description: >
  The predicted AnnotationSpecs.
properties:
  ids:
    type: array
    description: >
      The resource IDs of the AnnotationSpecs that had been identified.
    items:
      type: integer
      format: int64
      enum: [0]  # As values of this enum all AnnotationSpec IDs the Model
      # was trained on will be populated.
  displayNames:
    type: array
    description: >
      The display names of the AnnotationSpecs that had been identified,
      order matches the IDs.
    items:
      type: string
      enum: [""]  # As values of this enum all AnnotationSpec display_names
      # the Model was trained on will be populated.
  confidences:
    type: array
    description: >
      The Model's confidences in correctness of the predicted IDs, higher
      value means higher confidence. Order matches the Ids.
    items:
      type: number
      format: float
      minimum: 0.0
      maximum: 1.0

Benutzerdefiniert trainiertes Modell hinzufügen

Verwenden Sie das folgende Beispiel, um das benutzerdefinierte Modell von Vertex AI in Ihre App einzufügen.

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Wählen Sie auf der Seite des Anwendungs-Builders in der Liste der Seitenkomponenten Vertex AI-Modell hinzufügen aus. Wenn Sie diese Option auswählen, wird ein seitliches Menü geöffnet.

  4. Lassen Sie im Menü „Vertex AI-Modell hinzufügen“ die Option Trainiertes Modell aus Vertex AI importieren ausgewählt und wählen Sie dann das Modell aus der Liste der vorhandenen Vertex AI AutoML-Modelle aus.

  5. Geben Sie einen Namen für das Modell an.

  6. Geben Sie die YAML-Datei für Instanzen in Cloud Storage an, die das Format einer einzelnen Instanz definiert, die in Vorhersage- und Erklärungsanfragen verwendet wird.

  7. Optional: Geben Sie die YAML-Datei für das Vorhersageschema in Cloud Storage an, die das Format einer einzelnen Vorhersage oder Erklärung definiert.

  8. Nachdem Sie Informationen zu Modellname, Instanzen und Vorhersagen angegeben haben, wählen Sie Modell hinzufügen aus.

  9. Nachdem Sie auf den Button Modell hinzufügen geklickt haben, wird auf der Seite des Diagramm-Generators ein ausstehendes Modell angezeigt. Nach einigen Sekunden ist das Modell einsatzbereit.

Optional. Anwendungsmetadaten anhängen

Zusätzlich zu den Bild-Bytes haben Sie die Möglichkeit, attach_application_metadata festzulegen, um die Vision-App-Plattform der Agent Platform aufzufordern, die Metadaten der Anwendung einzuschließen, die an den benutzerdefinierten Container gesendet werden sollen.

Die Metadaten haben das folgende Schema:

'appPlatformMetadata': {
     'application': STRING;
     'instanceId': STRING;
     'node': STRING;
     'processor': STRING;
   }

Optional. Pub/Sub-Thema für dynamische Konfiguration hinzufügen

Wenn Sie die Framerate, mit der der benutzerdefinierte Vertex-Operator Videoframes an benutzerdefinierte Vertex-Container sendet, dynamisch steuern möchten, können Sie ein Pub/Sub-Thema erstellen. Fügen Sie sie dem Abschnitt Dynamic Configuration der Knoteneinstellungen hinzu.

dynamische Konfiguration

Wenn das Pub/Sub-Thema konfiguriert ist, beträgt die anfängliche Framerate 0. Während der Videoverarbeitung können Sie Pub/Sub-Nachrichten im folgenden Format in Echtzeit an das Pub/Sub-Thema senden, um die Framerate zu ändern:

{
  "stream_id": "input-stream-id",
  "fps": 5,
}

Das Feld stream_id sollte mit der ID des Eingabestreams der Anwendung übereinstimmen.

Dienstkonto und Berechtigungen

Die Standarddienstanmeldedaten des benutzerdefinierten Containers wurden für das Google-eigene Dienstkonto der Agent Platform Vision-App-Plattform konfiguriert. Wenn Sie vom Container aus auf andere Google Cloud-Dienste zugreifen möchten, gewähren Sie die entsprechenden Berechtigungen für: service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com

Optional. Modellereignisbenachrichtigung mit Cloud Run Functions und Pub/Sub

In Gemini Enterprise Agent Platform Vision erhalten Modelle Media-Daten von Geräten wie Kameras, führen KI-Vorhersagen für die Daten aus und erstellen kontinuierlich Anmerkungen. Häufig senden Sie diese verarbeiteten Daten an eine Datensenke („Data Sink“) wie ein Media Warehouse oder BigQuery, um weitere Analyseaufgaben auszuführen. Es kann jedoch vorkommen, dass einige Anmerkungen anders behandelt werden müssen oder dass die Anmerkungen zeitkritisch sind. Integrationen mit Cloud Run Functions und Pub/Sub können Ihnen dabei helfen.

Unterstützte Modelle

Die folgenden Modelle bieten die Integration von Cloud Run Functions-Ereignisgenerierung und Pub/Sub-Ereignisbenachrichtigungen:

Cloud Run-Funktionen für die Verarbeitung der Modellausgabe konfigurieren

Damit ereignisbasierte Benachrichtigungen ausgelöst werden, müssen Sie zuerst Cloud Run Functions einrichten, um die Modellausgabe zu verarbeiten und Ereignisse zu generieren.

Ihre Cloud Run-Funktion stellt eine Verbindung zum Modell her und wartet auf dessen Ausgabe als Nachbearbeitungsvorgang. Die Cloud Run-Funktion sollte AppPlatformCloudFunctionResponse zurückgeben. Die Ereignisse (appplatformeventbody) werden an das Pub/Sub-Thema gesendet, das Sie im nächsten Schritt konfigurieren.

Ein Beispiel für eine Cloud Run-Funktion finden Sie unter Modellereignisbenachrichtigung mit Cloud Functions und Pub/Sub aktivieren.

Folgen Sie der Anleitung unten, um den Modellausgabe-Stream an Ihre Cloud Run-Funktion zu senden:

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer App App ansehen aus.

  3. Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.

  4. Wählen Sie im Abschnitt Ereignisbenachrichtigung in der Liste Nachbearbeitung Ihre vorhandene Cloud Run-Funktion aus oder erstellen Sie eine neue.

    Postprocessing-Cloud-Funktionsbild in der Cloud Console auswählen

Ereignisbenachrichtigung für Modelle mit Pub/Sub aktivieren

Nachdem Sie Cloud Run Functions zum Verarbeiten der Modellausgabe und zum Generieren von Ereignissen eingerichtet haben, können Sie die Ereignisbenachrichtigung mit Pub/Sub einrichten. Wenn Sie Nachrichten aus einem Thema lesen möchten, müssen Sie auch ein Pub/Sub-Abo auswählen und erstellen.

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer App App ansehen aus.

  3. Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.

  4. Wählen Sie im Abschnitt Ereignisbenachrichtigung die Option Ereignisbenachrichtigung einrichten aus.

  5. Wählen Sie im Fenster Pub/Sub für Ereignisbenachrichtigungen einrichten, das sich öffnet, Ihr vorhandenes Pub/Sub-Thema aus oder erstellen Sie ein neues.

  6. Legen Sie im Feld Häufigkeit einen ganzzahligen Wert für die Häufigkeit in Sekunden fest, mit der eine Benachrichtigung für denselben Ereignistyp gesendet werden kann.

    Bild für Ereignisbenachrichtigungen in der Cloud Console einrichten

  7. Klicken Sie auf Einrichten.

Modellausgabe mit einem Downstream-Knoten verbinden

Nachdem Sie einen Modellknoten erstellt haben, können Sie seine Ausgabe mit einem anderen Knoten verbinden.

Console

  1. Öffnen Sie im Vision-Dashboard der Gemini Enterprise Agent Platform den Tab Anwendungen.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Klicken Sie im Anwendungsdiagramm-Builder auf einen Modellknoten, der Daten ausgibt, z. B. den Modellknoten Belegungsanzahl.

  4. Klicken Sie im seitlichen Einstellungsfeld auf die Schaltfläche Ausgabe hinzufügen.

  5. Fügen Sie eine neue Ausgabe hinzu und wählen Sie einen neuen Ausgabeknoten aus oder wählen Sie einen vorhandenen Verfügbaren Knoten aus, an den die Ausgabe gesendet werden soll.

Ausgabe mit einem Datenziel verbinden

Nachdem Sie den Datenaufnahmestream erstellt und Ihrer App die Verarbeitungsknoten hinzugefügt haben, müssen Sie auswählen, wohin die verarbeiteten Daten gesendet werden sollen. Dieses Datenziel ist der Endpunkt Ihres App-Diagramms, der Streamdaten akzeptiert, ohne Streamdaten zu erzeugen. Das Ziel, das Sie auswählen, hängt davon ab, wie Sie die Ausgabedaten der App verwenden.

Bild von Verbindungsknoten
In der Google Cloud Console sind Datenziele im Abschnitt Connectors auf der Seite mit dem App-Diagramm verfügbar.

Sie können App-Ausgabedaten mit den folgenden Datenzielen verbinden:

  1. Vision Warehouse: Hier können Sie Original- oder analysierte Videodaten speichern, die Sie ansehen und abfragen können.

    Weitere Informationen zum Senden von App-Ausgabedaten an ein Vision Warehouse finden Sie unter Daten mit einem Warehouse verbinden und dort speichern.

  2. BigQuery: Daten in BigQuery speichern, um die Offline-Analysefunktionen zu nutzen.

    Weitere Informationen zum Senden von App-Ausgabedaten an BigQuery finden Sie unter Daten mit BigQuery verbinden und dort speichern.

  3. Livestream-Daten: Wenn Sie Echtzeitanalysen nutzen möchten, um detailliertere Informationen zu erhalten, können Sie die Live-Ausgabe Ihrer App abrufen.

    Weitere Informationen zum direkten Streamen von App-Ausgabedaten finden Sie unter Livestream-Ausgabe aktivieren.

App aktualisieren

Nicht bereitgestellte Apps

Nehmen Sie Änderungen an der App vor, z. B. durch Hinzufügen oder Entfernen von Komponentenknoten. Gemini Enterprise Agent Platform Vision speichert die Änderungen automatisch.

Nächste Schritte

  • Informationen zum Bereitstellen Ihrer App zum Erfassen und Analysieren von Daten finden Sie unter Anwendung bereitstellen.
  • Eine Anleitung zum Starten der Datenaufnahme aus dem Eingabestream einer App finden Sie unter Streams erstellen und verwalten.
  • Informationen zum Auflisten von Apps und zum Aufrufen der Instanzen einer bereitgestellten App finden Sie unter Anwendungen verwalten.
  • Informationen zum Lesen von App-Eingabedaten aus einem Ingestion-Stream oder von analysierten Modellausgabedaten finden Sie unter Streamdaten lesen.