使用n8n实现AI文章工作流
简单地玩了一下n8n,发现还是挺有意思的。之前工作的时候就是负责基于一个开源的任务调度框架进行二次开发(dolphinscheduler),所以对于节点和工作流的概念比较熟悉。n8n的特点就是支持非常多种类的节点,使用和自己部署也比较简单。它帮你将与各个社媒、Sass、AI平台的api接口都封装成了节点,省去了大部分代码的逻辑,而且在一个工作流中就可以实现整个与不同平台的交互逻辑。
打开 n8n 官网,注册登录,创建一个新的工作流
创建一个对话触发节点
后面接一个AI Agent节点
双击AI Agent节点,打开配置界面。对于文章生成的工作流,prompt比较固定,所以Source for Prompt (User Message)设置为Define below。Prompt栏里面输入我们的文章生成的promt。因为要生成的文章的标题需要作为参数,这个参数需要从上一个节点获得,所以需要先点击一下execute previous node执行上一个节点
执行完毕后,下一个节点就可以获得上一个节点的参数。比如,这里就可以将chatInput参数拖到prompt内作为文章标题参数
然后添加AI模型节点,并且配置具体模型以及api key
为了让AI生成json格式的回复内容,方便解析,可以开启输出格式化选项,然后点击output parse,创建一个格式化节点
配置parser节点,Schema Type选择Define using JSON Schema指定输出json的标准格式。具体格式按照文章和数据表结构定义
创建一个code节点,用来提取AI输出的json数据
配置code节点,直接将output拖过去作为输出
最终的数据流向,可以选择发送到邮件,创建google sheets等,这里选择保存到supabase数据库
如果json的结构和表结构一致的话,可以自动映射,比较方便
工作流已经搭建完成。现在,在对话框中输入一条信息(这里作为文章标题),就会开始执行工作流,依次运行各个节点,最终插入到数据库