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
Copy

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 .whl et installez-le :

    !pip install file_name.whl
    
    Copy

    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
    
    Copy

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)
Copy

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.