如何获取Vertex AI Pipeline定义中声明的返回输出结果?
获取Vertex AI Pipeline声明的返回输出方法
要获取你定义的Vertex AI Pipeline的返回输出,按以下步骤操作:
- 确保管道定义正确关联返回输出
仅在函数签名里声明-> str还不够,需要在管道逻辑里明确将组件输出作为管道返回值返回。比如你的管道包含生成结果的组件,需把组件输出指定为返回值:
@dsl.pipeline def pipe_pipeline(arg1: str, arg2: str) -> str: # 示例:调用自定义组件生成结果 result_component = my_processing_component(input_arg1=arg1, input_arg2=arg2) # 将组件输出作为管道返回值 return result_component.outputs['output_str']
编译时,这个返回值会被标记为管道的输出参数。
- 提交并等待管道任务完成
提交任务后必须等待执行完成,才能获取有效输出:
ml_pipeline_job.run() # 阻塞等待任务执行结束 ml_pipeline_job.wait_for_completion()
- 提取返回输出值
任务完成后,通过get_outputs()方法获取管道输出,默认返回值的参数名为return_value:
# 获取所有输出的字典 pipeline_outputs = ml_pipeline_job.get_outputs() # 提取声明的str类型返回值 final_result = pipeline_outputs['return_value'] print(final_result)
如果在管道定义时自定义了输出参数名称,替换return_value为对应名称即可。注意:若任务执行失败,get_outputs()会返回空或无效值,需先确认任务状态为成功。
内容的提问来源于stack exchange,提问作者schoon
相关产品推荐
相关产品推荐

