管理 API¶
TorchServe 提供了以下 API,允许您在运行时管理工作流:
Workflow Management API 侦听端口 8081,默认情况下只能从 localhost 访问。要更改默认设置,请参阅 TorchServe 配置。
注册工作流¶
POST /workflows
url
- 工作流存档下载 URL。支持以下位置:本地工作流存档 (.war);文件必须位于文件夹中(而不是子文件夹中)。
workflow_store
使用 HTTP(s) 协议的 URI。TorchServe 可以从 Internet 下载文件。
.war
workflow_name
- 工作流的名称;此名称将用作其他 API 中的 {workflow_name} 作为路径的一部分。如果此参数不存在,则将使用 in MANIFEST.json。modelName
curl -X POST "http://localhost:8081/workflows?url=https://<public_url>/myworkflow.mar"
{
"status": "Workflow myworkflow has been registered and scaled successfully."
}
工作流注册 API 解析工作流存档 (.war) 中提供的工作流规范文件 (.yaml),并使用规范中提供的配置向 TorchServe 注册 DAG 中指定的所有模型。
描述工作流程¶
GET /workflows/{workflow_name}
使用 Describe Workflow API 获取工作流的详细信息:
curl http://localhost:8081/workflows/myworkflow
[
{
"workflowName": "myworkflow",
"workflowUrl": "myworkflow.war",
"minWorkers": 1,
"maxWorkers": 1,
"batchSize": 8,
"maxBatchDelay": 5000,
"workflowDag": "{preprocessing=[m1], m1=[postprocessing]}"
}
]
取消注册工作流¶
DELETE /workflows/{workflow_name}
使用取消注册工作流 API,通过从 TorchServe 中注销工作流来释放系统资源:
curl -X DELETE http://localhost:8081/workflows/myworkflow
{
"status": "Workflow \"myworkflow\" unregistered"
}
列出工作流程¶
GET /models
limit
- (可选)要返回的最大项目数。它作为查询参数传递。默认值为 .100
next_page_token
- (可选)下一页的查询。它作为查询参数传递。此值由之前的 API 调用返回。
使用列表工作流 API 查询当前已注册的工作流:
curl "http://localhost:8081/workflows"
此 API 支持分页:
curl "http://localhost:8081/workflows?limit=2&next_page_token=2"
{
"nextPageToken": "4",
"workflows": [
{
"workflowName": "myworkflow1",
"workflowUrl": "myworkflow1.war"
},
{
"workflowName": "myworkflow2",
"workflowUrl": "myworkflow2.war"
}
]
}