微信扫码
添加专属顾问
探索RAG系统的搭建,比较N8N与Dify的优势与应用场景。 核心内容: 1. RAG系统的定义及其在大模型中的作用 2. N8N与Dify各自的工作流搭建思路和适用场景 3. 详细的N8N+Milvus组合部署教程,从环境准备到模型配置
如果将大模型视为一个知识丰富但记忆有限的专家,RAG系统则是为其配备了一个能够实时检索和提供准确信息的辅助工具。
而关于如何低门槛搭建一个RAG系统系统,很多朋友可能会纠结究竟选择N8N 还是dify。
如何用Dify+Milvus搭建一个RAG系统,可以参考我们此前发布的教程:
Milvus×Dify半小时轻松构建RAG系统
本文,我们则将通过N8N和Milvus这两个实用工具来带大家手把手做一个RAG应用。
N8N和Dify,分别代表了不同的工作流搭建思路,概括来说:N8N是通用工作流工具,可以连接几乎任何系统,处理各种自动化任务,不仅限于AI领域;而Dify是专注于AI应用的开发平台,专为生成式AI应用定制,内置了与各种LLM模型的连接能力。
在本文中,我们选择N8N和Milvus的组合,是因为N8N可以连接数百种不同的服务和API,负责多系统集成和工作流编排,Milvus提供高效向量检索,二者结合既自由又高效,便于深入理解RAG系统。
相比一体化平台,这种“从零搭建”更具学习价值,但实际应用中专业平台如Dify部署更快、功能更全。
部署架构总览及说明
本教程不含docker和docker-compose以及Ollama安装展示,请自行按照官方手册进行配置。
docker官网:https://www.docker.com/
Milvus官网:https://milvus.io/docs/prerequisite-docker.md
N8N官网:https://n8n.io/
Ollama官网:https://ollama.com
1.模型配置
本文采用Ollama运行嵌入模型并提供服务。
1.1下载并检查embedding模型
执行以下命令下载 nomic-embed-text:latest 模型:
[root@ollama ~]# ollama pull nomic-embed-text:latest下载完成后,使用以下命令检查模型是否成功拉取:
[root@ollama ~]# ollama list |grep nomic-embed-text:latest
1.2配置LLM大模型
说明:本文采用OpenRouter提供的在线免费模型进行演示。若使用其他收费在线模型,请注意其计费模式。
说明:为保证一定能选到支持Tools的模型,请务必增加筛选条件。根据您的需求筛选并选择合适的模型。
说明:在OpenRouter中为选定的模型创建一个API密钥(API-KEY),此密钥将用于后续的API调用。
Milvus是由Zilliz开发的全球首款开源向量数据库产品,能够处理数百万乃至数十亿级的向量数据,在GitHub上获得了3.5W星标。基于开源Milvus,Zilliz还构建了商业化向量数据库产品Zilliz Cloud,这是一款全托管的向量数据库服务,通过采用云原生设计理念,在易用性、成本效益和安全性上实现了全面提升。
必要条件:
软件要求:Docker、Docker Compose
CPU:8核
内存:至少16GB
硬盘:至少100GB
执行以下命令下载Milvus独立部署所需的docker-compose.yml文件:
[root@Milvus ~]# wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose.yml -O docker-compose.yml
使用下载的docker-compose.yml文件启动Milvus服务:
[root@Milvus ~]# docker-compose up -d检查Milvus容器是否成功启动:
[root@Milvus ~]# docker ps -a
说明:N8N需要指明使用的向量数据库Collection,因此需要预先创建好备用。MILVUS_URL应填写Milvus服务所在的服务器IP地址及端口。 Attu是Milvus的图形化管理界面。使用以下命令启动Attu:
docker run -d -p 8000:3000 -e MILVUS_URL=192.168.7.147:19530 registry.cn-hangzhou.aliyuncs.com/xy-zy/attu:v2.5Attu面板将运行在 服务器IP:8000 。
说明:在Attu中创建用于存储向量的Collection
参数说明:维度(Dimension)要和嵌入模型支持的大小相匹配,否则会导致嵌入失败。 根据您的嵌入模型输出向量的维度,正确配置Collection的维度参数。
参数说明:N8N封装的Milvus向量数据库组件默认支持的索引参数是 metric_type: L2。如果创建的Collection配置的索引参数是 COSINE,可能会导致插入失败。(关于是否支持COSINE,请关注N8N官方更新)。 在创建Collection时,将索引的度量类型(Metric Type)选择为L2。
N8N是一个强大的工作流自动化工具,我们将用它来编排整个RAG系统的流程。
可以通过以下Docker命令安装N8N:
特殊参数说明:
设置环境变量 N8N_HOST 为 192.168.4.48,这可能是用来指定应用监听的主机地址。
设置环境变量 N8N_LISTEN_ADDRESS 为 0.0.0.0,表示应用程序将监听所有网络接口。
镜像地址已隐藏,请前往Docker Hub进行下载。
docker run -d -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n -e N8N_SECURE_COOKIE=false -e N8N_HOST=192.168.4.48 -e N8N_LISTEN_ADDRESS=0.0.0.0 registry.cn-hangzhou.aliyuncs.com/n8n:latest安装完成后,您可以通过浏览器访问 IP地址:5678来打开N8N主页。
说明首次访问N8N时,请根据提示完成账户信息的初始化设置。
说明:本工作流共分为两个阶段。第一个阶段是文本向量化,第二个阶段是聊天对话检索向量。
说明:在工作流编辑界面,点击“+”号,选择“Manual” (手动触发)作为工作流的起始节点。
说明:上传文件的类型可支持多种格式,使用(.格式, 分割的方式区分和添加)。 在手动触发节点中,配置表单参数以允许用户上传文件。
说明:配置完成后,可以测试文件上传功能,确保节点正常工作。
说明:输入“vector”关键字搜索,并选择Milvus相关的组件。
说明:在Milvus节点配置中,创建或选择已有的Milvus连接凭证,填入Milvus服务地址并选择创建好的Collection
说明:我们选择通过Ollama运行的本地嵌入模型
说明:如果使用Ollama服务,配置Ollama的连接凭证(如API地址)。
说明:选择之前下载并配置好的嵌入模型(如 nomic-embed-text)。
参数说明:
类型选择:二进制 (Binary)
模式选择:加载所有输入数据 (Load all input data)
数据格式:自动选择 (Auto-select) 添加一个文档加载器节点,用于处理上传的文件数据。
说明:选择适用于大部分场景的递归方式 (Recursive Character Text Splitter)。 在文档加载器之后添加文本分割器节点,将文档内容分割成小块以便进行向量化。
说明:从触发节点上传一个任意PDF格式的文本即可自动完成向量存储过程。 运行整个第一阶段工作流,上传一个PDF文件进行测试。
说明:测试完成后,检查Milvus数据库对应的Collection,确认文本向量是否已成功嵌入。
说明:在N8N中创建一个新的工作流或在现有工作流中添加一个聊天触发器(例如 "Webhook" 节点或专门的聊天机器人触发器),用于接收用户输入的问题。
说明:添加一个AI Agent或类似的逻辑处理节点,用于协调后续的LLM调用和工具使用。
说明:提示词中英文都可以尝试,本文使用英文提示词测试如下。 为AI Agent配置系统提示词 (System Prompt),指导其行为。例如:
You can access the vector database, and there is already relevant information about milvus in the vector database[...]
说明:使用OpenRouter供应商提供的在线LLM大模型。 添加一个LLM调用节点,用于与大语言模型进行交互。
说明:添加刚才在OpenRouter创建好的Key并选择支持Tools工具的模型即可。 在LLM节点中配置OpenRouter的API密钥,并选择之前确定好的、支持Tools的模型。
说明:本文采用简单记忆作为演示。 为聊天流程配置记忆功能(例如 "Simple Memory"),使得对话能够保持上下文。
说明:采用N8N提供的向量数据库问答工具,LLM会调用此工具进行向量检索并将结果返回。(输入关键字vector进行工具搜索) 在AI Agent或LLM配置中添加一个工具 (Tool),该工具用于从向量数据库中检索信息。
说明:为该工具配置一个易于识别的名称
说明:在此工具的配置中,指定之前设置好的Milvus向量存储(Collection)以及用于查询向量化的嵌入模型(与第一阶段一致)。
说明:指定该工具在内部处理或生成响应时可能需要调用的LLM模型
检查并确认第二阶段所有节点的配置均已正确完成
说明:通过聊天触发组件发送测试问题,检验整个RAG流程是否能够正确检索信息并给出回答
milvus的设计理念是什么?
RAG(检索增强生成)系统解决了大语言模型的三大核心痛点:
知识时效性突破:通过实时检索外部知识库,确保回答包含最新信息,解决模型训练数据截止带来的信息滞后,适用于金融、新闻、医疗等需实时数据的领域。
幻觉问题缓解:提供可验证的参考资料,显著降低模型生成不准确信息的风险,提高回答的准确性和可信度。
专业领域适应:允许访问特定领域知识库,无需昂贵微调即可回答专业问题,增强模型在垂直领域的表现。
而Milvus通过专注向量相似度搜索,支持毫秒级检索数十亿向量,可以快速定位相关知识片段,提升知识库的响应速度和准确性。其分布式架构支持水平扩展,能处理TB级数据和高并发请求,保证系统稳定。提供多种索引(如HNSW、IVF)和距离计算方法(余弦相似度、欧氏距离),便于根据场景优化检索效果。支持实时数据插入与更新,确保知识库时效性。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-10-11
有了大模型,段誉为什么时灵时不灵
2026-10-08
ThinkParse 2.0 发布:内置 MinerU 4.0,把文档解析做成可扩展的企业级系统
2026-10-08
MFS:给 Agent 一个可搜索的上下文文件系统
2026-10-07
从零跑通 Meilisearch 中文搜索:分词与本地化 7 步,含 3 个坑
2026-09-28
Jev 进阶:重排序——让 BM25 的 top-1 准确率从 5% 翻到 18%
2026-09-28
PageIndex:扔掉向量数据库的RAG引擎,准确率从50%冲到98.7%
2026-09-22
阿里云 AgentBridge:为生产级 Agent 构建多源实时上下文
2026-09-20
RAG 3.0 来了:告别传统知识库,企业 AI 正在全面转向“知识智能体”!
2026-07-26
2026-07-25
2026-07-28
2026-08-05
2026-07-29
2026-07-24
2026-07-22
2026-07-26
2026-07-29
2026-08-05
2026-08-19
2026-08-18
2026-08-05
2026-08-05
2026-07-28
2026-07-27
2026-07-26
2026-07-25
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。