如何通过工具调用n8n的工作流
n8n是一个强大的工作流自动化工具,可以用来创建各种自动化任务。ConsoleX支持通过工具调用n8n工作流,从而对大模型的能力进行扩展,具备完成更加复杂任务的能力。n8n工作流可以通过官方提供的云服务或者自托管的方式创建和使用。
基本流程
- 在n8n中创建一个以Webhook Trigger模块触发的工作流,并创建Response to webhook模块并以JSON格式返回结果。
- 在ConsoleX中添加一个接口类型为n8n的工具,并设置好工具的描述、Webhook url、以及调用所需的API Key。
- 在发起对话时,将创建好的工具添加到对话中,供大模型自主调用并返回结果。
具体步骤
在n8n中配置工作流的调用方式和参数
在n8n中创建的工作流需要以Webhook Trigger模块触发,并最终返回一个Response to webhook模块,且Response to webhook模块的返回内容建议设置为JSON格式,Response Body中的对象内容将被作为工具的返回结果。
在n8n中配置工作流的auth验证(可选)
如果需要设置工作流的auth token验证,需要先在n8n工作流的Webhook Trigger的Authorization模块中设置好Header Auth的验证规则为Header Auth,接下来创建一个Credential for Header Auth,Credential的名称设置为:Authorization,Credential的值设置为:Bearer <your_auth_token>
,其中<your_auth_token>
为自己任意指定的工作流auth token。
在n8n中配置工作流的返回内容
在n8n中创建的工作流需要返回一个Response to webhook模块,且Response to webhook模块的返回内容设置为JSON格式,Response Body中的对象内容将被作为工具的返回结果。
在ConsoleX中创建接口类型为n8n的工具
创建工具时,首先需要输入工具的JSON Schema描述需要与工作流接收的输入参数相一致,描述的具体格式遵循标准的OpenAI工具描述格式。可以参考实例或者用AI辅助生成。
接下来,需要启用工具调用,工具的调用方式需要选择GET或POST方法之一,具体取决于n8n工作流中Webhook Trigger模块接收参数的方式。工具的接口类型需要设置为n8n。
工具的函数接口URL需要与n8n中的Webhook URL一致。n8n中的Test URL可以用于在开发阶段测试工作流的运行,但只能单次调用;工作流发布之后,Production URL可以用于多次调用。
如果n8n工作流中设置了auth token验证,则需要将auth token输入到工具的API Key中。
工具的回复方式根据情况选择其一,然后点击保存,对应n8n工作流的工具就创建好了。
示例Workflow
以下是一个天气预报的n8n示例workflow,可以通过右键保存并到本地,然后导入到n8n的工作区中进行参考。