Utilisation de Snowflake Copilot¶
Cette rubrique présente ce qu’est Snowflake Copilot et comment l’utiliser dans votre workflow d’analyse de données. Les exemples de cette rubrique utilisent des feuilles de calcul, mais les mêmes étapes s’appliquent à l’utilisation de Snowflake Copilot dans les Snowflake Notebooks.
Note
La prise en charge de cette fonctionnalité est disponible dans les régions suivantes :
AWS us-east-1
AWS us-west-2
AWS eu-central-1
Azure eastus2
Introduction¶
Snowflake Copilot est un assistant alimenté par LLM qui simplifie l’analyse des données tout en maintenant une gouvernance des données solide et qui s’intègre de manière transparente dans votre workflow Snowflake existant.
Snowflake Copilot est alimenté par un modèle mis au point par Snowflake qui fonctionne en toute sécurité à l’intérieur de Snowflake Cortex, le service intelligent et entièrement géré de l’AI de Snowflake. Cette approche signifie que les données et les métadonnées de votre entreprise restent toujours en sécurité à l’intérieur de Snowflake. Snowflake Copilot respecte également pleinement RBAC et fournit des suggestions basées uniquement sur les ensembles de données auxquels vous pouvez accéder.
Snowflake Copilot utilise des requêtes en langage naturel pour permettre l’analyse des données du début à la fin. Pour commencer, Copilot peut aider à répondre à des questions sur la façon dont vos données sont structurées et vous guider dans l’exploration d’un nouvel ensemble de données. Vous pouvez ensuite demander à Copilot de générer et d’affiner des requêtes SQL afin d’extraire des informations utiles de vos données. Snowflake Copilot peut même vous aider à améliorer votre requête SQL en recommandant des optimisations ou en suggérant des solutions à d’éventuels problèmes.
Snowflake Copilot peut également vous aider à améliorer votre maîtrise de SQL ou votre compréhension des fonctions de Snowflake. Posez des questions sur la manière d’effectuer une tâche dans Snowflake et Copilot vous renverra des réponses basées sur la documentation de Snowflake.
Vous pouvez interagir avec Copilot dans les feuilles de calcul SQL et avec des Snowflake Notebooks dans Snowsight. En utilisant le panneau Copilot, vous pouvez saisir une question et Snowflake Copilot y répondra. Vous pouvez exécuter des requêtes SQL suggérées dans votre feuille de calcul ou votre notebook.
Exigences en matière de contrôle d’accès¶
Le rôle de base de données COPILOT_USER dans la base de données SNOWFLAKE comprend les privilèges qui permettent aux utilisateurs d’utiliser les fonctions Snowflake Copilot. Par défaut, le rôle COPILOT_USER est accordé au rôle PUBLIC. Le rôle PUBLIC est automatiquement accordé à tous les utilisateurs et rôles, de façon à permettre à tous les utilisateurs de votre compte d’utiliser les fonctions Snowflake Copilot.
Les utilisateurs disposant de ce privilège verront Ask Copilot dans le coin inférieur droit de leur feuille de calcul ou de leur Notebook et peuvent utiliser le panneau pour interagir avec Snowflake Copilot.
Limitation de l’accès à Copilot¶
Si vous ne souhaitez pas que tous les utilisateurs disposent de ce privilège, vous pouvez révoquer l’accès au rôle PUBLIC et accorder l’accès à des rôles spécifiques.
Pour révoquer le rôle de base de données COPILOT_USER à partir du rôle PUBLIC, exécutez la commande suivante à l’aide du rôle ACCOUNTADMIN :
USE ROLE ACCOUNTADMIN;
REVOKE DATABASE ROLE SNOWFLAKE.COPILOT_USER
FROM ROLE PUBLIC;
Un utilisateur sans ce rôle ne verra pas Ask Copilot dans le coin inférieur droit de sa feuille de calcul ou de son Notebook. Vous pouvez changer votre rôle actif dans le menu de navigation sur la gauche pour passer à un rôle ayant accès à Copilot pour voir à nouveau le menu Ask Copilot. Pour plus de détails, voir Changer votre rôle actif.
Vous pouvez ensuite accorder un accès sélectif à des rôles spécifiques. Le rôle de base de données SNOWFLAKE.COPILOT_USER ne peut pas être accordé directement à un utilisateur. Pour plus d’informations, voir À l’aide des rôles de base de données SNOWFLAKE. Un utilisateur ayant le rôle ACCOUNTADMIN peut attribuer ce rôle à un rôle personnalisé afin de permettre aux utilisateurs d’accéder aux fonctions Snowflake Copilot. Dans l’exemple suivant, vous avez le rôle ACCOUNTADMIN et accordez à l’utilisateur some_user
le rôle de base de données COPILOT_USER via le rôle de compte copilot_access_role
, que vous créez à cet effet.
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;
Vous pouvez également accorder l’accès à Snowflake Copilot par le biais de rôles existants utilisés par des groupes d’utilisateurs spécifiques. (Voir Rôles utilisateur.) Par exemple, si vous avez créé un rôle analyst
qui est utilisé comme rôle par défaut par les analystes de votre organisation, vous pouvez facilement accorder à ces utilisateurs l’accès à Snowflake Copilot avec une seule instruction GRANT.
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE analyst;
Cas d’utilisation pris en charge¶
Explorez vos données en posant des questions ouvertes pour connaître la structure et les nuances d’un nouvel ensemble de données.
Générez des requêtes SQL avec des questions en anglais simple.
Expérimentez la requête SQL proposée par Snowflake Copilot en cliquant sur un bouton. Vous pouvez également modifier la requête avant de l’exécuter.
Construisez des requêtes complexes par le biais d’une conversation avec Snowflake Copilot en posant des questions de suivi pour affiner la requête SQL suggérée et approfondir l’analyse.
Apprenez à connaître Snowflake en posant des questions sur les concepts, les capacités et les fonctions de Snowflake.
Améliorez vos requêtes en demandant à Snowflake Copilot de vous aider à évaluer l’efficacité de la requête, à trouver des optimisations ou à expliquer ce que fait la requête.
Fournissez un retour d’informations (pouce vers le haut ou pouce vers le bas) sur chaque réponse de Snowflake Copilot, qui sera utilisé pour améliorer le produit.
Ajoutez des instructions personnalisées telles qu’un ensemble de préférences ou de connaissances professionnelles spécifiques à prendre en compte par Snowflake Copilot lors de la génération de réponses.
Limitations¶
Prise en charge linguistique limitée : aujourd’hui, seuls l’anglais et SQL sont pris en charge.
Pas d’accès à vos données : Snowflake Copilot n’a pas accès aux données contenues dans vos tables. Si vous souhaitez filtrer sur une valeur particulière d’une colonne, vous devez fournir cette valeur. Par exemple, si vous demandez à Snowflake Copilot de renvoyer toutes les lignes dont la valeur de la colonne A est égale à « X », vous devez fournir la valeur « X » dans votre requête. Voir l’exemple Construire et exécuter une instruction SQL.
Les requêtes entre bases de données ou schémas ne sont pas prises en charge : vous pouvez contourner ce problème en créant et en utilisant des vues qui joignent des données provenant de schémas et de bases de données différents.
Réponse différée : Snowflake Copilot peut prendre une seconde pour compléter une réponse, en fonction de la longueur de la réponse fournie.
Les suggestions SQL ne fonctionnent pas toujours : Snowflake Copilot peut parfois suggérer des requêtes qui contiennent une syntaxe SQL non valide ou des tables ou des colonnes inexistantes. Veuillez nous faire part de vos commentaires en utilisant les boutons « pouce vers le haut » ou « pouce vers le bas » correspondant à la réponse en question. Ce retour d’informations nous aide à améliorer cette fonction.
Délai de détection des nouvelles bases de données, des nouveaux schémas et des nouvelles tables : il peut s’écouler jusqu’à 3-4 heures avant que Snowflake Copilot ne reconnaisse les bases de données, schémas et tables nouvellement créés.
Nombre limité de tables et de colonnes prises en compte : pour générer une réponse, Snowflake Copilot recherche d’abord les tables et les colonnes les plus pertinentes pour votre requête. Les résultats de la recherche sont ensuite classés par ordre de pertinence et seuls les 10 premières tables et les 10 premières colonnes de chacune de ces tables dans les résultats sont pris en compte lors de la génération d’une réponse.
Utilisation de Snowflake Copilot¶
Snowflake Copilot est prêt à l’emploi, sans installation supplémentaire. N’oubliez pas les points suivants lorsque vous utilisez Snowflake Copilot :
Chaque session de chat avec Snowflake Copilot est associée à une feuille de calcul ou à un notebook particulier. L’ouverture d’une nouvelle feuille de calcul ou d’un nouveau notebook ouvre une nouvelle session de chat.
Vous devez avoir une base de données et un schéma en cours d’utilisation pendant votre session pour pouvoir utiliser Snowflake Copilot. Copilot les utilise pour générer des réponses pertinentes.
Snowflake Copilot utilise les noms de vos bases de données, schémas, tables et colonnes ainsi que les types de données de vos colonnes pour déterminer les données disponibles pour la requête.
Si Snowflake Copilot ne peut pas répondre à votre question en se basant sur la base de données et le schéma sélectionnés, il peut essayer d’utiliser d’autres moyens de réponse, tels que la documentation de Snowflake ou les connaissances SQL générales. Si vous obtenez une réponse inattendue, vous pouvez laisser un commentaire à l’aide des boutons « pouce vers le haut » et « pouce vers le bas ».
Si vous devez faire référence à un nom de table ou de colonne dans votre question, préfixez le nom par
@
. La référence à des tables et des colonnes spécifiques peut aider Snowflake Copilot à fournir des réponses plus précises.Pour des performances optimales, utilisez des noms significatifs pour les bases de données, les schémas, les tables et les colonnes et veillez à ce que le type de données approprié soit attribué aux colonnes.
Suivez les étapes suivantes pour commencer à utiliser Snowflake Copilot :
Créez une nouvelle feuille de calcul ou ouvrez une feuille de calcul existante.
Sélectionnez Ask Copilot dans le coin inférieur droit de la feuille de calcul. Le panneau Snowflake Copilot s’ouvre à droite de la feuille de calcul.
Assurez-vous qu’une base de données et un schéma sont sélectionnés pour la feuille de calcul actuelle. Si ce n’est pas le cas, vous pouvez les sélectionner à l’aide du sélecteur situé en haut de la feuille de calcul ou du sélecteur situé sous la boîte de message Snowflake Copilot.
Dans la boîte de message, tapez votre question, puis sélectionnez l’icône d’envoi ou appuyez sur Entrer pour la soumettre. Snowflake Copilot fournit une réponse dans le panneau.
Si la réponse de Snowflake Copilot comprend des instructions SQL :
sélectionnez Run pour exécuter la requête. Cette opération ajoute la requête à votre feuille de calcul et l’exécute.
Sélectionnez Add pour modifier la requête avant de l’exécuter. Cette opération permet d’ajouter la requête à votre feuille de calcul.
Ajouter des instructions personnalisées¶
Snowflake Copilot accepte des instructions personnalisées qui vous permettent d’adapter la façon dont il réagit. Lorsqu’elles sont activées, ces instructions sont utilisées pour améliorer l’invite envoyée au modèle derrière Snowflake Copilot et sont prises en compte par Copilot lorsqu’il génère de nouvelles réponses. Les instructions personnalisées peuvent inclure des consignes pour utiliser un ton spécifique ou répondre d’une certaine manière, des préférences sur la façon d’écrire le SQL ou des informations supplémentaires sur les données à prendre en compte.
N’oubliez pas les points suivants lorsque vous ajoutez des instructions personnalisées :
Les instructions personnalisées sont limitées à 2 000 caractères.
Snowflake recommande de spécifier les instructions personnalisées en anglais clair.
Les instructions sont spécifiques à l’utilisateur qui les a saisies et sont utilisées pour toutes ses conversations avec Snowflake Copilot.
Procédez comme suit pour ajouter des instructions personnalisées à Snowflake Copilot :
Créez une nouvelle feuille de calcul ou ouvrez une feuille de calcul existante.
Sélectionnez Ask Copilot dans le coin inférieur droit de la feuille de calcul. Le panneau Snowflake Copilot s’ouvre à droite de la feuille de calcul.
Sélectionnez le menu Copilot en haut du panneau Snowflake Copilot.
Sélectionnez Custom instructions dans le menu déroulant.
Pour activer la zone de texte des instructions personnalisées, sélectionnez l’option Enable for new chats en bas à gauche de la fenêtre des instructions personnalisées.
Saisissez vos instructions en anglais clair.
Sélectionnez Save lorsque vous avez terminé.
Poursuivez votre conversation avec Snowflake Copilot dans le panneau Copilote.
Exemples¶
Les sections suivantes fournissent des exemples qui démontrent comment :
Ces exemples utilisent un ensemble de données d’échantillon provenant de Snowflake Marketplace.
Conditions préalables¶
Les exemples de cette section utilisent l’ensemble de données Cybersyn Github Archive de Snowflake Marketplace :
Installez l’ensemble de données Cybersyn Github Archive dans votre compte.
Créez une nouvelle feuille de calcul ou ouvrez une feuille de calcul existante.
Sélectionnez Ask Copilot dans le coin inférieur droit de la feuille de calcul.
Sélectionnez la base de données et le schéma de Cybersyn Github Archive.
Explorer vos données¶
L’exemple suivant montre comment utiliser Snowflake Copilot pour explorer un ensemble de données.
Saisissez une question ouverte telle que « Quels types de questions puis-je poser sur cet ensemble de données ? »
Appuyez sur Entrée et Snowflake Copilot génère une réponse basée sur la base de données et le schéma que vous avez sélectionnés.
Posez d’autres questions de clarification sur les données, telles que « Quel type d’événements puis-je filtrer ? » ou « L’une de ces tables peut-elle être jointe ? »
Si la réponse de Snowflake Copilot comprend une instruction SQL, vous pouvez sélectionner Add pour ajouter la requête à la fin de votre feuille de calcul et la modifier avant de l’exécuter ou sélectionner Run pour ajouter la requête et l’exécuter automatiquement.
Construire et exécuter une instruction SQL¶
Les exemples suivants montrent comment utiliser Snowflake Copilot pour générer des requêtes SQL.
Saisissez la question « Combien d’étoiles ont été données l’année dernière ? » dans la boîte de message Snowflake Copilot et appuyez sur Entrée. Snowflake Copilot répond par une requête SQL qui répond à votre question.
Sélectionnez Add pour ajouter la requête à la fin de votre feuille de calcul.
Saisissez la question « Montrez-moi ceci pour chaque mois » et appuyez sur Entrée. Snowflake Copilot répond par une requête SQL qui répond à votre question.
Sélectionnez Run pour ajouter la requête à votre feuille de calcul et l’exécuter.
Snowflake Copilot n’a pas accès aux données contenues dans vos tables. Si vous souhaitez que Snowflake Copilot construise une instruction SQL qui filtre sur la base d’une valeur spécifique d’une colonne, vous devez fournir la valeur sur laquelle filtrer.
Saisissez la question « Quels sont tous les noms de repo qui commencent par “Snowflake” ? » dans la boîte de message et appuyez sur Entrée. Snowflake Copilot répond par une requête SQL qui utilise la valeur de filtre que vous avez fournie.
Sélectionnez Add pour modifier la requête avant de l’exécuter ou sélectionnez Run pour ajouter la requête à votre feuille de calcul et l’exécuter.
Exécuter une instruction SQL¶
L’exemple suivant montre comment utiliser Snowflake Copilot pour expliquer une instruction SQL sur laquelle vous travaillez.
Dans la boîte de message Snowflake Copilot tapez la question suivante et la requête SQL :
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 répond en expliquant étape par étape la requête fournie.
Poser des questions sur SQL et Snowflake¶
Snowflake Copilot a accès à la documentation de Snowflake et peut répondre aux questions générales sur Snowflake ou SQL. Voici quelques exemples de questions que vous pouvez essayer :
How do I write a SQL join?
What is Snowpark Cortex?
How do I ingest data into Snowflake?
Conseils d’utilisation Snowflake Copilot¶
La création de vues sélectionnées peut améliorer considérablement les performances de Snowflake Copilot.
Suivez les lignes directrices suivantes lors de la création des vues :
Directives
Exemple
Utilisez des noms descriptifs et faciles à comprendre pour les vues et leurs colonnes.
Lorsque vous choisissez les noms, utilisez la taxonomie d’entreprise et de données que vous êtes susceptible d’utiliser lors de l’utilisation de Snowflake Copilot.
Si une colonne contient la date d’une vente spécifique, nommez-la
sale_date
.Assurez-vous que toutes les colonnes ont le type de données approprié.
Si une colonne contient la date d’une vente spécifique, assurez-vous qu’elle a le type DATE.
Définissez les métriques/expressions couramment utilisées comme de nouvelles colonnes.
Si le bénéfice est défini comme
revenue - cost
, créez une colonne(revenue - cost) AS profit
dans votre vue.Dans la mesure du possible, saisissez les jointures communes et complexes.
Si deux tables
products
etsales
sont souvent jointes, assurez-vous que votre vue joint ces tables.S’il existe plusieurs chemins de jointure entre des tables communément jointes, utilisez le chemin de jointure préféré dans votre vue.
Soyez aussi précis que possible lorsque vous posez une question. Imaginez que vous posiez une question à un humain qui peut avoir une connaissance limitée de vos données.
Si vous souhaitez filtrer sur des valeurs spécifiques à l’intérieur des colonnes, vous devrez peut-être utiliser le guide actif Snowflake Copilot. Vous pouvez demander à Snowflake Copilot une requête qui renvoie toutes les valeurs distinctes d’une colonne.
Coûts¶
Snowflake Copilot est actuellement gratuit. Des informations sur les tarifs et la facturation sont prévues. Vous serez averti avant que des frais ne soient appliqués pour cette fonctionnalité.
Avis juridiques¶
Snowflake Copilot est alimenté par une technologie de machine learning, notamment le Code Llama et le Llama Guard de Meta. Les modèles de fondation Code LLama et Llama Guard sont soumis à la licence communautaire LLaMA 2 et au copyright (c) Meta Platforms, Inc. Tous droits réservés. Votre utilisation de cette fonction est soumise à la politique d’utilisation acceptable de Meta.
Pour plus d’informations, reportez-vous à Snowflake AI et ML.
La classification des données d’entrées et de sorties est présentée dans la table suivante.
Classification des données d’entrée |
Classification des données de sortie |
Désignation |
---|---|---|
Usage Data |
Usage Data |
Covered AI Features [1] |
Pour plus d’informations, reportez-vous à Snowflake AI et ML.