translation/translated/documents/course/04-workflows/05-chaining-steps-together.md

1.6 KiB

将步骤链接在一起

现在您将学习如何将您的步骤链接在一起以创建一个完整的工作流。

创建工作流

将此工作流定义添加到您的文件中:

import { createWorkflow } from "@mastra/core/workflows";

export const contentWorkflow = createWorkflow({
  id: "content-processing-workflow",
  description: "Validates and enhances content",
  inputSchema: z.object({
    content: z.string(),
    type: z.enum(["article", "blog", "social"]).default("article"),
  }),
  outputSchema: z.object({
    content: z.string(),
    type: z.string(),
    wordCount: z.number(),
    metadata: z.object({
      readingTime: z.number(),
      difficulty: z.enum(["easy", "medium", "hard"]),
      processedAt: z.string(),
    }),
  }),
})
  .then(validateContentStep)
  .then(enhanceContentStep)
  .commit();

理解工作流

  • 输入模式:定义工作流期望的数据
  • 输出模式:定义工作流将返回的内容
  • 步骤:使用 .then() 按它们应该执行的顺序链接
  • 提交:完成工作流定义

数据如何流动

  1. 工作流接收与输入模式匹配的输入
  2. 第一个步骤处理输入并输出验证过的数据
  3. 第二个步骤将第一个步骤的输出作为其输入接收
  4. 工作流返回最终步骤的输出

模式验证

工作流自动验证:

  • 输入数据与工作流的输入模式匹配
  • 每个步骤的输出与下一个步骤的输入模式匹配
  • 最终输出与工作流的输出模式匹配

您的工作流现在已准备就绪!接下来,您将测试完整的工作流。