Verwenden von Snowflake Copilot¶
Unter diesem Thema erhalten Sie eine Einführung in Snowflake Copilot und wie Sie es in Ihrem Datenanalyse-Workflow verwenden können. Die Beispiele unter diesem Thema verwenden Arbeitsblätter, aber die gleichen Schritte gelten für die Verwendung von Snowflake Copilot in Snowflake Notebooks.
Bemerkung
Die Unterstützung für dieses Feature ist bei Konten in folgenden Regionen verfügbar:
AWS us-east-1
AWS us-west-2
AWS eu-central-1
Azure eastus2
Einführung¶
Snowflake Copilot ist ein LLM-gestützter Assistent, der die Datenanalyse vereinfacht und zugleich eine robuste Data Governance sicherstellt, und der sich nahtlos in Ihren bestehenden Snowflake-Workflow integriert.
Snowflake Copilot basiert auf einem von Snowflake durch Fine-Tuning optimierten Modell, das sicher innerhalb von Snowflake Cortex ausgeführt wird, dem intelligenten, vollständig verwalteten KI-Dienst von Snowflake. Dieser Ansatz bedeutet, dass Ihre Unternehmensdaten und Metadaten immer sicher in Snowflake verbleiben. Snowflake Copilot respektiert auch RBAC und liefert Vorschläge, die nur auf den Datensets basieren, auf die Sie zugreifen können.
Snowflake Copilot verwendet Anfragen in natürlicher Sprache, um eine Datenanalyse von Anfang bis Ende zu ermöglichen. Zu Beginn kann Copilot Ihnen helfen, Fragen zur Struktur Ihrer Daten zu beantworten und Sie bei der Erkundung eines neuen Datensets zu unterstützen. Sie können Copilot dann auffordern, SQL-Abfragen zu erstellen und zu verfeinern, um nützliche Informationen aus Ihren Daten zu extrahieren. Snowflake Copilot kann Ihnen sogar dabei helfen, Ihre SQL-Abfrage zu verbessern, indem es Optimierungen empfiehlt oder Korrekturen für mögliche Probleme vorschlägt.
Snowflake Copilot kann auch dazu beitragen, dass Sie die Features von Snowflake SQL besser beherrschen oder verstehen. Fragen Sie, wie eine Aufgabe in Snowflake ausgeführt werden kann, und Copilot gibt Ihnen Antworten auf der Grundlage der Snowflake-Dokumentation.
Sie können mit Copilot in SQL-Arbeitsblätter und Snowflake Notebooks in Snowsight interagieren. Über das Copilot-Bedienfeld können Sie eine Frage eingeben, auf die Snowflake Copilot eine Antwort gibt. Sie können die vorgeschlagenen SQL-Abfragen in Ihrem Arbeitsblatt oder Notebook ausführen.
Anforderungen an die Zugriffssteuerung¶
Die Datenbankrolle COPILOT_USER in der Datenbank SNOWFLAKE enthält die Berechtigungen, die es dem Benutzer erlauben, die Snowflake Copilot-Features zu nutzen. Die Rolle COPILOT_USER ist standardmäßig der Rolle PUBLIC zugewiesen. Die Rolle PUBLIC wird automatisch allen Benutzern und Rollen zugewiesen, sodass alle Benutzer Ihres Kontos die Snowflake Copilot-Features nutzen können.
Benutzer mit dieser Berechtigung sehen Ask Copilot unten rechts in ihren Arbeitsblatt oder Notebook und können den Bereich zur Interaktion mit Snowflake Copilot nutzen.
Zugriff auf Copilot beschränken¶
Wenn Sie nicht möchten, dass alle Benutzer diese Berechtigung haben, können Sie der Rolle PUBLIC die Berechtigung entziehen und den Zugriff nur bestimmten Rollen gewähren.
Um der Rolle PUBLIC die Datenbankrolle COPILOT_USER zu entziehen, führen Sie den folgenden Befehl mit der Rolle ACCOUNTADMIN aus:
USE ROLE ACCOUNTADMIN;
REVOKE DATABASE ROLE SNOWFLAKE.COPILOT_USER
FROM ROLE PUBLIC;
Ein Benutzer ohne diese Rolle sieht Ask Copilot nicht unten rechts in seinem Arbeitsblatt oder Notebook. Sie können Ihre aktive Rolle im linken Navigationsmenü wechseln, um zu einer Rolle zu wechseln, die Zugriff auf Copilot hat, um das Menü Ask Copilot erneut anzuzeigen. Weitere Details dazu finden Sie unter Aktive Rolle umschalten.
Sie können dann selektiv bestimmten Rollen Zugriff gewähren. Die Datenbankrolle SNOWFLAKE.COPILOT_USER kann einem Benutzer nicht direkt zugewiesen werden. Weitere Informationen dazu finden Sie unter Verwenden von SNOWFLAKE-Datenbankrollen. Ein Benutzer mit der Rolle ACCOUNTADMIN kann diese Rolle an eine kundenspezifische Rolle vergeben, um Benutzern den Zugriff auf Snowflake Copilot-Features zu ermöglichen. Im folgenden Beispiel verwenden Sie die Rolle ACCOUNTADMIN und weisen dem Benutzer some_user
die Datenbankrolle COPILOT_USER über die Kontorolle copilot_access_role
zu, die Sie zu diesem Zweck erstellen.
USE ROLE ACCOUNTADMIN;
CREATE ROLE copilot_access_role;
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE copilot_access_role;
GRANT ROLE copilot_access_role TO USER some_user;
Sie können den Zugriff auf Snowflake Copilot auch über bestehende Rollen gewähren, die häufig von bestimmten Gruppen von Benutzern verwendet werden. (siehe Benutzerrollen). Wenn Sie beispielsweise eine analyst
-Rolle erstellt haben, die von Analysten in Ihrer Organisation als Standardrolle verwendet wird, können Sie diesen Benutzern mit einer einzigen GRANT-Anweisung schnell Zugriff auf Snowflake Copilot gewähren.
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE analyst;
Unterstützte Anwendungsfälle¶
Erforschen Sie Ihre Daten, indem Sie offene Fragen stellen, um mehr über die Struktur und die Nuancen eines neuen Datensets zu erfahren.
Erstellen Sie SQL-Abfragen mithilfe von Fragen in einfachem Englisch.
Testen Sie die SQL-Abfrage, die von Snowflake Copilot vorgeschlagen wurde, mit nur einem Klick auf eine Schaltfläche. Sie können die Abfrage auch bearbeiten, bevor Sie sie ausführen.
Erstellen Sie komplexe Abfragen durch eine Konversation mit Snowflake Copilot, indem Sie Folgefragen stellen, um die vorgeschlagene SQL-Abfrage zu verfeinern und tiefer in die Analyse einzudringen.
Lernen Sie Snowflake kennen, indem Sie Fragen zu den Konzepten, Fähigkeiten und Features von Snowflake stellen.
Verbessern Sie Ihre Abfragen, indem Sie Snowflake Copilot bitten, Ihnen bei der Bewertung der Abfrageeffizienz zu helfen, Optimierungen zu finden oder zu erklären, was die Abfrage tut.
Geben Sie Feedback (Daumen hoch oder Daumen runter) zu jeder Antwort von Snowflake Copilot, was zur Verbesserung des Produkts verwendet wird.
Fügen Sie benutzerdefinierte Anweisungen hinzu, wie z. B. einen Satz von Präferenzen oder spezifisches Geschäfts-Know-how, die Snowflake Copilot beim Generieren von Antworten berücksichtigen soll.
Einschränkungen¶
Eingeschränkte Sprachunterstützung: Derzeit werden nur Englisch und SQL unterstützt.
Kein Zugriff auf Ihre Daten: Snowflake Copilot hat keinen Zugriff auf die Daten in Ihren Tabellen. Wenn Sie nach einem bestimmten Wert einer Spalte filtern möchten, müssen Sie diesen Wert bereitstellen. Wenn Sie Snowflake Copilot zum Beispiel bitten, alle Zeilen zurückzugeben, deren Wert in Spalte A gleich „X“ ist, müssen Sie den Wert „X“ in Ihrer Anfrage angeben. Weitere Beispiele finden Sie unter SQL-Anweisung erstellen ausführen.
Datenbank- oder Schema-übergreifende Abfragen werden nicht unterstützt: Sie können dieses Problem umgehen, indem Sie Ansichten erstellen und verwenden, die Daten aus verschiedenen Schemas und Datenbanken verknüpfen.
Verzögerte Antwort: Snowflake Copilot kann je nach Länge der bereitzustellenden Antwort eine Sekunde für die Vervollständigung einer Antwort benötigen.
SQL Vorschläge funktionieren nicht immer: Snowflake Copilot kann manchmal Abfragen vorschlagen, die eine ungültige SQL-Syntax oder nicht existierende Tabellen oder Spalten enthalten. Bitte geben Sie uns Ihr Feedback, indem Sie die Schaltflächen „Daumen hoch“ oder „Daumen runter“ für die jeweilige Antwort verwenden. Dieses Feedback hilft uns, dieses Feature zu verbessern.
Verzögerung bei Erkennung neuer Datenbanken, Schemas und Tabellen: Es kann bis zu 3-4 Stunden dauern, bis Snowflake Copilot neu erstellte Datenbanken, Schemas und Tabellen erkennt.
Begrenzte Anzahl von Tabellen und Spalten wird berücksichtigt: Um eine Antwort zu generieren, sucht Snowflake Copilot zunächst nach Tabellen und Spalten, die für Ihre Anfrage relevant sind. Die Suchergebnisse werden dann nach Relevanz geordnet und nur die Top 10 Tabellen und Top 10 Spalten aus jeder dieser Tabellen in den Ergebnissen werden beim Generieren einer Antwort berücksichtigt.
Snowflake Copilot verwenden¶
Snowflake Copilot ist sofort einsatzbereit und erfordert keine weiteren Einstellungen. Beachten Sie die folgenden Punkte, wenn Sie Snowflake Copilot verwenden:
Jede Chat-Sitzung mit Snowflake Copilot ist mit einem bestimmten Arbeitsblatt oder Notebook verbunden. Das Öffnen eines neuen Arbeitsblatts oder Notebooks öffnet eine neue Chatsitzung.
Sie müssen während Ihrer Sitzung eine Datenbank und ein Schema verwenden, um Snowflake Copilot nutzen zu können. Copilot verwendet sie, um relevante Antworten zu generieren.
Snowflake Copilot verwendet die Namen Ihrer Datenbanken, Schemas, Tabellen und Spalten sowie die Datentypen Ihrer Spalten, um festzustellen, welche Daten für die Abfrage zur Verfügung stehen.
Wenn Snowflake Copilot Ihre Frage auf der Grundlage der ausgewählten Datenbank und des ausgewählten Schemas nicht beantworten kann, werden ggf. andere Möglichkeiten zur Beantwortung hinzugezogen, z. B. die Snowflake-Dokumentation oder allgemeines SQL-Wissen. Wenn Sie eine unerwartete Antwort erhalten, können Sie mit den Daumen-hoch- und Daumen-runter-Schaltflächen ein Feedback abgeben.
Wenn Sie sich in Ihrer Frage auf einen Tabellennamen oder einen Spaltennamen beziehen müssen, stellen Sie dem Namen das Zeichen
@
voran. Die Bezugnahme auf bestimmte Tabellen und Spalten kann Snowflake Copilot helfen, genauere Antworten zu generieren.Verwenden Sie für eine optimale Leistung aussagekräftige Namen für Datenbanken, Schemas, Tabellen und Spalten, und stellen Sie sicher, dass den Spalten der passende Datentyp zugewiesen ist.
Führen Sie die folgenden Schritte aus, um mit Snowflake Copilot zu beginnen:
Erstellen Sie ein neues Arbeitsblatt, oder öffnen Sie ein vorhandenes Arbeitsblatt.
Wählen Sie in der unteren rechten Ecke des Arbeitsblatts die Option Ask Copilot aus. Das Snowflake Copilot-Panel öffnet sich auf der rechten Seite des Arbeitsblatts.
Stellen Sie sicher, dass eine Datenbank und ein Schema für das aktuelle Arbeitsblatt ausgewählt sind. Falls nicht, können Sie dies entweder mit dem Selektor am oberen Rand des Arbeitsblatts oder mit dem Selektor unter dem Snowflake Copilot-Meldungsfeld auswählen.
Geben Sie Ihre Frage in das Meldungsfeld ein, und wählen Sie dann das Senden-Symbol aus oder drücken Sie Enter, um die Frage zu übermitteln. Snowflake Copilot liefert eine Antwort im Panel.
Wenn die Antwort von Snowflake Copilot Anweisungen von SQL enthält:
Wählen Sie Run, um die Abfrage auszuführen. Dadurch wird die Abfrage zu Ihrem Arbeitsblatt hinzugefügt und ausgeführt.
Wählen Sie Add aus, um die Abfrage zu bearbeiten, bevor Sie sie ausführen. Dadurch wird die Abfrage zu Ihrem Arbeitsblatt hinzugefügt.
Benutzerdefinierte Anweisungen hinzufügen¶
Snowflake Copilot akzeptiert benutzerdefinierte Anweisungen, mit denen Sie die Reaktion des Systems anpassen können. Bei Aktivierung werden diese Anweisungen verwendet, um den Prompt zu verbessern, der an das Modell hinter Snowflake Copilot gesendet wird, und sie werden von Copilot beim Generieren neuer Antworten berücksichtigt. Die benutzerdefinierten Anweisungen können Anweisungen für einen bestimmten Tonfall oder eine bestimmte Art zu antworten, Präferenzen für das Schreiben von SQL oder zusätzliche Informationen zu den zu berücksichtigenden Daten enthalten.
Beachten Sie Folgendes, wenn Sie benutzerdefinierte Anweisungen hinzufügen:
Es gibt ein Limit von 2.000 Zeichen für benutzerdefinierte Anweisungen.
Snowflake empfiehlt, benutzerdefinierte Anweisungen in einfachem Englisch zu formulieren.
Die Anweisungen sind spezifisch für den Benutzer, der sie eingegeben hat, und werden für alle seine Konversationen mit Snowflake Copilot verwendet.
Folgen Sie diesen Schritten, um benutzerdefinierte Anweisungen für Snowflake Copilot hinzuzufügen:
Erstellen Sie ein neues Arbeitsblatt, oder öffnen Sie ein vorhandenes Arbeitsblatt.
Wählen Sie in der unteren rechten Ecke des Arbeitsblatts die Option Ask Copilot aus. Das Snowflake Copilot-Panel öffnet sich auf der rechten Seite des Arbeitsblatts.
Wählen Sie am oberen Rand des Snowflake Copilot-Panels das Menü Copilot aus.
Wählen Sie im Dropdown-Menü die Option Custom instructions aus.
Um das Textfeld für benutzerdefinierte Anweisungen zu aktivieren, wählen Sie unten links im Fenster für benutzerdefinierte Anweisungen den Umschalter Enable for new chats aus.
Geben Sie Ihre Anweisungen in einfachem Klartext-Englisch ein.
Wählen Sie Save, wenn Sie fertig sind.
Setzen Sie Ihre Konversation mit Snowflake Copilot im Copilot-Panel fort.
Beispiele¶
In den folgenden Abschnitten finden Sie Beispiele, in denen Ihnen Folgendes gezeigt wird:
Diese Beispiele verwenden einen Beispiel-Datenset aus Snowflake Marketplace.
Voraussetzungen¶
Die Beispiele in diesem Abschnitt verwenden das Cybersyn Github Archive-Datenset aus Snowflake Marketplace:
Installieren Sie das Cybersyn Github Archive-Datenset in Ihrem Konto.
Erstellen Sie ein neues Arbeitsblatt, oder öffnen Sie ein vorhandenes Arbeitsblatt.
Wählen Sie in der unteren rechten Ecke des Arbeitsblatts die Option Ask Copilot aus.
Wählen Sie die Cybersyn Github Archive-Datenbank und das Schema aus.
Daten untersuchen¶
Das folgende Beispiel zeigt, wie Sie Snowflake Copilot verwenden, um ein Datenset zu untersuchen.
Geben Sie eine offene Frage ein, z. B. „What types of questions can I ask about this dataset?“ (Welche Typen von Fragen kann ich zu diesem Datenset stellen?).
Drücken Sie Enter, und Snowflake Copilot generiert eine Antwort auf der Grundlage von Datenbank und Schema, die Sie ausgewählt haben.
Stellen Sie weitere klärende Fragen zu den Daten, z. B. „What type of events can I filter by?“ (Nach welchem Typ von Ereignissen kann ich filtern?) oder „Are any of these tables joinable?“ (Sind einige dieser Tabellen verknüpfbar?).
Wenn die Antwort von Snowflake Copilot eine SQL-Anweisung enthält, können Sie Add wählen, um die Abfrage an das Ende Ihres Arbeitsblatts anzufügen und sie vor der Ausführung zu bearbeiten, oder Sie wählen Run aus, um die Abfrage hinzuzufügen und sie automatisch auszuführen.
SQL-Anweisung erstellen ausführen¶
Das folgende Beispiel zeigt, wie Sie Snowflake Copilot verwenden, um SQL-Abfragen zu generieren.
Geben Sie die Frage „How many stars were given in the past year?“ (Wie viele Sterne wurden im vergangenen Jahr vergeben?) in das Snowflake Copilot-Meldungsfeld ein, und drücken Sie Enter. Snowflake Copilot antwortet mit einer SQL-Abfrage, die Ihre Frage beantwortet.
Wählen Sie Add aus, um die Abfrage an das Ende Ihres Arbeitsblatts anzuhängen.
Geben Sie die Frage „Show me this for each month“ (Zeige mir das für jeden Monat) ein, und drücken Sie Enter. Snowflake Copilot antwortet mit einer SQL-Abfrage, die Ihre Frage beantwortet.
Wählen Sie Run aus, um die Abfrage zu Ihrem Arbeitsblatt hinzuzufügen und auszuführen.
Snowflake Copilot hat keinen Zugriff auf die Daten in Ihren Tabellen. Wenn Sie möchten, dass Snowflake Copilot eine SQL-Anweisung erstellt, die nach einem bestimmten Wert einer Spalte filtert, müssen Sie den Wert angeben, nach dem gefiltert werden soll.
Geben Sie die Frage „what are all the repo names that start with ‚snowflake‘?“ (Wie lauten alle Repo-Namen, die mit ‚snowflake‘ beginnen?) in das Meldungsfeld ein, und drücken Sie Enter. Snowflake Copilot antwortet mit einer SQL-Abfrage, die den von Ihnen angegebenen Filterwert verwendet.
Wählen Sie Add aus, um die Abfrage vor der Ausführung zu bearbeiten, oder wählen Sie Run aus, um die Abfrage zu Ihrem Arbeitsblatt hinzuzufügen und auszuführen.
SQL-Anweisung erklären¶
Das folgende Beispiel zeigt, wie Sie Snowflake Copilot verwenden können, um eine SQL-Anweisung zu erklären, an der Sie gerade arbeiten.
Geben Sie in das Snowflake Copilot-Meldungsfeld die folgende Frage und SQL-Abfrage ein:
Can you explain this query to me step-by-step?
SELECT github_repos.repo_name, COUNT(github_stars.repo_id) AS total_stars FROM github_repos JOIN github_stars ON github_repos.repo_id = github_stars.repo_id GROUP BY github_repos.repo_name ORDER BY total_stars DESC;
Snowflake Copilot antwortet mit einer schrittweisen Erklärung der bereitgestellten Abfrage.
Fragen zu SQL und Snowflake stellen¶
Snowflake Copilot hat Zugriff auf die Snowflake-Dokumentation und kann allgemeine Fragen zu Snowflake oder SQL beantworten. Hier sind einige Beispielfragen, die Sie ausprobieren können:
How do I write a SQL join? (Wie schreibe ich eine SQL-Verknüpfung?)
What is Snowpark Cortex? (Was ist Snowpark Cortex?)
How do I ingest data into Snowflake? (Wie nehme ich Daten in Snowflake auf?)
Tipps zur Verwendung von Snowflake Copilot¶
Das Erstellen von kuratierten Ansichten kann die Leistung von Snowflake Copilot erheblich verbessern.
Beachten Sie die folgenden Richtlinien bei der Erstellung der Ansichten:
Richtlinie
Beispiel
Verwenden Sie beschreibende und leicht verständliche Namen für die Ansichten und deren Spalten.
Verwenden Sie bei der Auswahl der Namen die Geschäfts- und Datentaxonomie, die Sie wahrscheinlich bei Snowflake Copilot verwenden werden.
Wenn eine Spalte das Datum für einen bestimmten Verkauf enthält, nennen Sie die Spalte
sale_date
.Stellen Sie sicher, dass alle Spalten den passenden Datentyp haben.
Wenn eine Spalte das Datum eines bestimmten Verkaufs enthält, stellen Sie sicher, dass sie vom Typ DATE ist.
Definieren Sie häufig verwendete Metriken/Ausdrücke als neue Spalten.
Wenn der Gewinn als
revenue - cost
definiert ist, erstellen Sie eine Spalte(revenue - cost) AS profit
in Ihrer Ansicht.Wenn möglich, erfassen Sie allgemeine und komplexe Verknüpfungen (Joins).
Wenn zwei Tabellen
products
undsales
oft verknüpft werden, stellen Sie sicher, dass Ihre Ansicht diese Tabellen verknüpft.Wenn es mehrere Join-Pfade zwischen üblicherweise verknüpften Tabellen gibt, verwenden Sie den bevorzugten Join-Pfad in Ihrer Ansicht.
Seien Sie so konkret wie möglich, wenn Sie eine Frage stellen. Stellen Sie sich vor, dass Sie einem Menschen eine Frage stellen, der nur begrenzte Kenntnisse über Ihre Daten hat.
Wenn Sie nach bestimmten Werten innerhalb von Spalten filtern möchten, müssen Sie Snowflake Copilot möglicherweise aktiv leiten. Sie können Snowflake Copilot um eine Abfrage bitten, die alle diskreten Werte in einer Spalte zurückgibt.
Kosten¶
Die Nutzung von Snowflake Copilot ist derzeit kostenlos. Details zu Preisen und Abrechnung sind geplant, aber Sie werden benachrichtigt, bevor Gebühren für dieses Feature anfallen.
Rechtliche Hinweise¶
Snowflake Copilot wird von Technologien des maschinellen Lernens unterstützt, darunter Code Llama und Llama Guard von Meta. Die Foundation Models Code LLama und Llama Guard sind lizenziert unter LLaMA 2 Community License und Copyright (c) Meta Platforms, Inc. Alle Rechte vorbehalten. Die Nutzung dieses Features unterliegt der Acceptable Use Policy von Meta.
Weitere Informationen dazu finden Sie unter KI und ML in Snowflake.
Die Datenklassifizierung der Eingaben und Ausgaben ist in der folgenden Tabelle aufgeführt.
Klassifizierung von Eingabedaten |
Klassifizierung von Ausgabedaten |
Benennung |
---|---|---|
Usage Data |
Usage Data |
Covered AI Features [1] |
Weitere Informationen dazu finden Sie unter KI und ML in Snowflake.