如何通过Python客户端调用Vertex AI用户托管Notebook执行?是否需用Pipeline?
首先明确:不需要先创建Pipeline,你可以直接通过两种方式用Python客户端调用运行你的Notebook逻辑,下面是具体步骤和对应服务:
方式一:将Notebook转为脚本,用Vertex AI CustomJob运行
这是最直接的方式,适合已经把核心逻辑整理好的场景:
导出并清理Notebook脚本
把你的.ipynb文件导出为Python脚本(.py),移除掉Notebook特有的交互代码(比如%matplotlib inline这类魔法命令、手动调试的print语句、单元格间的临时变量),确保脚本可以独立运行。用Python客户端创建CustomJob
依赖google-cloud-aiplatform库,编写代码提交自定义任务:from google.cloud import aiplatform # 初始化Vertex AI客户端 aiplatform.init(project="你的项目ID", location="你的区域(比如us-central1)") # 创建并运行CustomJob job = aiplatform.CustomJob( display_name="运行我的Notebook脚本", script_path="本地的脚本路径或者GCS上的脚本路径(比如gs://bucket/path/script.py)", container_uri="us-docker.pkg.dev/vertex-ai/training/python-cpu.310:latest", # 官方Python3.10镜像 machine_type="n1-standard-4", # 按需选择机器类型 ) job.run()这里用到的是Vertex AI Custom Training服务,它负责托管运行你的Python代码,支持CPU/GPU/TPU资源配置。
方式二:直接运行Notebook文件(保留.ipynb格式)
如果想保留Notebook的原始格式(比如包含markdown说明、可视化输出),可以用Vertex AI Workbench的Notebook Execution功能:
上传Notebook到GCS
把你的.ipynb文件上传到Google Cloud Storage的某个存储桶中,获取路径(比如gs://your-bucket/notebooks/your-notebook.ipynb)。用Python客户端调用NotebookExecution
同样依赖google-cloud-aiplatform库,代码示例:from google.cloud import aiplatform aiplatform.init(project="你的项目ID", location="你的区域") # 创建Notebook执行任务 notebook_execution = aiplatform.NotebookExecution.create( display_name="运行我的Notebook", notebook_gcs_uri="gs://your-bucket/notebooks/your-notebook.ipynb", machine_type="n1-standard-4", output_notebook_gcs_uri="gs://your-bucket/outputs/result-notebook.ipynb", # 输出结果的存储路径 ) # 等待任务完成 notebook_execution.wait()这里用到的是Vertex AI Workbench Notebook Execution服务,任务完成后会把运行后的Notebook(包含输出)保存到你指定的GCS路径。
必要权限说明
确保你的服务账号拥有以下权限:
aiplatform.jobs.create(创建任务权限)storage.objects.get和storage.objects.create(GCS读写权限)notebooks.executions.create(如果用方式二)
内容的提问来源于stack exchange,提问作者Indrid

