Die Funktion ai.forecast von AlloyDB Omni ist für die Verwendung mit jedem Modell konzipiert, das mit dem Modelltyp ts_forecasting registriert ist. So können Sie das Modell verwenden, das am besten zu Ihren Anforderungen passt. Dieses Dokument enthält eine detaillierte Anleitung zur Verwendung von TimesFM. Die Prinzipien können jedoch auch auf andere Modelle angewendet werden.
Hinweis
Bevor Sie Zeitreihenprognosen erstellen können, müssen Sie das Datenbank-Flag für Prognosen in AlloyDB Omni aktivieren und ein Prognosemodell registrieren.
Prognosemodell registrieren
Sie können verschiedene Prognosemodelle mit AlloyDB Omni verwenden.
In diesem Abschnitt finden Sie eine Anleitung zum Registrieren des TimesFM-Modells. Eine Anleitung zum Registrieren anderer Modelle finden Sie unter Modellendpunkt bei der Modellendpunktverwaltung registrieren.
TimesFM-Modell verwenden
TimesFM-Modelle sind in zwei Versionen verfügbar:
- TimesFM 1.0: die erste Version des TimesFM-Modells.
- TimesFM 2.0: Diese Version enthält einen Prüfpunkt mit 500 Millionen Parametern und den zugehörigen Inferenzcode. Es bietet eine bessere Modellleistung als das 1.0-Modell.
- TimesFM 2.5: Diese Version enthält einen Prüfpunkt mit 200 Millionen Parametern und den zugehörigen Inferenzcode. Es bietet eine bessere Modellleistung als das 2.0-Modell.
Alle Modelle sind in Model Garden für eine schnelle Bereitstellung verfügbar.
Wenn Sie TimesFM-Modelle verwenden möchten, müssen Sie das TimesFM-Modell zuerst auf einem Vertex AI-Endpunkt bereitstellen und dann in AlloyDB Omni registrieren.
TimesFM-Modell auf einem Vertex AI-Endpunkt bereitstellen
Sie können das Modell mit einem Klick über die Google Cloud Console oder manuell mit einem Colaboratory-Notebook bereitstellen.
Bereitstellung mit nur einem Klick
So stellen Sie das TimesFM-Modell mit einem Klick bereit:
Rufen Sie in der Google Cloud Console die Seite Model Garden auf:
Zu Model Garden- Geben Sie im Feld Suchen
TimesFMein. - Klicken Sie in den Suchergebnissen auf
TimesFM. -
Führen Sie auf der Seite TimesFM die folgenden Schritte aus:
- Klicken Sie auf Modell bereitstellen.
- Wählen Sie Vertex AI aus.
Konfigurieren und stellen Sie Ihr Modell im Bereich In Vertex AI bereitstellen bereit:
- Wenn Sie die aktuelle Version des TimesFM-Modells verwenden möchten, wählen Sie im Drop-down-Menü Ressourcen-ID die Option
google/timesfm-2.0aus. - Geben Sie Folgendes ein, um die Bereitstellung später leichter identifizieren zu können:
- Geben Sie unter Modellname einen eindeutigen
MODEL_NAMEein. - Geben Sie im Feld Endpunktname einen eindeutigen
ENDPOINT_NAMEein.
- Geben Sie unter Modellname einen eindeutigen
- Klicken Sie unter Bereitstellungseinstellungen auf Erweitert, um die Konfigurationsoptionen zu maximieren.
- Wählen Sie im Drop-down-Menü Region die Region aus, in der sich Ihre AlloyDB Omni-Instanz befindet, um die geringstmögliche Latenz zu erzielen.
- Wählen Sie im Drop-down-Menü Maschinenspezifikation eine geeignete Maschinenspezifikation aus, um die beste Leistung zu erzielen. Beachten Sie, dass eine GPU oder TPU möglicherweise eine geringere Latenz bietet.
Wählen Sie im Drop-down-Menü Endpunktzugriff unter Verfügbarkeitsrichtlinien die Option Öffentlich (freigegebener Endpunkt) aus.
Dadurch wird ein Endpunkt in der Domain
aiplatformerstellt, der mit AlloyDB Omni funktioniert.- Klicken Sie auf Bereitstellen, um das Modell auf einem verwalteten Endpunkt bereitzustellen. Die Bereitstellung kann etwa 10–15 Minuten dauern.
- Wenn Sie die aktuelle Version des TimesFM-Modells verwenden möchten, wählen Sie im Drop-down-Menü Ressourcen-ID die Option
- Nachdem das TimesFM-Modell bereitgestellt wurde, wird unter Endpunkte ein Link ähnlich wie
google_timesfm-VERSION-one-click-deployangezeigt. - Klicken Sie unter Endpunkte auf den Bereitstellungslink, um die URL für die Modellanfrage abzurufen.
- Klicken Sie auf der Endpunkt-Detailseite auf Beispielanfrage.
Suchen Sie im Bereich Beispielanfrage nach der URL der Modellanfrage und notieren Sie sie. Diese Informationen verwenden Sie unter TimesFM-Modell in AlloyDB Omni registrieren, z. B.
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict.Die Anfrage-URL muss
aiplatform.googleapis.comenthalten.
Manuelle Bereitstellung
So stellen Sie das TimesFM-Modell manuell mit einem Colaboratory-Notebook bereit:
-
Rufen Sie in der Google Cloud Console die Seite Model Garden auf:
Zu Model Garden - Geben Sie im Feld Suchen
TimesFMein. - Klicken Sie in den Suchergebnissen auf
TimesFM, um die Modellkarte zu öffnen. - Klicken Sie auf der Seite TimesFM auf CO Open Notebook.
- Klicken Sie im Fenster Notebook öffnen auf den Link Colab Enterprise für TimesFM 2.0.
-
Führen Sie auf der Seite Collab Enterprise die folgenden Schritte aus:
- Klicken Sie auf Verbinden, um eine Verbindung zur Laufzeitumgebung herzustellen.
-
Optional: Führen Sie bei Bedarf die folgenden Schritte aus:
-
Legen Sie im Abschnitt Voraussetzungen von Google Cloud-Projekt einrichten die Werte für BUCKET_URI und REGION fest. Setzen Sie beispielsweise BUCKET_URI auf
gs://your-unique-bucket-nameund REGION aufus-central1. - Wählen Sie im Drop-down-Menü accelerator_type von TimesFM auf einem Vertex AI-Endpunkt bereitstellen bei Bedarf einen anderen Beschleunigertyp aus.
- Füllen Sie in Schritt 3: Maximalen Prognosezeitraum festlegen die Felder horizon und max_context aus. Setzen Sie beispielsweise horizon auf
128und max_context auf512.
-
- Heben Sie die Auswahl des Kästchens
use_dedicated_endpointauf. - Führen Sie alle Zellen im Notebook aus.
Die Ausgabe des Notebooks enthält die Endpunktdetails im folgenden Format:
projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID. -
Ersetzen Sie die Projekt- und Endpunktkennungen durch die Endpunktdetails aus dem vorherigen Schritt, um den
model_request_urlfür den Aufruf zur Erstellung des SQL-Modells zu erstellen:CALL google_ml.create_model( model_id => 'timesfm_v2', model_qualified_name => 'timesfm_v2', model_type => 'ts_forecasting', model_provider => 'google', model_request_url => 'https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict');
Sie benötigen diesen
model_request_urlimgoogle_ml.create_model-Aufruf, wenn Sie das TimesFM-Modell in AlloyDB Omni registrieren, wie im folgenden Abschnitt beschrieben. Führen Sie die folgende Beispielabfrage aus, um zu prüfen, ob die Funktion
ai.forecastwie erwartet funktioniert:SELECT * FROM ai.forecast( source_query=> ' SELECT my_timestamp, my_data_value FROM ( VALUES (CAST(''2025-01-01'' AS TIMESTAMP), 10.0), (CAST(''2025-01-02'' AS TIMESTAMP), 12.0), (CAST(''2025-01-03'' AS TIMESTAMP), 11.0), (CAST(''2025-01-04'' AS TIMESTAMP), 13.0), (CAST(''2025-01-05'' AS TIMESTAMP), 15.0), (CAST(''2025-01-06'' AS TIMESTAMP), 14.0), (CAST(''2025-01-07'' AS TIMESTAMP), 16.0), (CAST(''2025-01-08'' AS TIMESTAMP), 18.0), (CAST(''2025-01-09'' AS TIMESTAMP), 17.0), (CAST(''2025-01-10'' AS TIMESTAMP), 20.0) ) AS t (my_timestamp, my_data_value) ' , model_id => 'timesfm_v2', data_col => 'my_data_value', timestamp_col => 'my_timestamp', -- The rest of the parameters are the same horizon => 7, conf_level => 0.80 );
TimesFM-Modell in AlloyDB Omni registrieren
So registrieren Sie das TimesFM-Modell in AlloyDB Omni:
Prüfen Sie, ob die Erweiterung
google_ml_integrationin der AlloyDB Omni-Datenbank installiert ist, die die Daten enthält, für die Sie Vorhersagen erhalten möchten.Prüfen Sie, ob Sie Version 1.4.5 oder höher der Erweiterung
google_ml_integrationinstalliert haben.SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';Hier ein Beispiel für eine Ausgabe:
extversion ------------ 1.4.5 (1 row)Rufen Sie
google_ml.create_modelmit der Modell-Anfrage-URL auf, die Sie sich unter Prognosemodell registrieren notiert haben.CALL google_ml.create_model( model_id => 'MODEL_ID', model_qualified_name => 'MODEL_QUALIFIED_NAME', model_type => 'ts_forecasting', model_provider => 'google', model_request_url => 'https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict' -- Example endpoint from Model Garden );Ersetzen Sie Folgendes:
MODEL_ID: Eine eindeutige Kennung für das registrierte Modell, das Sie für die Prognose verwenden möchten, z. B.vertex_timesfm.MODEL_QUALIFIED_NAME: Ein benutzerdefinierter Name für das Modell, z. B.timesfm_v2.REGION: Die Region, in der sich die Instanz befindet, z. B.us-central1.PROJECT_ID: der Name des Projekts, in dem das Modell bereitgestellt wird, z. B.forecast_project.ENDPOINT_ID: der Name der Modellbereitstellung, z. B.my-timesfm-endpoint.Die
model_request_urlwird von Vertex AI bereitgestellt, nachdem Sie Ihr Modell bereitgestellt haben. Kopieren Sie die gesamte URL aus dem Bereich Beispielanfrage in der Vertex AI-Konsole. Sie enthält bereits die richtigen Projekt- und Endpunktinformationen.
Datenbank-Flag für Prognosen aktivieren
Bevor Sie mit dem registrierten Modell Prognosen erstellen können, müssen Sie das Datenbank-Flag google_ml_integration.enable_forecasting auf on setzen.
Sie können dieses Flag für Ihre aktuelle Sitzung aktivieren oder es so festlegen, dass es für eine bestimmte Datenbank oder einen bestimmten Nutzer über Sitzungen hinweg beibehalten wird. Wählen Sie eine der folgenden Optionen aus, um das Datenbank-Flag festzulegen:
Aktivieren Sie das Flag für die aktuelle Sitzung:
SET google_ml_integration.enable_forecasting = on;Aktivieren Sie das Flag für eine bestimmte Datenbank:
ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_forecasting = 'on';Ersetzen Sie
DATABASE_NAMEdurch den Namen Ihrer Datenbank.Aktivieren Sie das Flag für einen bestimmten Datenbanknutzer:
ALTER ROLE postgres SET google_ml_integration.enable_forecasting = 'on';
Prognosen erstellen
Nachdem Sie das TimesFM-Modell registriert und das erforderliche Flag aktiviert haben, können Sie Prognosen generieren, indem Sie entweder eine Quelltabelle oder eine Abfrage mit Ihren Zeitreihendaten übergeben.
Die Funktion ai.forecast wird separat dokumentiert. Eine vollständige Liste der Parameter, einschließlich ihrer Beschreibungen und Beispiele, finden Sie in der Referenz zur Verwaltung von Modellendpunkten.
Prognosen aus einer Quelltabelle generieren
Das folgende Beispiel zeigt, wie die Funktion ai.forecast mit einer Quelltabelle aufgerufen wird, um Vorhersagen zu generieren:
SELECT * FROM ai.forecast(
model_id => 'MODEL_ID',
source_table => 'time_series_data',
data_col => 'data_points',
timestamp_col => 'timestamp',
horizon => 2,
conf_level => 0.80
);
Prognosen aus einer Abfrage generieren
Im folgenden Beispiel wird gezeigt, wie Sie Prognosen generieren, indem Sie die Funktion ai.forecast mit einer Unterabfrage als Datenquelle aufrufen:
SELECT * FROM ai.forecast(
model_id => 'MODEL_ID',
source_query => '(SELECT * FROM time_series_data ORDER BY timestamp LIMIT 1) AS time_series_data',
data_col => 'data_points',
timestamp_col => 'timestamp',
horizon => 2,
conf_level => 0.80
);
Andere Prognosemodelle verwenden
Sie können die Funktion ai.forecast mit jedem anderen Zeitreihenprognosemodell verwenden, das Sie in AlloyDB Omni registrieren. Wichtig ist, dass Ihr Modell mit dem Modelltyp ts_forecasting registriert ist.
Eine ausführliche Anleitung zum Registrieren verschiedener Modelltypen finden Sie unter Remote-KI-Modelle mit der Modellendpunktverwaltung registrieren und aufrufen.
Sobald Ihr Modell registriert ist, können Sie es mit der Funktion ai.forecast verwenden, indem Sie die entsprechende model_id angeben.
Nächste Schritte
- Modellendpunkt bei der Modellendpunktverwaltung registrieren
- Abfragen mit KI-basierten SQL-Operatoren