使用 GPT-4o 的自然語言轉 BigQuery SQL 產生器 - n8n 工作流程

使用強大的 n8n 工作流,整合 GPT-4o 與動態 Schema 擷取功能,將簡單的自然語言問題轉換為複雜的 Google BigQuery SQL 查詢,實現安全、穩健的資料存取。

工作流預覽

準備好自動化了嗎?

下載此 n8n 工作流程範本並立即開始使用。

適用對象

希望資料存取普及化、無需依賴手動編寫 SQL 的資料分析師。
正在尋找整合 AI 編碼能力的進階 n8n 範本技術團隊。
希望為其 BigQuery 資料集提供安全自然語言介面(資料對談)的企業。
需要複雜、穩健且可嵌入式 n8n 節點聊天解決方案的開發人員。

總覽

這套精密的自動化流程解決了無需使用者編寫複雜 SQL,即可安全且動態地查詢大型 BigQuery 資料集的挑戰。此 n8n 工作流的核心價值在於它能先擷取目前的資料庫結構 (Schema),將這項關鍵的上下文資訊連同使用者問題一併提供給 GPT-4o,然後強制執行結構化輸出,以確保產生的 SQL 查詢是有效的。透過使用可嵌入式的 n8n 聊天觸發器,此解決方案可立即部署,讓非技術背景的使用者只需提問就能取得關鍵的資料洞察。這是關於在 n8n 節點環境中整合先進 AI 所能實現功能的有力展示,提供了一個強大的 n8n 工作流來提升組織的資料素養。

運作方式

整個流程由專為嵌入而設計的自訂 n8n 聊天觸發器啟動:


  1. 聊天啟動 (n8n 觸發器): 當使用者透過 Embedable chat for users to ask questions of bigquery (供使用者詢問 bigquery 的可嵌入式聊天) n8n 觸發器提交問題時,流程開始。

  2. Schema 擷取: n8n 工作流運行一個平行路徑,使用 Google BigQuery n8n 節點查詢 INFORMATION_SCHEMA.COLUMNS,擷取所有可用表格、欄位和資料類型的完整列表。這為 AI 提供了即時、精確的上下文。

  3. 上下文格式化: 擷取到的 Schema 經過彙整,並透過一個 Code n8n 節點處理,將中繼資料格式化為簡潔的文字字串,以供大型語言模型 (LLM) 使用。

  4. 輸入合併: 名為 combine the table names with user question (合併表名稱與使用者問題) 的 Merge n8n 節點,會將來自 n8n 觸發器的原始使用者問題與格式化後的 Schema 文字合併。

  5. AI SQL 生成: AI Agent - Write SQL Query (AI 代理 - 編寫 SQL 查詢) n8n 節點是此工作流的核心,它由 OpenAI Chat Model (GPT-4o) 提供支援,並配置了 Simple Memory (簡單記憶體) 以維持對話狀態。系統提示詞嚴格要求 AI 僅 使用提供的 Schema 元素來生成有效的 BigQuery SQL,確保資料安全和查詢準確性。

  6. 輸出驗證: Structured Output Parser (結構化輸出解析器) n8n 節點確保 AI 的最終輸出嚴格遵守所需的 JSON 格式 ({"query": "..."})。

  7. 查詢執行: 第二個 Google BigQuery n8n 節點 Run query against schema (針對 Schema 執行查詢),會執行由 AI 動態生成的 SQL 表達式 ({{ $json.output.query }})。

  8. 錯誤處理: 如果 BigQuery 執行失敗(複雜 SQL 常見問題),工作流會在該 BigQuery n8n 節點上使用 onError: continueErrorOutput 設定。這會將失敗路徑導向到最後的 Code n8n 節點,該節點會優雅地透過聊天 n8n 觸發器介面回傳一條 Ask User to try another question (請使用者嘗試其他問題) 的訊息,從而確保了工作流的穩健性。

安裝指南

若要使用這些 n8n 範本來設定此進階 n8n 工作流,請遵循以下步驟:


  1. 匯入工作流: 複製提供的 JSON 資料,並在您的 n8n 實例中使用「從檔案匯入」或「貼上 JSON」選項。

  2. 設定憑證: 您必須提供兩組憑證:

OpenAI: 為 OpenAI Chat Model n8n 節點設定 API 金鑰憑證。
Google BigQuery: 為兩個 Google BigQuery n8n 節點實例設定服務帳戶 JSON 金鑰憑證。

  1. 更新 Schema 擷取器: 第一個 BigQuery 節點 (Output all table, and column names in your schema - 輸出您 Schema 中的所有表和欄位名稱) 包含一個用於擷取 Schema 中繼資料的查詢。

* 您必須將 SQL 查詢中的 n8nautomation-453001.emailleadsschema 替換為您的特定 YOURPROJECT.YOURDATASET。

  1. 更新執行節點: 在第二個 BigQuery n8n 節點 (Run query against schema) 中,請確保從下拉式選單中選擇了正確的專案 ID (Project ID)。

  2. 啟用: 將 n8n 工作流切換至「啟用 (Active)」,讓聊天 n8n 觸發器開始監聽請求。

節點詳情

Embedable chat for users to ask questions of bigquery (供使用者詢問 bigquery 的聊天觸發器 n8n 節點): 這個專用的 n8n 觸發器啟動對話,並將使用者的自然語言問題輸入到 n8n 工作流中。
Output all table, and column names in your schema (Google BigQuery n8n 節點): 透過 INFORMATION_SCHEMA.COLUMNS 動態擷取資料庫結構(表名稱、欄位、資料類型),為 LLM 提供即時上下文。
Convert table names and columns into single text for agent (Code n8n 節點): 一個輔助性的 n8n 節點,用於將來自 BigQuery 的結構化輸出對映並合併為單一字串,以供 AI 有效取用。
AI Agent - Write SQL Query (LangChain Agent n8n 節點): 此 n8n 工作流的核心。它利用 GPT-4o、Schema 上下文和對話記憶體來擬定複雜且有效的 BigQuery SQL 查詢。
OpenAI Chat Model (LangChain LM Chat n8n 節點): 使用 GPT-4o 模型,因其強大的程式碼生成和指令遵循能力而被選用。
Simple Memory (LangChain Memory n8n 節點): 使用 n8n 觸發器提供的 Session ID 來維持對話上下文,這對於多輪 SQL 調整至關重要。
Structured Output Parser (LangChain Output Parser n8n 節點): 確保 AI 的最終輸出嚴格遵守 { "query": "..." } 的 JSON 結構,這是後續 n8n 節點執行 SQL 所必需的。
Run query against schema (Google BigQuery n8n 節點): 執行動態生成的 SQL。關鍵設定:設為 onError: continueErrorOutput 以優雅處理失敗的查詢,將其重新導向至使用者的錯誤訊息。

相關 n8n 工作流程

免費

節點: 10 節點
更新时间: 2025年12月26日
建立者

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

精選*