ChatGPT销售增长营收AI 评分 · 待评分AI 辅助编辑·未发现明显提示词注入风险n8n.io

用 n8n AI Agent 对话查询 Snowflake 数据库并生成动态报表

自然语言提问 → AI 生成并执行 SQL → 聚合结果 → 小数据直接返回 / 大数据生成可交互报表链接

经验丰富步骤流程提示词
给谁
已拥有 Snowflake 数据库、希望在 n8n 中用自然语言查询数据并生成可视化报表的开发者和数据分析师
你会得到
通过聊天界面用自然语言查询 Snowflake,AI 自动生成 SQL 并执行;结果少于 100 条时直接返回,超过时生成带分页、筛选、图表和 CSV 导出的动态报表链接
你需要
n8n

硬约束

前置条件:n8n 实例;Snowflake 账号及连接信息(host、account、warehouse、database、schema、username、password);OpenAI API Key。需在 n8n 中创建 openAiApi 和 snowflake 两种凭证。模板中的 schema 名称(如 TPCH_SF1)和 webhook 地址需替换为实际值。默认阈值 100 条记录决定是否生成报表链接。

他们做了什么

作者 lowcodingdev(Mark Shcherbakov)在 n8n 官方模板库发布了该工作流模板,包含四个协同的 n8n 工作流:Agent Workflow(聊天触发 + AI Agent + Schema 工具)、Data Retrieval Workflow(执行 SQL)、Aggregation and Reporting Decision(阈值判断)、Report Viewing Workflow(Webhook 触发 HTML 报表)。模板使用 gpt-4o-mini 作为语言模型,通过 Simple Memory 维护会话上下文。

效果如何

作者自述(author_report)该模板可实现:用户通过聊天界面自然语言提问,AI 参考实时数据库结构生成 SQL 并安全执行;大数据集自动聚合并生成带分页、筛选、图表、CSV 导出的动态报表链接,避免直接将大量数据送入 LLM 导致 token 消耗过高;具备错误恢复机制,SQL 错误或连接问题会触发重新生成。

值得知道

1)模板中的 schema 查询硬编码了 'TPCH_SF1',必须替换为实际 schema 名;2)报表链接中的 webhook 地址(n8n.lowcoding.dev)必须替换为用户的实际 n8n 实例地址;3)默认 100 条阈值可在 'If Count>100' 节点调整;4)需要 n8n 中预先配置 openAiApi 和 snowflake 两种凭证;5)'Get table definition' 工具使用 $fromAI('table_name') 动态获取表名,依赖 AI 正确提取表名;6)Report Viewing Workflow 的 HTML 报表依赖 Chart.js CDN,需外部网络访问;7)本站未实测该模板,实际效果取决于 Snowflake 数据规模、网络延迟和凭证配置正确性。

n8n 工作流模板

结构已检查 · 未实际运行

下载后在 n8n 选择“Import from File”,或复制 JSON 后粘贴到编辑器。先配置自己的账号,再用测试数据运行;模板默认未启用。

配置与测试清单

需要绑定的凭证

  • OpenAI Chat Model1 节点:绑定OpenAI API 凭证。
  • DB Schema1 节点:绑定snowflake 凭证。
  • Get table definition 节点:绑定snowflake 凭证。
  • Snowflake1 节点:绑定snowflake 凭证。
  • Execute SQL 节点:绑定snowflake 凭证。

需要替换的配置

  • 源模板来自 n8n 公开库 #5435(约 28 个节点)。导入后先保持未启用,核对触发器、表达式与外部 API 端点。
  • Sticky Note 中的说明仅供参考;按自己的账号、表结构或频道 ID 替换占位配置。

测试输入与预期结果

  • 在测试环境手动执行一次主路径,确认每个需凭证的节点已连接且无鉴权错误。
  • 用一条合成/脱敏样例数据跑通,核对输出字段与下游写入目标,再考虑生产启用。

模板处理说明

  • 已移除原作者凭证绑定、webhookId 与执行数据,工作流设为未启用;节点、连线与原文提示词保持原样。未在 n8n 中实际运行。
  • 未改业务逻辑;运行前请自行核对密钥、配额与隐私合规。

模板获取日期: 2026-10-25

步骤

  1. 配置 Agent 与数据库结构工具

    在 n8n 中导入模板后,配置 Agent Workflow:1)'When chat message received' 节点作为触发器;2)'AI Agent1' 节点使用 OpenAI gpt-4o-mini 模型,并挂载 Simple Memory(sessionKey 取自 chat trigger 的 sessionId);3)将 'DB Schema1' 和 'Get table definition' 两个 Snowflake Tool 节点作为 AI Agent 的工具接入。'DB Schema1' 查询 information_schema.tables 获取表列表;'Get table definition' 查询 information_schema.columns 获取指定表的列定义。两个工具均使用 snowflake 凭证,且查询中的 schema 名称需替换为你的实际 schema。

    运行提示词 · 来源原文。AI Agent1 节点的 systemMessage 字段

    You are Snowflake SQL assistant.
    
    Use tools to retrieve data from Snowflake and answer user.
    
    IMPORTANT Always check database schema and table definition for preparing SQL query.
  2. 配置数据检索子工作流

    配置 'Retrieve Data' 工具节点(Call n8n Workflow Tool),该节点将 AI 生成的 SQL 查询传递给 Data Retrieval Workflow 执行。在 'Retrieve Data' 的参数中:workflowId 指向你的 Data Retrieval 子工作流;description 字段填写工具描述,告知 AI 如何生成 SQL;workflowInputs 定义输入变量 query,由 AI 动态填充。Data Retrieval Workflow 本身以 'When Executed by Another Workflow' 为触发器,接收 query 参数,通过 'Execute SQL' 节点(Snowflake 节点)执行查询,错误输出由 'Return Error' 处理。

    运行提示词 · 来源原文。Retrieve Data 工具节点的 description 字段(AI 工具描述)

    Generate custom SQL queries using knowledge about DB schema and table definitions to provide needed response for user request.
    Use ->> operator to extract JSON data.
    
    Supported functions for big data analysis:
    • GROUP BY – for grouping data
    • SUM() – for summing values
    • AVG() – for calculating averages
    • COUNT() – for counting records
    • MIN() – for finding the minimum value
    • MAX() – for finding the maximum value
    • MEDIAN() – for median calculation
    • STDDEV() – for standard deviation
    • VARIANCE() – for variance calculation
    • PERCENTILE_CONT() – for percentile calculations
    • MODE() – for most frequent value
    • TREND() – for trend analysis over time
    • WINDOW FUNCTIONS – for advanced analytics (e.g., ROW_NUMBER(), RANK(), PARTITION BY)
    
    Query example:
    SELECT * FROM FILES
  3. 配置聚合与报表决策分支

    在 Data Retrieval Workflow 中,'Execute SQL' 执行后连接 'Aggregate Data' 节点(aggregateAllItemData),然后进入 'If Count>100' 条件节点。条件判断聚合后的 data 数组长度是否大于 100:若大于 100,走 'Link to Report' 分支,生成一个包含 URL 编码 SQL 的 webhook 链接;若不大于 100,走 'Return Data' 分支,直接返回原始数据给 Agent。阈值 100 可在 If 节点中调整。

  4. 配置报表展示工作流

    配置 Report Viewing Workflow:以 'Webhook' 节点为入口(responseMode=responseNode),接收报表链接中的 sql 参数。'Snowflake1' 节点重新执行该 SQL(query 取自 $json.query.sql),错误时走错误输出到 'Error page';正常结果经 'Aggregate1' 聚合后进入 'Set HTML' 节点,该节点生成一个完整的 HTML 报表页面(含分页、列筛选、排序、图表视图、CSV 导出),最后由 'Respond to Webhook' 节点返回 HTML。需将 'Link to Report' 中的 webhook 地址替换为你实际 n8n 实例的 Webhook URL。

可复制提示词

搭建指导 · 本站建议版本。交给搭建助手,先确认输入和权限,再引导逐步复现

这一段是提示词,页面不会在这里插入广告。

你是一个 n8n 工作流搭建助手。用户希望复现「AI Agent 对话查询 Snowflake 并生成动态报表」模板。请先确认用户已具备:1)可访问的 n8n 实例;2)Snowflake 连接信息(host、account、warehouse、database、schema、username、password);3)OpenAI API Key。然后指导用户按以下顺序操作:导入模板 → 创建 openAiApi 和 snowflake 凭证 → 替换 schema 和 database 占位符 → 替换 webhook 地址 → 测试连接 → 开始聊天查询。若用户遇到 SQL 生成错误,检查 AI Agent 的 systemMessage 是否完整,以及 schema 工具查询是否返回了正确的表结构。

先确认凭证和权限,再替换占位符,最后测试。

来源

AI agent to chat with Snowflake database · lowcodingdev · n8n.io · 2025-06-28

留言与反馈

试过这个方法吗?分享效果、遇到的问题或改进建议。留言审核后公开,请勿填写敏感信息。

正在加载…

    相关用例