Gestion des paquets et de l’environnement d’exécution¶
Snowflake Notebooks s’exécute dans un environnement de conteneur pré-construit optimisé pour le développement évolutif d’AI et de ML et alimenté par Snowflake Container Runtime.
Versions de Python¶
Snowflake Notebooks prend en charge Python 3.10 à 3.12. Lors de la création d’un service de notebook, sélectionnez la version de Python qui correspond le mieux aux exigences de votre charge de travail.
Paquets préinstallés¶
Snowflake Container Runtime comprend environ 100 paquets et bibliothèques qui prennent en charge un large éventail de tâches de développement de ML à l’intérieur de Snowflake. Ces paquets s’exécutent nativement sur l’infrastructure CPU et GPU gérée par Snowflake.
Pour voir les paquets préinstallés, exécutez pip freeze dans une cellule Python ou dans le terminal du notebook.
Installation de packs supplémentaires¶
Snowflake prend en charge l’installation de paquets à partir de plusieurs sources.
À partir de dépôts externes¶
Après avoir configuré les intégrations d’accès externes (EAIs) pour un accès sécurisé aux dépôts, vous pouvez installer des paquets directement à partir de sources externes telles que PyPI. Les utilisateurs ont accès à un écosystème complet de paquets au-delà de l’environnement d’exécution préinstallé, ce qui garantit une connexion sécurisée aux dépôts externes.
Vous pouvez exécuter pip install dans une cellule Python ou dans le terminal du notebook.
Pour plus d’informations, voir Configurer l’accès externe pour Snowflake Notebooks.
De requirements.txt¶
Vous pouvez spécifier et installer les versions de paquets requises dans un fichier requirements.txt pour assurer une configuration cohérente de l’environnement. Installez-les en utilisant la commande suivante :
!pip install -r requirements.txt
Note
Si la version du paquet spécifiée dans requirements.txt est en conflit avec les versions prises en charge des paquets préinstallés, l’environnement Python peut ne plus fonctionner. Validez la compatibilité avant l’installation.
À partir de fichiers Workspaces¶
Vous pouvez télécharger ou créer des fichiers .whl ou .py, les charger sur votre espace de travail, et les installer ou les importer.
Fichiers wheel (.whl) : Chargez le fichier
.whlet installez-le :!pip install file_name.whl
Si le paquet contient des dépendances qui ne sont pas encore installées, chargez l’arborescence complète des dépendances (soit directement dans Workspaces, soit dans une zone de préparation). Vous pouvez également joindre une EAI qui permet d’accéder à un dépôt où le paquet peut être téléchargé (par exemple, PyPI).
Fichiers Python (.py) : Les modules stockés dans votre espace de travail peuvent être importés directement pour partager des utilitaires et des fonctions entre des notebooks. Par exemple :
from my_utils import my_func
Depuis une zone de préparation Snowflake¶
Les zones de préparation fournissent un déploiement sécurisé et contrôlé des paquets en tirant parti du stockage de données Snowflake existant et des contrôles de gouvernance pour les fichiers de paquets. Utilisez la session Snowpark pour récupérer les fichiers de paquets depuis une zone de préparation Snowflake vers l’environnement de conteneur afin de les importer et de les utiliser. Par exemple :
from snowflake.snowpark.context import get_active_session
import sys
session = get_active_session()
session.file.get("@db.schema.stage_name/math_tools.py", "/tmp")
sys.path.append("/tmp")
import math_tools
math_tools.add_one(3)
Gestion de l’environnement d’exécution¶
Épinglage de l’environnement d’exécution¶
Tous les services de notebooks sont liés à l’environnement d’exécution sélectionné lors de la création, sauf si vous le changez explicitement en modifiant le service. Par exemple, un service de notebook créé sur Runtime 2.0 ne sera pas automatiquement mis à niveau lorsque de nouvelles versions de l’environnement d’exécution seront publiées.
Analyse des vulnérabilités d’exécution¶
Snowflake analyse quotidiennement les images de l’environnement d’exécution pour détecter les vulnérabilités en matière de sécurité. Les vulnérabilités et expositions communes (CVEs) élevées ou critiques sont traitées en publiant de nouvelles versions de l’environnement d’exécution dans les 30 jours suivant la détection.
Les services de notebooks existants peuvent continuer à utiliser des environnements d’exécution avec des CVEs détectées. Cependant, les environnements d’exécution avec des CVEs connues ne peuvent pas être sélectionnés lors de la création de nouveaux services de notebooks.