n8n实战:从零搭建智能水质查询机器人
🌊 n8n 实战:从零搭建智能水质查询机器人
久违的更新,本次将深入探讨智能体(Agent)的构建实践。在众多工具的对比与探索中,我们发现开源工作流自动化平台 n8n 凭借其卓越的易用性和全面性脱颖而出。其在 GitHub 上迅速积累了超过 13 万星标,充分证明了其强大的社区支持和广泛认可度。
本文将以构建一个智能水质查询机器人为例,详细介绍如何利用 n8n 搭建一个能够理解自然语言、调用外部 API 获取数据,并最终通过大语言模型(LLM)进行智能总结与输出的 Agent。
一、什么是 n8n?为何选择它?
n8n(发音 “n-eight-n”)是一个开源的、可扩展的工作流自动化工具。它允许您通过“拖拽节点 + 配置参数”的方式,连接不同服务(如 API、数据库、AI 模型、消息平台等),构建复杂的数据处理或自动化流程。
✅ 核心优势:
- 开源免费:社区版完全免费,企业版提供高级功能和支持。
- 高度灵活:支持 300+ 官方节点(HTTP、数据库、Slack、Telegram、OpenAI 等),并支持自定义 JavaScript/Python 代码节点,满足多样化需求。
- 本地部署 & 云端运行:可一键
npx n8n启动本地服务,也可灵活部署到服务器或云平台,实现私有化部署。 - AI 原生集成:内置 LangChain 支持,轻松接入主流大语言模型(如 GLM、GPT、Claude 等),实现自然语言理解与生成。
- 开发者友好:对于开发者而言,n8n 同样友好。它允许用户在工作流中无缝集成自定义代码节点(支持 JavaScript/Python),以应对更复杂的业务逻辑或特定需求。
二、环境准备
n8n 的安装与启动过程非常便捷:
1 | |
成功启动后,访问 http://localhost:5678 即可进入简洁直观的工作流编辑界面。
📌 提示:首次使用建议注册账号并探索内置的“模板工作流”,这将有助于您快速熟悉 n8n 的各项功能和应用场景。
三、实战项目:构建智能水质查询机器人
本项目的核心目标是:
用户输入:“请帮我查询某某站点昨天的水质数据情况。”
→ n8n 自动解析用户意图
→ 调用相关 API 获取数据
→ 生成结构化分析报告
→ 以自然语言形式返回结果

整个工作流将围绕以下四个核心模块展开:
1 | |
n8n 提供了直观的拖拽式界面,用户可以根据设计好的流程,通过添加和配置相应的节点来快速构建工作流。
🧩 模块一:接收用户输入(Chat Trigger)
作为工作流的起始点,我们选择 Chat Trigger 节点。该节点能够灵活接收来自 Webhook、Slack、Telegram 或自定义网页聊天窗口的用户消息,从而启动整个自动化流程。

🧠 模块二:AI 语义解析(Agent + LLM)
此模块是实现自然语言理解的关键。我们利用大语言模型(LLM)将用户的自然语言查询转换为结构化的 API 调用参数,通常以 JSON 格式输出。
我们通过组合 AI Agent 节点与 OpenAI Chat Model(或其他兼容模型)来实现:
- 系统提示词(System Prompt):精心设计的提示词是核心,它明确指导 AI 如何从用户输入中提取关键信息,如时间、地点、监测指标,并将其格式化为标准的 JSON 数据结构。
- 模型选择:n8n 支持集成多种主流大语言模型,包括 GLM-4、GPT-4、Claude 等,用户可根据需求灵活选择。本次测试中,我们选用了硅基流动的免费 GLM-9 B 模型,其在性能和响应速度方面表现良好,足以满足本项目的需求。
- 内存节点(Memory):为支持多轮对话和上下文理解,可选择配置记忆节点,使 Agent 能够记住之前的对话内容。
🎯 示例输入:“请查询某站点过去 24 小时的溶解氧数据。”
🎯 AI 输出:{"mn":"SITE_CODE","beginTime":"...","endTime":"...","period":"h1"}


关于模型记忆功能:
为了实现更流畅的多轮对话体验,您可以为模型配置记忆功能(如 Simple Memory 节点),使其能够保留对话上下文。

【推荐】硅基流动平台:
如果您正在寻找免费且性能不错的 LLM 服务,可以考虑硅基流动。通过以下邀请链接注册,您将获得 2000 万 Tokens(价值 14 元平台配额):https://cloud.siliconflow.cn/i/p61lgKxB 或填写邀请码:p61lgKxB。
🧹 模块三:数据清洗(Code 节点)
大语言模型在生成 JSON 数据时,有时会包含 Markdown 格式的包裹(如 json ... )或额外的换行符。为了确保下游节点能够直接、正确地解析和使用这些数据,我们需要一个数据清洗步骤。
通过 Code 节点,我们可以利用 JavaScript 编写自定义逻辑来处理这些格式问题:
1 | |

此清洗步骤至关重要,它保证了后续 API 请求节点能够接收到纯净、标准的结构化数据。
📡 模块四:调用 HTTP API
在获取并清洗了结构化的 API 参数后,下一步是使用 HTTP Request 节点向目标水质监测平台 API 发送请求。
该节点功能强大,支持:
- 将上一步清洗后的 JSON 参数动态映射为 Query String 或请求体。
- 自定义请求头(Header)、认证方式(如 API Key、OAuth 2)。
- 配置重试机制和超时设置,以适应复杂的企业级接口调用场景。
只需将前一节点生成的 JSON 数据拖拽至 HTTP Request 节点的相应参数字段,即可轻松构建动态请求。

📊 模块五:AI 数据分析与报告生成
在成功获取水质数据后,我们再次利用 AI Agent 节点,将原始的 JSON 格式数据转化为人类易读、专业且富有洞察力的分析报告。
例如,将原始数据总结为:
“某站点在 2025-04-04 至 2025-04-05 期间共采集 24 条数据,氨氮平均值 0.12 mg/L,溶解氧平均值 8.5 mg/L,水质良好。”
此模块的关键在于精心设计系统提示词。您可以在提示词中嵌入:
- 字段映射表:解释 JSON 字段的含义。
- 单位说明:确保数值单位的准确性。
- 报告模板:定义报告的结构和风格,确保输出的专业性和一致性。
- 分析指令:明确要求 AI 进行数据统计(如平均值、最大值、最小值)、趋势分析或水质评估。
通过精确的提示词工程,Agent 能够理解数据背后的意义,并生成符合预期的专业报告。

四、效果展示
经过上述步骤的构建,我们的智能水质查询机器人能够高效地理解用户意图,自动调用接口获取数据,并最终生成清晰、专业的总结报告。

如上图所示,机器人成功地实现了语义理解、数据查询与智能总结的全流程自动化。
五、进阶方向与扩展资源
本实战指南仅展示了 n8n 的基础应用。基于此,您可以进一步探索和扩展机器人的功能,使其更加强大和智能化。
🚀 可扩展功能:
- 多渠道集成:接入微信、钉钉、Telegram 等消息平台,实现移动端便捷查询与通知。
- 定时任务与报告:利用定时触发器,每日自动生成并推送水质简报或异常告警。
- 数据持久化与分析:结合数据库节点(如 MySQL, PostgreSQL),将查询结果存档,进行长期趋势分析或可视化。
- 智能告警系统:通过“条件判断”节点,对水质超标数据自动触发告警通知(短信、邮件等)。
- 生产环境部署:将 n8n 工作流部署到云服务器,并配置域名,对外提供稳定可靠的服务。
📚 学习资源:
- n8n 官方网站:https://n8n.io
- n8n 工作流案例库:https://n8n.io/workflows/ (包含大量 AI 与自动化模板,是学习和借鉴的宝库)
- n8n GitHub 仓库:https://github.com/n8n-io/n8n (了解最新动态、参与社区贡献)