工作流

使用 moi-cli workflow 在终端中查询、部署和运行工作流,读取工作流作业状态与结果,并在需要时取消工作流作业。CLI 调用 Product API,不用于调用 Genesis 模型。

前提条件

  • 已获得 moi-cli。

  • 已配置产品 API 服务地址、个人访问令牌和目标工作区。

  • 已有工作流 ID;部署工作流时还需要经过检查的工作流 DSL。

运行以下命令查看当前版本实际提供的子命令:

moi-cli workflow --help

查看工作流

列出当前工作区中的工作流:

moi-cli -o workflow list --workspace-id "$WORKSPACE_ID"

读取一个工作流的详情:

moi-cli -o workflow get \
  --workspace-id "$WORKSPACE_ID" \
  --workflow-id "$WORKFLOW_ID"

全局 -o 选项输出 JSON,适合从响应中读取工作流 ID、状态和可用操作。工作区已经写入配置文件时,可以省略子命令上的 --workspace-id。

启动工作流

moi-cli -o workflow run \
  --workspace-id "$WORKSPACE_ID" \
  --workflow-id "$WORKFLOW_ID"

保存响应中的工作流作业 ID workflow_run.execution_id:

export EXECUTION_ID='<EXECUTION_ID>'

当前 workflow run 命令只接收工作区 ID 和工作流 ID,不提供运行时 values 参数。需要向运行表单传值时,使用 AI Studio API 或 AI Studio SDK。

命令返回工作流作业 ID 只表示平台已接受运行请求,不表示工作流已经完成。

查询状态和结果

查询工作流作业详情:

moi-cli -o workflow get-run \
  --workspace-id "$WORKSPACE_ID" \
  --workflow-id "$WORKFLOW_ID" \
  --execution-id "$EXECUTION_ID"

获取工作流作业结果:

moi-cli -o workflow get-run-result \
  --workspace-id "$WORKSPACE_ID" \
  --workflow-id "$WORKFLOW_ID" \
  --execution-id "$EXECUTION_ID"

在脚本中轮询时,应限制总等待时间和轮询次数。读取到终态或达到等待上限后停止;超时后先保留工作流作业 ID 并返回当前状态,不要自动再次运行工作流。

取消工作流作业

取消前先运行 get-run,确认当前工作流作业仍允许取消:

moi-cli -o workflow cancel-run \
  --workspace-id "$WORKSPACE_ID" \
  --workflow-id "$WORKFLOW_ID" \
  --execution-id "$EXECUTION_ID"

取消命令返回后,再运行 get-run 确认服务端状态。取消工作流作业不会自动回滚算子已经写入数据库、文件系统或外部服务的结果。

常用子命令

任务

子命令

列出和读取工作流

list、get

部署工作流

deploy

暂停或恢复工作流

pause、resume

运行工作流

run

查询工作流作业

list-runs、list-all-runs、get-run、get-run-by-id

读取结果和算子

get-run-result、get-run-node

处理重试和算子重新运行

retry-run、get-run-node-rerun-plan、create-run-node-rerun

取消工作流作业或重新运行

cancel-run、cancel-run-rerun

WorkItem API Service

get-workitem-api-service、publish-workitem-api-service、invoke-workitem-api-service

产物与血缘

artifact-lineage-overview、artifact-output-blocks、artifact-node

对于使用 --json 或 --json-file 传入复杂输入的命令,请参阅相应的 AI Studio API 文档。不要从其他子命令推断参数名或请求体。

管理 WorkItem 服务、算子和模板

要完成的事

使用命令

操作说明

查询可用 WorkItem

workitem-catalog、workitem-catalog-item

先确认可用项再发布或调用服务。

管理 WorkItem API 服务

get-workitem-api-service、publish-workitem-api-service、invoke-workitem-api-service、enable-workitem-api-service、disable-workitem-api-service

发布、启用、禁用和调用都会影响服务可用性。

动态调用服务

invoke-dynamic-service、invoke-workflow-dynamic-service

使用已确认的服务或工作流对象。

管理自定义算子

custom-operators、create-custom-operator、get-custom-operator、test-custom-operator、update-custom-operator、enable-custom-operator、disable-custom-operator、delete-custom-operator

写入或删除前读取现有算子和状态。

管理工作流模板

workflow-templates、get-workflow-template、create-workflow-template、update-workflow-template、delete-workflow-template

复杂定义使用 --json 或 --json-file。

发布、启停、调用和删除都会改变可用性或运行状态。先读取现有对象和状态;复杂定义通过对应命令的 --json 或 --json-file 提供。

检查产物与修订

要完成的事

使用命令

操作说明

查询血缘与输出

catalog-file-lineage-overview、artifact-lineage-overview、artifact-output-blocks、artifact-node

先读取产物、节点和输出。

管理产物块修订

artifact-block-revisions、create-artifact-block-revision、switch-artifact-effective-revisions

创建或切换后查询状态确认结果。

管理节点块修订

artifact-node-block-revisions、create-artifact-node-block-revision、switch-artifact-node-effective-revisions

使用产物和节点标识。

重新运行产物节点

create-artifact-node-rerun、create-target-artifact-node-revision-rerun

仅提交后续状态变更,继续查询运行记录。

查询导入上下文和运行细节

要完成的事

使用命令

操作说明

按工作流和执行 ID 查询导入上下文

get-run-import-context、list-run-import-files、get-run-node

同时提供工作流和执行 ID。

仅按执行 ID 查询

get-run-import-context-by-id、list-run-import-files-by-id、get-run-node-by-id

仅在已有执行 ID 时使用。

查询或调整作业状态

list-file-executions、refresh-run、pause-run、resume-run

先查看执行记录再调整状态。

查询或取消重新运行分支

list-run-rerun-branches、get-run-rerun、cancel-run-rerun

取消前确认分支状态。

重试、取消或删除运行

retry-run、batch-retry-failed-files、cancel-run、delete-run

会改变运行或其记录;先读取运行状态和文件执行记录。

下一步

最后更新于