Vereinfachte Stammdatenverwaltung: Abgleichen & Mit generativer KI kombinieren

1. Übersicht

Was ist Stammdatenmanagement?

Bei der Stammdatenverwaltung (Master Data Management, MDM) geht es darum, eine einzige, zuverlässige Datenquelle für die wichtigsten Daten Ihres Unternehmens zu schaffen. Stellen Sie sich eine sorgfältig organisierte Bibliothek vor, in der jedes Buch (Datenpunkt) richtig beschriftet, aktuell und leicht zu finden ist.

Stammdaten stellen die grundlegenden Geschäftseinheiten dar, die für den Betrieb eines Unternehmens unerlässlich sind. Dies sind die wichtigsten Elemente von Stammdaten:

  • Unternehmen:Entitäten wie Kunden, Produkte, Lieferanten, Standorte und Mitarbeiter, um die sich Ihr Unternehmen dreht
  • Kennungen:Eindeutige Kennungen, mit denen sichergestellt wird, dass die einzelnen Entitäten unterschiedlich und systemübergreifend nachverfolgt werden können.
  • Attribute: die Merkmale, die die einzelnen Elemente beschreiben, z. B. die Adresse eines Kunden, der Preis eines Produkts usw.

Damit Sie die Stammdaten besser verstehen, sollten Sie sie mit Transaktionsdaten vergleichen. Mit Transaktionsdaten werden einzelne Ereignisse erfasst, z. B. Käufe oder Lieferungen. Während Stammdaten den Kontext für diese Ereignisse liefern, indem sie die beteiligten Entitäten definieren. Eine Verkaufstransaktion ist beispielsweise mit den Stammdaten für den Kunden, das Produkt und den Verkäufer verknüpft.

Die Implementierung einer robusten Mobilgeräteverwaltung ist für strategische Entscheidungen unerlässlich, kann jedoch komplex und ressourcenintensiv sein. Hier kommt die transformative Kraft der generativen KI ins Spiel, insbesondere Modelle wie Gemini 1.0 Pro, Gemini 1.0 Pro Vision und Gemini 1.5 Pro.

2. Ziel

In diesem Codelab zeigen wir Ihnen, wie Gemini 1.0 Pro Anwendungen zur Verwaltung von Stammdaten wie Anreicherung und Deduplizierung für die im öffentlichen BigQuery-Dataset verfügbaren citibike_stations-Daten vereinfacht.

Lernmittel

  1. Öffentliches BigQuery-Dataset bigquery-public-data.new_york_citibike.
  2. Gemini-Funktionsaufrufe (eine Java-Cloud Functions-Funktion, die Adressinformationen mit der umgekehrten Geocoding API für die mit den citibike_stations-Daten verfügbaren Koordinaten abruft).
  3. Vertex AI Embeddings API und die Vektorsuche in BigQuery, um Duplikate zu identifizieren.

Aufgaben

  1. Sie erstellen ein BigQuery-Dataset für den Anwendungsfall. In diesem Dataset erstellen Sie eine Zieltabelle mit Daten aus der öffentlichen Dataset-Tabelle bigquery-public-data.new_york_citibike.citibike_stations.
  2. Sie stellen die Cloud Functions-Funktion bereit, die Gemini-Funktionsaufrufe zur Adressstandardisierung enthält.
  3. Sie speichern die angereicherten Adressdaten in den Zieltabellen (aus den beiden Quellen, die für diese Demo bereitgestellt werden).
  4. Sie rufen die Vertex AI Embeddings API über BigQuery für die Adressdaten auf.
  5. Sie verwenden die BigQuery-Vektorsuche, um doppelte Datensätze zu identifizieren.

Das folgende Diagramm veranschaulicht den Datenfluss und die Schritte der Implementierung.

Allgemeiner Ablauf des Anwendungsfalls

3. Voraussetzungen

  • Ein Browser wie Chrome oder Firefox
  • Google Cloud-Projekt mit aktivierter Abrechnungsfunktion.

4. Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. Hier erfahren Sie, wie Sie prüfen, ob die Abrechnung für ein Projekt aktiviert ist.
  3. Sie verwenden Cloud Shell, eine in Google Cloud ausgeführte Befehlszeilenumgebung mit vorinstalliertem bq. Klicken Sie oben in der Google Cloud Console auf „Cloud Shell aktivieren“.

Bild der Schaltfläche zum Aktivieren von Cloud Shell

  1. Sobald Sie eine Verbindung zu Cloud Shell hergestellt haben, prüfen Sie mit dem folgenden Befehl, ob Sie bereits authentifiziert sind und ob das Projekt auf Ihre Projekt-ID eingestellt ist:
gcloud auth list
  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt.
gcloud config list project
  1. Wenn Ihr Projekt noch nicht eingerichtet ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
  1. Rufen Sie Gemini für Google Cloud Marketplace auf, um die API zu aktivieren. Sie können auch den folgenden Befehl im Cloud Shell-Terminal verwenden:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
  1. Prüfen Sie, ob die BigQuery, BigQuery Connection, Cloud Function, Cloud Run, Vertex AI und Cloud Build APIs aktiviert sind. Alternativ zum gcloud-Befehl können Sie die Konsole über diesen Link verwenden.

Informationen zu gcloud-Befehlen und deren Verwendung finden Sie in der Dokumentation.

5. BigQuery-Dataset und externe Verbindung erstellen

Erstellen Sie zuerst ein Dataset und eine Cloud-Ressourcenverbindung.

Ein Dataset in BigQuery ist ein Container für alle Tabellen und Objekte Ihrer Anwendung.

So erstellen Sie ein Dataset:

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.
  2. Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.
  3. Maximieren Sie die Option Aktionen (das Dreipunkt-Menü) und klicken Sie auf Dataset erstellen.

Abbildung des Menüs „Actions“ (Aktionen) und der Option „Create dataset“ (Dataset erstellen)

  1. Geben Sie in das Feld Dataset-ID den Wert mdm_gemini ein.
  2. Legen Sie als Standorttyp Multi-region fest und übernehmen Sie den Standardwert US(multiple regions in United States..
  3. Klicken Sie auf Dataset erstellen.
  4. Prüfen Sie, ob das Dataset erstellt und unter Ihrer Projekt-ID im Bereich Explorer aufgeführt wird.

Für die Interaktion mit Ihrer Cloud Functions-Funktion ist eine BigQuery-Verbindung erforderlich. Zum Erstellen einer Remote-Funktion müssen Sie eine BigQuery-Verbindung erstellen. In diesem Codelab verwenden wir die BigLake-Verbindung, um über die Cloud Functions-Funktion von BigQuery aus auf das Modell zuzugreifen. BigLake-Verbindungen helfen beim Verbinden der externen Datenquelle, während gleichzeitig die detailgenaue Zugriffssteuerung und Sicherheit von BigQuery beibehalten werden, in unserem Fall die Vertex AI Gemini Pro API.

So erstellen Sie die BigLake-Verbindung:

  1. Klicken Sie auf der BigQuery-Seite im Bereich Explorer auf Hinzufügen.

BigQuery-Konsole mit hervorgehobener Schaltfläche zum Hinzufügen einer externen Verbindung

  1. Klicken Sie auf Verbindungen zu externen Datenquellen.
  2. Wählen Sie in der Liste „Verbindungstyp“ die Option Vertex AI-Remote-Modelle, Remote-Funktionen und BigLake (Cloud-Ressource) aus.
  3. Geben Sie im Feld Connection ID (Verbindungs-ID) den Namen der Verbindung als gemini-bq-conn ein.
  4. Legen Sie als Standorttyp Multi-region fest und übernehmen Sie den Standardwert US(multiple regions in United States..
  5. Klicken Sie auf Verbindung erstellen.
  6. Klicken Sie auf Go to connection (Verbindung aufrufen) und kopieren Sie dann die Dienstkonto-ID im Bereich Connection info (Verbindungsinformationen).

Screenshot der Verbindungsinformationen

  1. Öffnen Sie die Seite IAM & Verwaltung und klicken Sie auf Zugriff gewähren.
  2. Fügen Sie die Dienstkonto-ID in das Feld New Principles ein.
  3. Wählen Sie die Rolle Vertex AI user aus der Rollenliste aus und klicken Sie dann auf Speichern.

Screenshot: Zugriff auf Dienstkonto gewähren

Sie haben nun das Dataset und die BigQuery-Verbindung erfolgreich erstellt.

6. Gemini-Funktionsaufrufe bereitstellen (Cloud Functions-Java-Funktion)

Führen Sie die folgenden Schritte aus, um die Cloud Functions-Java-Funktion bereitzustellen, die Gemini-Funktionsaufrufe enthält.

  1. Klonen Sie das GitHub-Repository mit dem folgenden Befehl aus Ihrem Cloud Shell-Terminal:
git clone https://github.com/AbiramiSukumaran/GeminiFunctionCalling
  1. Ersetzen Sie die Platzhalter YOUR_API_KEY und YOUR_PROJECT_ID durch Ihre Werte.

Wenn Sie diesen Blog lesen, wissen Sie, dass die Funktion zum Aufrufen von Implementierungen die Reverse Geocoding API verwendet. Sie können mithilfe dieser Anleitung Ihren eigenen API_KEY erstellen.

  1. Rufen Sie im Cloud Shell-Terminal das neu geklonte Projektverzeichnis GeminiFunctionCalling auf und führen Sie die folgende Anweisung aus, um die Cloud Functions-Funktion zu erstellen und bereitzustellen:
gcloud functions deploy gemini-fn-calling --gen2 --region=us-central1 --runtime=java11 --source=. --entry-point=cloudcode.helloworld.HelloWorld --trigger-http

Sag „Y“ wenn Sie die Aufforderung „Nicht authentifizierte Aufrufe zulassen“ erhalten Fragen beantwortet. Im Idealfall richten Sie die Authentifizierung für Ihre Unternehmensanwendungen gemäß Empfehlung ein. Da es sich jedoch um eine Demo-App handelt, fahren wir nicht authentifiziert fort.

Die Ausgabe ist eine REST-URL im folgenden Format:

https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling

  1. Testen Sie diese Cloud Functions-Funktion, indem Sie den folgenden Befehl über das Terminal ausführen:
gcloud functions call gemini-fn-calling --region=us-central1 --gen2 --data '{"calls":[["40.714224,-73.961452"]]}'

Antwort für einen zufälligen Stichproben-Prompt:

 '{"replies":["{ \"DOOR_NUMBER\": \"277\", \"STREET_ADDRESS\": \"Bedford Ave\", \"AREA\":
 null, \"CITY\": \"Brooklyn\", \"TOWN\": null, \"COUNTY\": \"Kings County\", \"STATE\":
 \"NY\", \"COUNTRY\": \"USA\", \"ZIPCODE\": \"11211\", \"LANDMARK\": null}}```"]}'

Die Anfrage- und Antwortparameter dieser Cloud Functions-Funktion sind so implementiert, dass sie mit dem Remote-Funktionsaufruf von BigQuery kompatibel sind. Sie kann direkt aus BigQuery-Daten abgerufen werden. Wenn Ihre Dateneingabe (lat- und Long-Data-Daten) in BigQuery enthalten ist, können Sie die Remote-Funktion für die Daten aufrufen und die Funktionsantwort abrufen, die direkt in BigQuery gespeichert oder verarbeitet werden kann.

  1. Führen Sie die folgende DDL in BigQuery aus, um eine Remote-Funktion zu erstellen, die diese bereitgestellte Cloud Functions-Funktion aufruft:
CREATE OR REPLACE FUNCTION
 `mdm_gemini.MDM_GEMINI` (latlng STRING) RETURNS STRING
 REMOTE WITH CONNECTION `us.gemini-bq-conn`
 OPTIONS (
   endpoint = 'https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling', max_batching_rows = 1
 );

Testen Sie die Abfrage, um die neue Remote-Funktion zu verwenden:

SELECT mdm_gemini.MDM_GEMINI(latlong) from mdm_gemini.CITIBIKE_STATIONS limit 1;

Wenn die Testabfrage, die die neue in BigQuery erstellte Remote-Funktion verwendet, aufgrund eines Problems mit Cloud Functions-Berechtigungen fehlschlägt, rufen Sie Cloud Functions über die Google Cloud Console auf und suchen Sie die bereitgestellte Cloud Functions-Funktion gemini-fn-calling. Rufen Sie den Tab „Berechtigungen“ auf und fügen Sie das Hauptkonto als „allUsers“ hinzu und gewähren Sie die Rolle „Cloud Functions Invoker“. um sicherzustellen, dass die Cloud Functions-Funktionen für alle Nutzer zugänglich sind (nur weil es sich um eine Demo-App handelt).

7. Problemumgehung versuchen

Wenn Sie nicht über den erforderlichen API_KEY für den Ansatz zum Aufrufen von Funktionen mit umgekehrter Geocodierung verfügen oder die Cloud Functions-Funktion aus irgendeinem Grund nicht bereitgestellt haben, können Sie so vorgehen:

  1. Laden Sie die Datei CITIBIKE_STATIONS.csv aus dem Repository in Ihren Cloud Shell-Projektordner herunter und rufen Sie diesen Ordner auf.
  2. Exportieren Sie die Daten aus der CSV-Datei in das neue BigQuery-Dataset mdm_gemini. Verwenden Sie dazu den folgenden Befehl im Cloud Shell-Terminal:
bq load --source_format=CSV --skip_leading_rows=1 mdm_gemini.CITIBIKE_STATIONS ./CITIBIKE_STATIONS.csv \ name:string,latlng:string,capacity:numeric,num_bikes_available:numeric,num_docks_available:numeric,last_reported:timestamp,full_address_string:string

8. Tabelle erstellen und Adressdaten anreichern

Schritt 1: Tabelle erstellen

Impr.: Überspringen Sie diesen Schritt, wenn Sie die Problemumgehung verwendet haben, da Sie die Tabelle bereits erstellt haben müssen.

Wenn Sie die Problemumgehung noch nicht verwendet haben, führen Sie die folgende DDL im BigQuery-SQL-Editor aus:

CREATE TABLE mdm_gemini.CITIBIKE_STATIONS as (
select  name, latitude || ',' || longitude as latlong, capacity, num_bikes_available, num_docks_available,last_reported,
'' as full_address_string
from bigquery-public-data.new_york_citibike.citibike_stations) ;

Nun werden wir die Adressdaten anreichern, indem wir die remote-Funktion für die in der Tabelle verfügbaren Breiten- und Längengradkoordinaten aufrufen. Legen Sie die folgenden Bedingungen für die Daten fest:

  • Gemeldet im Jahr 2024
  • Anzahl der verfügbaren Fahrräder > 0
  • Kapazität > 100

Führen Sie die folgende Abfrage aus:

update `mdm_gemini.CITIBIKE_STATIONS`
set full_address_string = `mdm_gemini.MDM_GEMINI`(latlong)
where EXTRACT(YEAR FROM last_reported) = 2024 and num_bikes_available > 0 and capacity > 100;

Schritt 2: Zweite Quelle für die Standortdaten von Fahrradstationen erstellen

Überspringen Sie diesen Schritt nicht, auch wenn Sie die Problemumgehung zum Erstellen der Tabelle verwendet haben.

In diesem Schritt erstellen Sie für dieses Codelab eine zweite Quelle für die Standortdaten von Fahrradstationen. Dies soll zeigen, dass bei der Mobilgeräteverwaltung Daten aus mehreren Quellen zusammengeführt und die goldene Wahrheit ermittelt werden.

Führen Sie die folgenden DDLs im BigQuery-SQL-Editor aus, um die zweite Quelle von Standortdaten mit zwei Datensätzen zu erstellen. Nennen Sie diese Tabelle mdm_gemini.CITIBIKE_STATIONS_SOURCE2 und fügen Sie zwei Datensätze hinzu.

CREATE TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE2 (name STRING(55), address STRING(1000), embeddings_src ARRAY<FLOAT64>);

insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Location broadway and 29','{ "DOOR_NUMBER": "1593", "STREET_ADDRESS": "Broadway", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10019", "LANDMARK": null}', null);

insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Allen St & Hester','{ "DOOR_NUMBER": "36", "STREET_ADDRESS": "Allen St", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10002", "LANDMARK": null}', null);

9. Einbettungen für Adressdaten generieren

Einbettungen sind hochdimensionale numerische Vektoren, die eine bestimmte Entität darstellen, z. B. einen Text oder eine Audiodatei. Modelle für maschinelles Lernen (ML) verwenden Einbettungen, um die Semantik solcher Entitäten zu codieren. Dies erleichtert das Verständnis und den Vergleich dieser Entitäten. Eine gängige Operation in Clustering-, Klassifizierungs- und Empfehlungsmodellen besteht beispielsweise darin, den Abstand zwischen Vektoren in einem Einbettungsbereich zu messen, um Elemente zu finden, die semantisch am ähnlichsten sind. Mit der Vertex AI Text-Embeddings API können Sie mit generativer KI eine Texteinbettung in Vertex AI erstellen. Texteinbettungen sind numerische Darstellungen von Text, die Beziehungen zwischen Wörtern und Wortgruppen erfassen. Weitere Informationen zu Vertex AI-Texteinbettungen

  1. Führen Sie die folgende DDL aus, um ein Remote-Modell für die Vertex AI TextEmbeddings API zu erstellen:
CREATE OR REPLACE MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (ENDPOINT = 'textembedding-gecko@latest');
  1. Das Remote-Einbettungsmodell ist nun fertig. Generieren Sie jetzt Einbettungen für die erste Quelle und speichern Sie sie mithilfe der folgenden Abfrage in einer Tabelle:
CREATE TABLE `mdm_gemini.CITIBIKE_STATIONS_SOURCE1` AS (
SELECT *
FROM ML.GENERATE_EMBEDDING(
 MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
 ( select name, full_address_string as content from `mdm_gemini.CITIBIKE_STATIONS`
 where full_address_string is not null )
  )
);

Anstatt eine neue Tabelle zu erstellen, können Sie das Ergebnisfeld der Einbettungen auch in derselben Tabelle mdm_gemini.CITIBIKE_STATIONS speichern, die Sie zuvor erstellt haben.

  1. Führen Sie die folgende Abfrage aus,um Einbettungen für Adressdaten in die Tabelle CITIBIKE_STATIONS_SOURCE2 zu generieren:
update `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` a set embeddings_src =
(
SELECT  ml_generate_embedding_result
FROM ML.GENERATE_EMBEDDING(
 MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
 ( select name, address as content from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` ))
where name = a.name) where name is not null;

Dadurch sollten Einbettungen für die zweite Quelle erstellt werden. Beachten Sie, dass wir das Einbettungsfeld in derselben Tabelle CITIBIKE_STATIONS_SOURCE2 erstellt haben.

  1. Führen Sie die folgende Abfrage aus, um die für die Quelldatentabellen 1 und 2 generierten Einbettungen zu visualisieren:
select name,address,embeddings_src from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2`;
select name,content,ml_generate_embedding_result from `mdm_gemini.CITIBIKE_STATIONS_SOURCE1`;

Führen wir nun eine Vektorsuche durch, um Duplikate zu identifizieren.

10. Vektorsuche ausführen, um doppelte Adressen zu melden

In diesem Schritt durchsuchen Sie die Spalte ml_generate_embedding_result der Adresseinbettungen in der Tabelle mdm_gemini.CITIBIKE_STATIONS_SOURCE1 nach den beiden obersten Einbettungen, die mit jeder Datenzeile in der Spalte embeddings_src der Tabelle mdm_gemini.CITIBIKE_STATIONS_SOURCE2 übereinstimmen.

Führen Sie dazu die folgende Abfrage aus:

select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
 TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
 'ml_generate_embedding_result',
 (SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
 'embeddings_src',
 top_k => 2
) where query.name <> base.name
order by distance desc;

Von uns abgefragte Tabelle: mdm_gemini.CITIBIKE_STATIONS_SOURCE1 für das Feld ml_generate_embedding_result

Tabelle, die als Grundlage verwendet wird: mdm_gemini.CITIBIKE_STATIONS_SOURCE2 auf dem Feld embeddings_src

top_k: gibt die Anzahl der nächsten Nachbarn an, die zurückgegeben werden sollen. Der Standardwert ist 10. Ein negativer Wert wird als unendlich behandelt, was bedeutet, dass alle Werte als Nachbarn gezählt und zurückgegeben werden.

distance_type: gibt den Messwerttyp an, der zur Berechnung der Entfernung zwischen zwei Vektoren verwendet werden soll. Unterstützte Distanztypen sind Euklidisch und Kosinus. Der Standardwert ist Euklidisch.

Das Ergebnis der Abfrage ist wie folgt:

Ergebnissatz

Wie Sie sehen, wurden hier die beiden nächsten Nachbarn (mit anderen Worten, die nächsten Duplikate) für die beiden Zeilen in CITIBIKE_STATIONS_SOURCE2 aus CITIBIKE_STATIONS_SOURCE1 aufgelistet. Da distance_type nicht angegeben ist, wird angenommen, dass er euklidisch ist und die Entfernung als Entfernungen in Adress-TEXT-Werten zwischen den beiden Quellen gelesen wird. Die niedrigste ist die ähnlichste Adresstexte.

Setzen wir distance_type mithilfe der folgenden Abfrage auf Kosinus:

select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
 TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
 'ml_generate_embedding_result',
 (SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
 'embeddings_src',
 top_k => 2,distance_type => 'COSINE'
) where query.name <> base.name
order by distance desc;

Das Ergebnis der Abfrage ist wie folgt:

Ergebnissatz 2

Beide Abfragen (beider Entfernungstypen) sind nach der Entfernung DESCENDING sortiert, d. h., wir sollen die Ergebnisse in der Reihenfolge der abnehmenden Entfernung auflisten. Sie werden jedoch feststellen, dass die Entfernungsreihenfolge der zweiten Abfrage umgekehrt ist. Kannst du den Grund dafür erraten?

Ja! Das ist richtig! Bei der Kosinus-Ähnlichkeit bedeutet eine größere Zahl eine größere Ähnlichkeit und eine geringere Entfernung. Beim euklidischen Abstand bedeutet eine größere Zahl eine größere Entfernung zwischen den Werten.

Weitere Informationen zur Mobilgeräteverwaltung sowie Tipps zu den Unterschieden und Anwendungen von Euklidisch und Cosine finden Sie in diesem Blog.

11. Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:

  1. Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.
  4. Wenn Sie Ihr Projekt behalten möchten, überspringen Sie die oben genannten Schritte und löschen Sie die Cloud Functions-Funktion. Rufen Sie dazu Cloud Functions auf. Wählen Sie in der Liste der Funktionen die Funktion aus, die Sie löschen möchten, und klicken Sie auf Löschen.

12. Glückwunsch

Glückwunsch! Sie haben gezeigt, dass Sie mit Gemini 1.0 Pro und Funktionsaufrufen einige wenige MDM-Aktivitäten in vereinfachte, aber leistungsstarke, deterministische und zuverlässige Generative AI-Funktionen umwandeln können. Jetzt, da Sie wissen, können Sie gerne weitere Möglichkeiten finden, um denselben Anwendungsfall oder andere MDM-Funktionen zu implementieren. Gibt es Datasets, die Sie validieren könnten, Informationslücken, die Sie schließen könnten, oder Aufgaben, die durch strukturierte Aufrufe automatisiert werden könnten, die in Ihre Antworten auf Generative AI eingebettet sind? Ausführlichere Informationen finden Sie in der Dokumentation zu Vertex AI, BigQuery Remote Functions, Cloud Functions, Einbettungen und Vektorsuche. Hier ist das GitHub-Repository für dieses Projekt. Teilen Sie uns mit, was Sie mit diesen Erkenntnissen entwickelt haben!