有什么区别?
AI代理是一个循环驱动的系统,可以决定哪个工具可以调用下一个,保持状态跨互动,并调整其行为.
自动化是一种固定的顺序步骤,每次都以同样的方式运行.
在此指南中,您将同时构建一个向OpenAI发送提示并存储答案的平版n8n工作流程,以及一个完整的RAG启用的AI代理,决定何时获取文档,何时查询LLM,何时回复.
到最后,你会明白为什么大多数团队 过度引擎, 你会有一个生产准备的例子 你可以明天运送。
关键见解: 如果您的用例需要有条件的工具使用,内存,或动态的入球设定,则需要AI代理;否则直通自动化更便宜,更快,更便于维护.
你需要什么工具计划/价格作用 n8n(开源工作流程引擎) 社区版(自办,免费) - 见https://n8n.io/ 托管选项的定价 OpenAI API(ChatGPT/GPT-4) Pay-as-you-go - 见https://openai.com/api/pricing 生成自然语言响应 Pinecone(种子商店) 免费分级或付费计划-见https://www.pinecone.io/pricing 持有 RAG Docker (容器运行时间) 本地或 CI Git (版本控制) Free Runs n8n 的嵌入文档 自由存储工作流程定义 估计构建时间:一个完整的代理(包括嵌入文档)为~4小时,普通自动化为~1小时.
分步建设
1.
本地设置 n8n 这能起到什么作用: 发射一个带有基本认证的自办n8n实例.
几秒钟后打开 http://localhost:5678 并登录上面的证书。
2.
创建简单的自动化工作流程 在n8n UI中,点击新工作流程.
添加 Webhook 节点(触发 URL: ).
这是JSON的有效载荷。
将 Webhook 连接到 OpenAI 节点(由 n8n提供).
型号: (或任何您可以访问的).
即时:.
在 LLM 输出格式化时添加一个设置节点 : .
以返回的响应节点结束 。
导出工作流程 JSON 以便您能够版本控制它 : JSON定义了一条线性输油管 - 得到一个提示,发送到LLM中,包裹反应,然后返回.
没有条件逻辑或内存;每个请求都是孤立的.
3.
为RAG编写嵌入文件 这样做:读取每个文件,用OpenAI的模型生成一个嵌入,并将向量存储于 Pinecone.
脚本对 API 密钥使用环境变量 - 安全存储(例如在一个文件中) 。 4.构建AI代理工作流程 创建名为RAG代理的新工作流程.
添加 Webhook 节点(触发 URL: ).
输入有效载荷:.
添加一个名为"决定行动"的函数节点.
它的 JavaScript 决定是否需要文档搜索: 连接决定行动到分支上的一个切换节点 。
分支"检索": a.
Pinecone 搜索节点(n8n有社区 Pinecone 节点;如果没有,使用HTTP 请求节点).
取名空间:.
查询向量:使用OpenAI的嵌入端点()在飞行中进行计算.
上 K:. b.
合并节点以连接取回的字段. c.
向 OpenAI 节点(即时:)提供上下文和原始问题,并返回答案。
分支"直接":a.
将原题直发至OpenAI节点(同型号,无上下文).
用返回的响应节点关闭每个分支 。
导出工作流程;由于条件逻辑,JSON会更大,但核心原理相同:代理保留状态(),并决定哪个工具可以调用下一个.
5.
测试两个终点 您应该看到的: 自动化返回一个单句答案; 代理在 LLM 答案之前可能包含您索引的文档的相关节选, 显示工具的真实用途 。
6.
部署(可选) 如果您喜欢管理 n8n 实例, 请在 https://n8n.io 上签名,并通过 UI 导入 JSON 文件 。
对于生产,您也会想要: 启用带有倒置代理的 HTTPS(例如Nginx).
在环境变量中存储 API 密钥 (,).
在webhook节点上设定速率限制,以防范滥用.
你现在可以把这些自动化器卖了