1.8 KiB
1.8 KiB
添加第三个步骤
让我们通过添加第三个步骤来扩展您的工作流,该步骤生成内容摘要。
创建摘要步骤
将此新步骤添加到您的工作流文件中:
const generateSummaryStep = createStep({
id: "generate-summary",
description: "Creates a summary of the content",
inputSchema: 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(),
}),
}),
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(),
}),
summary: z.string(),
}),
execute: async ({ inputData }) => {
const { content, type, wordCount, metadata } = inputData;
// Create a simple summary from first sentence
const sentences = content
.split(/[.!?]+/)
.filter((s) => s.trim().length > 0);
const firstSentence = sentences[0]?.trim() + ".";
// Generate summary based on content length
let summary = firstSentence;
if (wordCount > 50) {
summary += ` This ${type} contains ${wordCount} words and takes approximately ${metadata.readingTime} minute(s) to read.`;
}
console.log(`📝 Generated summary: ${summary.length} characters`);
return {
content,
type,
wordCount,
metadata,
summary,
};
},
});
理解模式
注意此步骤如何:
- 将前一个步骤的输出作为输入
- 添加新数据(
summary)同时保留现有数据 - 遵循与其他步骤相同的结构
您的第三个步骤已准备就绪!接下来,您将更新工作流以包含所有三个步骤。