管理 API¶
TorchServe 提供了以下 API,允许您在运行时管理工作流程
工作流程管理 API 在端口 8081 上监听,默认情况下只能从本地主机访问。要更改默认设置,请参阅 TorchServe 配置。
注册工作流程¶
POST /workflows
url
- 工作流程存档下载 url。支持以下位置本地工作流程存档 (.war);文件必须位于
workflow_store
文件夹中(而不是子文件夹中)。使用 HTTP(s) 协议的 URI。TorchServe 可以从互联网下载
.war
文件。
workflow_name
- 工作流程的名称;此名称将在其他 API 中用作路径的一部分 {workflow_name}。如果此参数不存在,将使用 MANIFEST.json 中的modelName
。
curl -X POST "https://127.0.0.1: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}
使用描述工作流程 API 获取工作流程的详细信息
curl https://127.0.0.1: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 https://127.0.0.1:8081/workflows/myworkflow
{
"status": "Workflow \"myworkflow\" unregistered"
}
列出工作流程¶
GET /models
limit
- (可选)要返回的最大项目数。它作为查询参数传递。默认值为100
。next_page_token
- (可选)查询下一页。它作为查询参数传递。此值由之前的 API 调用返回。
使用列出工作流程 API 查询当前注册的工作流程
curl "https://127.0.0.1:8081/workflows"
此 API 支持分页
curl "https://127.0.0.1:8081/workflows?limit=2&next_page_token=2"
{
"nextPageToken": "4",
"workflows": [
{
"workflowName": "myworkflow1",
"workflowUrl": "myworkflow1.war"
},
{
"workflowName": "myworkflow2",
"workflowUrl": "myworkflow2.war"
}
]
}