You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Vertex AI托管Jupyter笔记本执行日志缺失及模块报错问题

问题解决指南

一、修复 ModuleNotFoundError: No module named 'bq_stats'

  • 先明确bq_stats的来源:
    • 若为公开PyPI包:在自定义任务的依赖配置中添加该包(比如创建requirements.txt写入bq_stats,提交任务时指定该文件),或在自定义任务执行的代码开头加入!pip install bq_stats。
    • 若为内部自定义包:需将包文件打包到自定义任务的镜像中,或上传至GCS存储桶,在任务启动时通过pip install gs://你的存储桶路径/bq_stats.tar.gz安装。

二、让自定义任务日志显示在Vertex AI任务日志中

你当前的日志配置代码仅在笔记本本地执行,不会作用于Vertex AI自定义任务的运行环境,这是核心问题。针对自定义任务的日志,有两种实用方案:

方案1:直接用标准输出/错误输出

Vertex AI自定义任务会自动捕获容器内的stdout和stderr并同步到Cloud Logging,无需额外配置日志客户端:

# 自定义任务代码中直接用print输出
print("这条内容会出现在任务日志里")

# 或用Python内置logging模块输出到stdout
import logging
logging.basicConfig(level=logging.INFO)
logging.info("这条日志也会同步到任务日志")

方案2:正确配置Cloud Logging客户端(需精细化日志管理时用)

若必须使用Cloud Logging客户端,要确保配置代码包含在自定义任务的执行代码中,而非仅在笔记本运行:

# 安装依赖(若自定义任务镜像未预装)
!pip install google-cloud-logging

import logging
from google.cloud import logging as gcp_logging
from google.cloud.logging.handlers import CloudLoggingHandler

# 初始化客户端
client = gcp_logging.Client()
handler = CloudLoggingHandler(client)

# 配置根日志器
root_logger = logging.getLogger()
root_logger.setLevel(logging.INFO)
root_logger.addHandler(handler)

# 可选:添加StreamHandler让日志同时输出到stdout,方便本地调试
stream_handler = logging.StreamHandler()
root_logger.addHandler(stream_handler)

# 测试日志
root_logger.info("自定义任务日志测试内容")

额外注意事项

  • 确认自定义任务使用的服务账号拥有Logs Writer权限:笔记本的服务账号和自定义任务的服务账号可能不同,需检查Vertex AI自定义任务配置里指定的账号是否具备roles/logging.logWriter角色。
  • 日志存在延迟:Cloud Logging同步可能有1-2分钟延迟,执行任务后不要立即刷新,稍等片刻再查看日志。

内容的提问来源于stack exchange,提问作者Pinky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 13:37:40