如何解决如何使用 Python 在 Unified AI Platform 上编辑端点设置?
我已在 Unified Cloud AI Platform 上成功创建了一个端点,并为其部署了两个 Model
- Model A
和 Model B
,分别具有 20% 和 80% 的流量。现在,在 Cloud Console(用户界面)上,我可以选择编辑设置并将流量拆分分别更改为 30% 和 70%,然后部署 Model
。但是我无法弄清楚如何使用 Python 客户端 API 来做到这一点。
here 上提供的文档不足以理解我们如何做到这一点。任何帮助将不胜感激。
解决方法
AI Platform Unified 的文档还没有关于如何使用 python 编辑流量的示例。代码如下:
注意:在运行代码之前,不要忘记更新 end_point
(端点 ID)、project
(项目 ID)、model_id_1
和 model_id_2
的值。
from google.cloud import aiplatform
from google.cloud import aiplatform_v1
def update_endpoint_traffic(
end_point: str,project: str,location: str = "us-central1",api_endpoint: str = "us-central1-aiplatform.googleapis.com",timeout: int = 7200,):
# The AI Platform services require regional API endpoints.
client_options = {"api_endpoint": api_endpoint}
# Initialize client that will be used to create and send requests.
# This client only needs to be created once,and can be reused for multiple requests.
client = aiplatform.gapic.EndpointServiceClient(client_options=client_options)
client_model = aiplatform_v1.services.model_service.ModelServiceClient(client_options=client_options)
deployed_model_id_list = []
model_id_1 = 'xxxxxxxx' # place your model id here
model_id_2 = 'xxxxxxxx' # place your model id here
model_list = [f'projects/{project}/locations/{location}/models/{model_id_1}',f'projects/{project}/locations/{location}/models/{model_id_2}']
for model in model_list:
model_request = aiplatform_v1.types.GetModelRequest(name=model)
model_info = client_model.get_model(request=model_request)
deployed_models_info = model_info.deployed_models
deployed_model_id=model_info.deployed_models[0].deployed_model_id
deployed_model_id_list.append(deployed_model_id)
traffic_split = {deployed_model_id_list[0]: 60,deployed_model_id_list[1]:40} #update values of 60 and 40 to desired traffic split ex.(30 70)
name=f'projects/{project}/locations/{location}/endpoints/{end_point}'
endpoint = aiplatform_v1.types.Endpoint(name=name,traffic_split=traffic_split)
update_endpoint = aiplatform_v1.types.UpdateEndpointRequest(endpoint=endpoint)
client.update_endpoint(request=update_endpoint)
update_endpoint_traffic(end_point='your-endpoint-id',project='your-project-id')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。