最近正好对这种AI工作流感兴趣,但是开源的例如n8n以及Dify需要点时间自己部署,懒得弄了。反正大致的原理、界面都是一致的,因此拿Coze来做个小小的体验~
(一)准备
注册并登录扣子
左侧菜单栏 → 加号按钮 → 创建智能体 → 填写名称等信息 → 确认
(二)编排
1. 模型设置
此处选择DeepSeek-R1/250528,其他参数不做调整
2. 插件
点击插件右侧的加号,进入插件市场添加插件
3. 预览与调试
在右侧进行对话,可以测试插件的应用效果
后续继续加入其他插件,并测试即可
4. 工作流
单纯提供一堆插件,模型的调用很随机,可能不符合我们的工作预期,因此需要构建工作流
点击工作流右侧的加号,创建工作流
(1)名称、描述
(2)设置输入
(3)添加节点
点击下方添加节点 → 插件 → 添加对应插件 → 给插件进行连线
(4)配置输入输出
以我这次“搜索原神角色总结信息”的任务为例
① Search的输入
输入就是我们最开始的输入
② 链接读取的输入输出
由于上一步搜索的链接很多,因此首先切换到批处理
如图配置
③ 代码
接入一段代码节点,在下方添加节点选择代码
这里添加了一段python代码,用于将上一步的内容拼接到一起
点击“在IDE里编辑”,可以编辑代码,并测试代码:
测试完成后按照代码逻辑设置输入输出:
④ 完整的工作流
试运行后就可以发布了
(5)发布并运行
我发现了一个问题,如图所示:
也就是说,原来的“代码”节点中,并未对data的null值进行处理;然而由于搜索提取到的内容可能是视频,无法提取到content,因此报错
修改后的python代码节点:
async def main(args: Args) -> Output:
params = args.params
result = ""
# 安全获取input列表(处理null/undefined情况)
input_list = params.get("input", []) if params else []
if not isinstance(input_list, list):
input_list = []
# 遍历处理每个条目
for item in input_list:
if not isinstance(item, dict):
continue
# 多层安全访问(处理data=null和content=null)
data = item.get("data") if isinstance(item, dict) else None
content = data.get("content") if isinstance(data, dict) else None
# 仅当content存在且非空时才拼接
if content is not None:
result += str(content)
# 返回标准化输出(即使全为null也返回有效结构)
return {
"key0": result or "" # 保证始终返回字符串
}
修改后,测试用例为胡桃,测试如下: