部署模型
部署模型操作从模型索引中读取模型的块,然后创建模型的实例以缓存到内存中。此操作需要 model_id
。
从 OpenSearch 2.13 版本开始,当您首次发送预测 API 请求时,外部托管模型默认会自动部署。要禁用外部托管模型的自动部署,请将 plugins.ml_commons.model_auto_deploy.enable
设置为 false
PUT _cluster/settings
{
"persistent": {
"plugins.ml_commons.model_auto_deploy.enable": "false"
}
}
有关此 API 的用户访问信息,请参阅模型访问控制注意事项。
端点
POST /_plugins/_ml/models/<model_id>/_deploy
示例请求:部署到所有可用的 ML 节点
在此示例请求中,OpenSearch 会将模型部署到任何可用的 OpenSearch ML 节点
POST /_plugins/_ml/models/WWQI44MBbzI2oUKAvNUt/_deploy
示例请求:部署到特定节点
如果您想保留集群中其他 ML 节点的内存,可以通过在请求体中指定 node_ids
将模型部署到特定节点。
POST /_plugins/_ml/models/WWQI44MBbzI2oUKAvNUt/_deploy
{
"node_ids": ["4PLK7KJWReyX0oWKnBA8nA"]
}
示例响应
{
"task_id" : "hA8P44MBhyWuIwnfvTKP",
"status" : "DEPLOYING"
}
检查模型部署状态
要查看模型部署状态并检索为新模型版本创建的模型 ID,请将 task_id
作为路径参数传递给任务 API。
GET /_plugins/_ml/tasks/hA8P44MBhyWuIwnfvTKP
响应中包含模型版本的模型 ID
{
"model_id": "Qr1YbogBYOqeeqR7sI9L",
"task_type": "DEPLOY_MODEL",
"function_name": "TEXT_EMBEDDING",
"state": "COMPLETED",
"worker_node": [
"N77RInqjTSq_UaLh1k0BUg"
],
"create_time": 1685478486057,
"last_update_time": 1685478491090,
"is_async": true
}
如果集群或节点重启,则需要重新部署模型。要了解如何设置自动重新部署,请参阅启用自动重新部署。