Vertex AI中DeployModelRequest的deployed_model参数应如何配置?
解决Vertex AI DeployModelRequest中deployed_model参数类型错误问题
错误原因
你遇到的两个错误核心都是参数类型不匹配:
- 直接传入
model_info(Model类实例),但DeployModelRequest的deployed_model字段要求的是google.cloud.aiplatform.v1.DeployedModel类型对象 - 使用
model_info.deployed_models[0]得到的是DeployedModelRef(仅为已部署模型的引用标识),同样不符合类型要求
正确的参数传入方式
需要手动创建DeployedModel实例,明确指定要部署的模型完整资源名称,同时可根据业务需求配置部署资源规格(如机器类型、副本数等)。
修正后的代码示例
from google.cloud import aiplatform_v1 # 获取模型信息(此部分代码无需修改) model_name = f'projects/{project}/locations/{location}/models/{model_id}' client_model = aiplatform_v1.ModelServiceClient() model_request = aiplatform_v1.types.GetModelRequest(name=model_name) model_info = client_model.get_model(request=model_request) # 创建符合要求的DeployedModel实例 deployed_model = aiplatform_v1.types.DeployedModel( model=model_name, # 传入模型的完整资源名称 # 可选:配置部署资源规格,示例为基础CPU机器配置 machine_spec=aiplatform_v1.types.MachineSpec( machine_type="n1-standard-4" ), min_replica_count=1, max_replica_count=1 ) # 构建部署请求并执行部署 deploy_request = aiplatform_v1.types.DeployModelRequest( endpoint=end_point, deployed_model=deployed_model ) client = aiplatform_v1.EndpointServiceClient() client.deploy_model(request=deploy_request)
关键说明
DeployedModel是用于定义部署规则的独立对象,必须包含目标模型的完整资源路径(即model_name)- 若需自定义部署配置(如使用GPU、设置自动扩缩容规则),所有相关参数都需在
DeployedModel实例中声明,无法直接复用已有模型或引用对象的配置
内容的提问来源于stack exchange,提问作者schoon
相关产品推荐
相关产品推荐

