卸载模型
要从内存中卸载模型,请使用卸载操作。
有关此 API 的用户访问信息,请参阅模型访问控制注意事项。
端点
POST /_plugins/_ml/models/<model_id>/_undeploy
示例请求:从所有 ML 节点卸载模型
POST /_plugins/_ml/models/MGqJhYMBbbh0ushjm8p_/_undeploy
示例请求:从特定节点卸载特定模型
POST /_plugins/_ml/models/_undeploy
{
"node_ids": ["sv7-3CbwQW-4PiIsDOfLxQ"],
"model_ids": ["KDo2ZYQB-v9VEDwdjkZ4"]
}
示例请求:从所有节点卸载特定模型
{
"model_ids": ["KDo2ZYQB-v9VEDwdjkZ4"]
}
示例响应
{
"sv7-3CbwQW-4PiIsDOfLxQ" : {
"stats" : {
"KDo2ZYQB-v9VEDwdjkZ4" : "UNDEPLOYED"
}
}
}
根据 TTL 自动卸载模型
从 OpenSearch 2.14 开始,模型可以根据预定义的时间-to-live (TTL) 自动从内存中卸载,该 TTL 基于模型最后一次访问或使用的时间。要定义自动卸载模型的 TTL,请在您的机器学习 (ML) 模型中包含以下 ModelDeploySetting
。请注意,模型 TTL 由 syn_up
cron 作业定期检查,因此模型在内存中的最长存活时间可以是 TTL + sync_up_job_
间隔。默认的 cron 作业间隔为 10 秒。要在内部更新 cron 作业,请使用以下集群设置
PUT /_cluster/settings
{
"persistent": {
"plugins.ml_commons.sync_up_job_interval_in_seconds": 10
}
}
示例请求:创建具有 TTL 的模型
POST /_plugins/_ml/models/_register
{
"name": "Sample Model Name",
"function_name": "remote",
"description": "test model",
"connector_id": "-g1nOo8BOaAC5MIJ3_4R",
"deploy_setting": {"model_ttl_minutes": 100}
}
示例请求:在模型卸载时更新具有 TTL 的模型
PUT /_plugins/_ml/models/COj7K48BZzNMh1sWedLK
{
"deploy_setting": {"model_ttl_minutes" : 100}
}