管理包和运行时

Snowflake 笔记本在针对可扩展 AI/ML 开发优化的预构建容器环境中运行,并由 Snowflake 容器运行时提供支持。

Python 版本

Snowflake 笔记本支持 Python 3.10 至 3.12。创建笔记本服务时,请选择最适合您工作负载要求的 Python 版本。

预安装的包

Snowflake Container Runtime 包含大约 100 个包和库,支持在 Snowflake 内部执行广泛的 ML 开发任务。这些包在 Snowflake 管理的 CPU 和 GPU 基础设施上原生运行。

要查看预安装的包,请在 Python 单元格或笔记本终端中运行 pip freeze

安装附加包

Snowflake 支持从多个来源安装包。

来自外部存储库

在配置了用于安全访问存储库的外部访问集成 (EAIs) 后,您可以直接从外部源(例如 PyPI)安装包。除了预安装的运行时外,用户还可以访问全面的包生态系统,从而确保与外部存储库的安全连接。

您可以在 Python 单元格或笔记本终端中运行 pip install

有关更多信息,请参阅 为 Snowflake Notebooks 设置外部访问

requirements.txt 安装

您可以在 requirements.txt 文件中指定并安装所需的包版本,以确保一致的环境设置。使用以下命令安装它们:

!pip install -r requirements.txt
Copy

备注

如果 requirements.txt 中指定的包版本与受支持的 预安装包 版本冲突,Python 环境可能会崩溃。安装前请验证兼容性。

来自工作区文件

您可以下载或构建 .whl.py 文件,将它们上传到您的工作区,并进行安装或导入。

  • Wheel files (.whl): Upload the .whl file and install it:

    !pip install file_name.whl
    
    Copy

    如果包包含尚未安装的依赖关系,请上传完整的依赖关系树(直接上传到工作区或暂存区)。或者,附加一个 EAI,允许访问可以下载包的存储库(例如 PyPI)。

  • Python files (.py): Modules stored in your workspace can be imported directly for sharing utilities and functions across notebooks. For example:

    from my_utils import my_func
    
    Copy

来自 Snowflake 暂存区

暂存区利用现有的 Snowflake 数据存储和包文件的治理控制,提供安全且受监管的包部署。使用 Snowpark 会话将包文件从 Snowflake 暂存区检索到容器环境中,以便导入和使用。例如:

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

运行时管理

运行时固定

所有笔记本服务都固定在创建时选择的运行时,除非您通过编辑服务明确更改它。例如,在 Runtime 2.0 上创建的笔记本服务在发布新的运行时版本时不会自动升级。

运行时漏洞扫描

Snowflake 每天都会扫描运行时镜像以查找安全漏洞。检测到高危或严重的常见漏洞与披露 (CVEs) 后,会在 30 天内通过发布新的运行时版本来解决。

现有的笔记本服务可以继续使用检测到 CVEs 的运行时。但是,在创建新的笔记本服务时,无法选择已知存在 CVEs 的运行时。

语言: 中文