Snowflake-Modelle für maschinelles Lernen in einer Snowflake Native App verwenden

Unter diesem Thema wird beschrieben, wie Sie ein Snowflake ML-Modell in einer Snowflake Native App verwenden. Außerdem wird beschrieben, wie Sie Snowflake Cortex-Funktionen aus einer App heraus aufrufen.

Überblick über die Verwendung von Snowpark ML in einer Snowflake Native App

Snowflake ML ist ein integrierter Satz von Funktionen für durchgängiges maschinelles Lernen auf einer einzigen Plattform auf Basis Ihrer verwalteten Daten. Sie können diese Funktionalität innerhalb einer Snowflake Native App verwenden.

Snowflake Native App Framework unterstützt die folgenden Anwendungsfälle:

  • Anbieter integrieren einen Trainingsalgorithmus in die App, aber das trainierte Modell ist nicht enthalten. Anbieter fügen den Quellcode für das Modell, zum Beispiel lineare Regression oder logistische Regression, in die App ein.

    Nach der Installation der App erfolgt das Training mit den Daten des Kontos des Verbrauchers, zum Beispiel durch den Aufruf der Methode fit() des Modells.

    Weitere Informationen dazu finden Sie unter Erstellen, Trainieren und Verwenden eines Snowflake ML-Modells in einer App.

  • Anbieter teilen Daten mit dem Verbraucher und integrieren einen Trainingsalgorithmus in die App. Nach der Installation trainiert die App das Modell anhand der Daten im Konto des Verbrauchers, die mit der App geteilt wurden.

    Weitere Informationen dazu finden Sie unter Erstellen, Trainieren und Verwenden eines Snowflake ML-Modells in einer App.

  • Anbieter trainieren ein Modell auf der Grundlage der Daten in ihrem Konto und integrieren diese Modelle in die App. Wenn die App installiert ist, können Verbraucher das Modell direkt verwenden, indem sie beispielsweise die Methode :predict() des Modells aufrufen.

    Weitere Informationen dazu finden Sie unter Ein trainiertes Modell in eine App einbinden.

Beschränkungen bei der Verwendung von Snowflake ML in einer App

Die folgenden Beschränkungen gelten für die Verwendung von Snowflake ML in einer App:

  • Derzeit werden nur Modelle unterstützt, die auf Warehouses basieren.

  • Anbieter müssen die Snowflake Model Registry verwenden, um Modelle mit Verbrauchern zu teilen. Snowpark ML-Funktionen wie fit() speichern Ergebnisse in einem temporären Stagingbereich, der für Snowflake Native Apps nicht unterstützt wird.

  • Es gibt Beschränkungen für Algorithmen des maschinellen Lernens, die in einer Snowpark-Sandbox innerhalb eines Warehouses ausgeführt werden können. Komplexere Frameworks für maschinelles Lernen wie TensorFlow oder PyTorch sind in diesen Sandboxen nicht ausführbar.

  • Das Training mit dem Datensatz eines Anbieters führt möglicherweise nicht zu einem Modell, das für die Daten eines Verbrauchers ausreichend effektiv ist. Das Trainieren eines Modells mit Verbraucherdaten kann bessere Ergebnisse liefern.

Aufrufen von Snowflake Cortex-Funktionen aus einer App

Um eine Snowflake Cortex-Funktion von einer App aus aufzurufen, müssen Verbraucher der App zunächst die Datenbankrolle CORTEX_USER gewähren wie im folgenden Beispiel gezeigt:

GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO APPLICATION my_app;
Copy

Bemerkung

Anbieter sollten im Freigabeangebot einer App erwähnen, dass Verbraucher die Datenbankrolle CORTEX_USER gewähren müssen.

Die Datenbankrolle CORTEX_USER der SNOWFLAKE-Datenbank beinhaltet die Berechtigungen, die es dem Benutzer erlauben, Snowflake Cortex-LLM-Funktionen aufzurufen. Weitere Informationen dazu finden Sie unter Snowflake Cortex AISQL (einschließlich LLM-Funktionen).

Nachdem Verbraucher der App diese Rolle gewährt haben, kann die App Snowflake Cortex-Funktionen aufrufen wie im folgenden Beispiel gezeigt:

SELECT SNOWFLAKE.CORTEX.TRANSLATE('La plateforme unique de Snowflake élimine les silos de données!','fr','en');
Copy