n8n确实是一款能让普通人快速、灵活搭建AI Agent,workflow的平台工具,支持本地化部署,自由度超高(缺点就是前期上手难度有点高)。
n8n于2019 年由前《加勒比海盗》视觉设计师 Jan Oberhauser 创立,因不满 Zapier 等工具的 “不灵活” 和高成本,秉持 “自由可持续,开放且务实” 理念,打造的完全开源的自动化工作流工具。其核心目标是通过可视化 + 代码双模式,让任何人都能连接不同应用,实现复杂流程自动化(官网:https://docs.n8n.io/)。
部分朋友提出了一个问题:n8n能用RAG做知识库吗?
经过一段时间的研究,我发现n8n虽然支持用RAG搭建知识库,但是整个过程比较复杂:
它需要手动搭建文件上传向量数据库的工作流,而且还需要手动搭建一个通过RAG问答的工作流。
所以我就在想,能不能把我最中意的Fastgpt知识库接入到n8n使用呢?
边想,我就边打开了Fastgpt的Github地址
https://github.com/labring/FastGPT
而且支持双向MCP(既可以作为客户端接入其他MCP-Server使用,又可以作为服务端对外提供MCP-Server)
那岂不是可以把fastgpt的知识库发布成MCP-Server直接接入n8n啦!
经过我的实践,这个方案完全可行,而且整个对接过程非常丝滑
并且接入后的RAG效果非常棒(因为Fastgpt本身RAG就做的很棒)
1.本地部署好n8n;
2.本地部署/升级Fastgpt;
3.在Fastgpt创建对外的MCP-Server;
4.在n8n接入Fastgpt—MCP-Server。
本期还是使用docker-compose来部署/升级fastgpt(需要先安装docker)
需要两个东西:
1.fastgpt的docker-compose.yml文件;
2.fastgpt的config.json文件
可以直接访问下面这个地址,获取fastgpt最新的docker-compose.yml文件:
https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.yml
下面这个地址可以获取fastgpt的最新config.json文件
https://raw.githubusercontent.com/labring/FastGPT/refs/heads/main/projects/app/data/config.json
需要升级的话,就先备份一下旧的docker-compose.yml
然后把最新的docker-compose.yml和config.json放到同一个文件夹下
config.json里面有个MCP-Server的地址配置,需要特别注意
因为我的fastgpt和n8n都是本地docker部署的,所以fastgpt对外提供MCP-Server的地址可以填本机的局域网IP,端口固定填3005即可。
执行docker-compose up -d 命令,看到类似下图这种日志就代表部署/升级成功。
温馨提示:如果fastgpt的镜像拉不下来,可以把docker-compose.yml文件里面的镜像都换成阿里云的镜像
浏览器访问 127.0.0.1:3000 进入fastgpt的页面
这里可以创建对外的Fastgpt MCP-Server
点开管理,可以看到,咱们可以管理这个MCP-Server下的“工具”
可以把在fastgpt创建的bot,工作流等…多个应用放到一个MCP-Server中。
但是目前看起来无法直接选择已经创建的fastgpt知识库…
本来我一开始是把fastgpt的知识库接入一个bot,然后把bot放入MCP-Server,作为其中的一个工具。
但是这里面有个问题:当接入n8n之后,n8n工作流中获取到的是已经被fastgpt的大模型总结后的知识库内容,而不是知识库的原始内容,这样就比较尴尬。
想了半天,直到我看见Fastgpt的MCP-Server支持接入工作流,我就突然灵机一
说干就干,直接在fastgpt新建一个工作流,里面只添加知识库搜索和指定回复节点,配置好知识库参数(最低相关度,引用上限等等),最后点击右上角的保存并发布。
注意:工作流的名称一定要是英文,应用介绍也一定要写。
回到刚刚的MCP服务这里,创建一个只有wechatmp-knowledge工作流的MCP-Server
这个就是你刚刚创建的fastgpt-mcp-server的sse地址
在MCP Client Tool的配置中,我们填入刚刚复制的fastgpt-mcp-server的sse地址(还可以给这个节点改个形象的名称)
可以看到成功调用了fastgpt-mcp-server,并从fastgpt的知识库中获取到了正确答案~
知识库问答效果就不用多说了,fastgpt是我认为轻量LLM应用平台中,知识库效果最好的了。
另外,可以看到,我们刚刚在fastgpt创建的工作流的名称和介绍会在n8n这边用到。
除了把fastgpt的知识库封装到工作流,打包成MCP-Server可以快速接入n8n外。
同样也可以把fastgpt的插件、搭载知识库的bot等打包成MCP-Server对外提供出去使用。
还有,可以在fastgpt中创建一个搭载知识库的bot,发布成API的形式(fastgpt的API兼容了OpenAI API)
在n8n的AI Agent节点 添加模型那里添加fastgpt的bot
配置凭证:把base_url换成fastgpt的API地址,apikey填写bot的key
模型随便填都可以,反正不会生效(会以fastgpt bot里面配置的模型为准)
这个方式同样可以把fastgpt的知识库接入n8n使用,只不过模型什么的配置都走fastgpt这边了。
调试完成之后,我们双击最开头的chat message节点
开启make chat publicly available
关键它这个公网聊天页面的功能还支持非常多的定制化配置,比如支持设置密码访问,可以增加上传文件功能等等…
我觉得特别适合用来快速构建自己的MVP产品,或者搭建一些AI工作流给自己或者公司内部提效用。
除了chat message节点,其他很多触发节点都支持发布到外网访问
(文:开源星探)