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

如何在AWS SageMaker Pipeline中传递DataCaptureConfig参数?

在SageMaker Pipeline中配置数据捕获(DataCaptureConfig)

不用纠结Model.deploy()的限制,在Pipeline里可以通过EndpointConfigStep来配置DataCaptureConfig——因为EndpointConfig是部署Endpoint的核心配置,数据捕获规则本身就是它的组成部分。具体操作如下:

1. 定义DataCaptureConfig实例

先根据需求创建数据捕获配置,比如指定捕获比例、存储路径、要捕获的请求/响应类型:

from sagemaker.model_monitoring import DataCaptureConfig
from sagemaker.workflow.parameters import ParameterString

# 用参数化配置方便Pipeline复用
data_capture_s3_uri = ParameterString(
    name="DataCaptureS3Uri",
    default_value="s3://your-bucket/path/to/data-capture/"
)

data_capture_config = DataCaptureConfig(
    enable_capture=True,
    sampling_percentage=100,  # 捕获100%的请求/响应
    destination_s3_uri=data_capture_s3_uri,
    capture_options=["REQUEST", "RESPONSE"],  # 同时捕获请求和响应
    csv_content_types=["text/csv"],
    json_content_types=["application/json"]
)

2. 在Pipeline中创建EndpointConfigStep

用这个步骤生成包含数据捕获规则的EndpointConfig,替代直接调用Model.deploy():

from sagemaker.workflow.steps import EndpointConfigStep, EndpointStep

# 假设已通过Pipeline训练步骤得到model对象
trained_model = ... 

# 创建EndpointConfig步骤
endpoint_config_step = EndpointConfigStep(
    name="Create-Monitored-Endpoint-Config",
    endpoint_config_name=ParameterString(name="EndpointConfigName", default_value="my-monitored-config"),
    model_name=trained_model.name,
    initial_instance_count=1,
    instance_type="ml.t2.medium",
    data_capture_config=data_capture_config  # 传入数据捕获配置
)

# 创建Endpoint部署步骤
endpoint_step = EndpointStep(
    name="Deploy-Monitored-Endpoint",
    endpoint_name=ParameterString(name="EndpointName", default_value="my-monitored-endpoint"),
    endpoint_config_name=endpoint_config_step.properties.EndpointConfigName
)

3. 将步骤加入Pipeline

把上述步骤添加到Pipeline定义中,执行Pipeline后,部署的Endpoint会自动按配置捕获请求和响应数据:

from sagemaker.workflow.pipeline import Pipeline

pipeline = Pipeline(
    name="My-Monitored-Model-Pipeline",
    parameters=[data_capture_s3_uri, ...],  # 其他自定义参数
    steps=[..., endpoint_config_step, endpoint_step]  # 其他步骤 + 部署步骤
)

部署完成后,你可以基于S3中捕获的数据,创建模型监控基线、设置定期监控计划,实现数据漂移等监控需求。

内容的提问来源于stack exchange,提问作者Guillermo Álvarez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:46:10