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

用 n8n + GPT-4o 把自然语言转成 BigQuery SQL 并执行

聊天输入 → 拉取 BigQuery 表结构 → GPT-4o 生成 SQL → 执行查询 → 返回结果

经验丰富步骤流程提示词贴士
给谁
需要查询数据但不会写 SQL 的分析师、客服或业务人员
你会得到
在聊天窗口用自然语言提问,自动获得可执行的 BigQuery SQL 与查询结果
你需要
n8n · google-bigquery

硬约束

前置条件:可访问的 n8n 实例;OpenAI API key;Google Cloud 项目及 BigQuery 数据集权限(Service Account JSON key 或 OAuth2)。费用:OpenAI API 按 token 计费,BigQuery 按查询数据量计费。

他们做了什么

作者 rbreen 在 n8n 中搭建了一个工作流模板:用户通过嵌入式聊天窗口输入自然语言问题,工作流先向 BigQuery 的 INFORMATION_SCHEMA 拉取当前数据集的表与列结构,将结构文本与用户问题合并后交给 GPT-4o,模型根据提供的 schema 生成仅使用现存字段的 SQL,并以 JSON 格式输出 {"query":"..."};随后工作流用第二个 BigQuery 节点执行该 SQL 并返回结果。Simple Memory 节点按 sessionId 保存短期记忆,支持多轮追问。

效果如何

作者报告该模板可用于分析师、客服等无 SQL 基础的用户直接查询数据(author_report)。模板在 n8n.io 上展示为已发布状态,视图数 2521。

值得知道

systemMessage 中硬编码了 `n8nautomation-453001.email_leads_schema.` 前缀,实际部署时必须替换为自己的 project.dataset,否则生成的 SQL 会指向不存在的资源。错误输出分支(Run query against schema 的 onError=continueErrorOutput)会进入 Code 节点,返回 "That query didn't work. Try another question."。建议在生产环境添加 LIMIT 1000 等行数保护,或缓存 INFORMATION_SCHEMA 结果以降低 BigQuery 费用。

n8n 工作流模板

结构已检查 · 未实际运行

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

配置与测试清单

需要绑定的凭证

  • OpenAI Chat Model 节点:绑定OpenAI API 凭证。
  • Output all table, and column names in your schema 节点:绑定googleBigQueryOAuth2Api 凭证。
  • Run query against schema 节点:绑定googleBigQueryOAuth2Api 凭证。

需要替换的配置

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

测试输入与预期结果

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

模板处理说明

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

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

步骤

  1. 导入工作流

    在 n8n 中打开 Workflows → Import from File(或 Paste JSON),上传本模板 workflow.json,然后保存。

  2. 添加凭证

    在 n8n 的 Credentials 中创建两类凭证,并在对应节点中引用: 1) OpenAI:创建 openAiApi 凭证,填入 API key;在 OpenAI Chat Model 节点选择该凭证。 2) Google BigQuery:在 Google Cloud Console → IAM & Admin → Service Account 下载 JSON key,创建 googleBigQueryOAuth2Api 凭证;在 Google BigQuery 节点(schema 查询与执行查询两个节点)均选择该凭证。

  3. 配置 schema 获取节点

    打开第一个 Google BigQuery 节点(名称通常为 Output all table, and column names in your schema)。将其 SQL 中的项目与数据集替换为你自己的: 把 `n8nautomation-453001.email_leads_schema` 替换为 `YOUR_PROJECT.YOUR_DATASET`,保留 `INFORMATION_SCHEMA.COLUMNS` 及字段名不变。

    运行提示词 · 来源原文。Google BigQuery 节点(schema 获取)的 SQL Query 字段;替换项目与数据集后执行

    SELECT 
      table_name,
      column_name,
      data_type
    FROM `n8nautomation-453001.email_leads_schema.INFORMATION_SCHEMA.COLUMNS`
  4. 确认执行查询节点

    打开第二个 Google BigQuery 节点(Run query against schema)。在 Project ID 中选择你的项目;确认 SQL Query 字段已为 `{{ $json.output.query }}`,这样它会直接运行 AI 生成的 SQL。

  5. 配置 AI Agent 的提示词

    打开 AI Agent - Write SQL Query 节点,确认其参数: - 用户输入模板(text)接收聊天问题与表结构文本。 - systemMessage 定义了模型行为:仅使用提供的 schema 中的表/列名,不编造字段,输出严格 JSON 格式 {"query":"..."}。 注意:systemMessage 中硬编码了 schema 前缀 `n8nautomation-453001.email_leads_schema.`,你需要替换为自己的 project.dataset。

    运行提示词 · 来源原文。AI Agent - Write SQL Query 节点的 text 字段(用户输入模板)

    =user question: {{ $('Embedable chat for users to ask questions of bigquery').item.json.chatInput }}
    Table and column names: {{ $json.text }}

    运行提示词 · 来源原文。AI Agent - Write SQL Query 节点的 options.systemMessage 字段

    =You are a helpful AI assistant that writes valid SQL queries for Google BigQuery.
    
    You will be given:
    - A user’s question,
    - A list of available table names and column names. {{ $json.text }}
    
    Your task is to:
    1. Write a syntactically correct BigQuery SQL query that best answers the user's question,
    2. Only use table and column names that appear in the provided schema — do not guess or invent names,
    3. Make the best possible guess about which table and columns to use *from the given list only*,
    4. Return your output in a strict JSON format with one key: "query".
    
    ⚠️ Do NOT invent table or column names.
    ⚠️ If a relevant field does not exist, make the best effort to answer with what's available, or omit that part.
    ⚠️ Do NOT include any explanation, notes, or comments — only the final JSON.
    
    ---
    
    
    **this schema must be written before the table name  Schema:**
    
    `n8nautomation-453001.email_leads_schema.
    
    output data in json like this. 
    {
    	"query": "sql query and no other text"
    }
  6. 测试并激活

    打开嵌入式聊天窗口,输入自然语言问题(例如:How many distinct email leads were created last week?)。等待数秒后,工作流会返回查询结果表格;若 schema 缺少请求字段,可能报错。测试通过后,将工作流切换为 Active,使其持续可用。

可复制提示词

搭建指导 · 本站建议版本。交给搭建助手,先确认输入和权限

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

你是一个 n8n 工作流搭建助手。用户想复现「自然语言转 BigQuery SQL」模板。请先确认用户已具备:1) n8n 实例访问权限;2) OpenAI API key;3) Google Cloud 项目及 BigQuery 数据集权限。然后按以下顺序协助:导入 workflow.json → 添加 openAiApi 与 googleBigQueryOAuth2Api 凭证 → 替换 schema 获取节点中的 project.dataset → 确认执行节点的 project 与 SQL Query 变量 → 检查 AI Agent 的 systemMessage 中硬编码的 schema 前缀是否需要替换 → 建议测试问题并提醒激活。不要替用户生成或发送 API key。

替换 project.dataset、检查凭证、测试自然语言问题

来源

Generate BigQuery SQL from natural language queries using GPT-4o chat · rbreen · n8n.io · 2025-07-31

留言与反馈

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

正在加载…

    相关用例