使用 Quickchart.io 進行動態資料視覺化的 AI SQL 代理 - n8n 工作流程

增強您的資料庫 AI 代理功能。此 n8n 工作流範本可將 SQL 代理串接到資料庫,使用 OpenAI 的結構化輸出 (Structured Output) 來定義 Chart.js,並透過 Quickchart.io 產生動態視覺化圖表。

工作流預覽

準備好自動化了嗎?

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

適用對象


  • 正在尋求自動化對話式資料查詢的資料分析師和商業智慧 (BI) 專業人士。

  • 需要針對 SQL 資料庫查詢結果產生動態視覺化呈現的團隊。

  • 尋求進階 n8n 範本,用於將 LangChain 代理和生成式 AI (OpenAI) 與資料來源串接的開發人員。

  • 正在尋找強大 n8n 工作流,可處理複雜決策樹和子工作流執行的使用者。

總覽

這個強大的 n8n 工作流將標準的對話式 SQL 代理轉變為全面的資料視覺化工具。此 n8n 範本結合了 LangChain SQL 代理的查詢能力與 OpenAI 的結構化輸出生成能力(特別是使用 gpt-4o 和 JSON Schema 定義),可自動判斷是否需要在資料庫查詢回覆中加入圖表來輔助說明。

此工作流解決的核心問題在於,如何將 SQL 查詢回傳的原始資料,轉化為有意義且易於理解的圖表。該工作流會動態建立必要的 Chart.js 設定,並使用 Quickchart.io 渲染影像,除了 AI 代理提供的文字解釋外,還能提供更豐富的視覺化答覆。這個 n8n 工作流對於促進任何團隊內更快速的資料分析都非常有效。

運作方式

這個進階的 n8n 工作流在多步驟的對話過程中運作:


  1. 觸發與擷取: 當 n8n 觸發器收到透過 When chat message received (收到聊天訊息時) n8n 節點傳送的訊息時啟動。資訊擷取器 (Information Extractor)(由 OpenAI Chat Model n8n 節點驅動)會清理使用者查詢,移除任何明確的圖表相關指示,確保核心問題能送達 SQL 代理。

  2. SQL 代理執行: 擷取到的問題會傳遞給 AI 代理 (AI Agent) n8n 節點(設定為 SQL 代理)。此代理會串接至 PostgreSQL 資料庫,執行必要的 SQL,並提供包含資料分析的對話式文字輸出。對話歷史記錄是使用 Window Buffer Memory n8n 節點來維護的。

  3. 視覺化決策: 文字分類器 - 是否需要圖表? (Text Classifier - Chart required?) n8n 節點會分析原始使用者要求和 SQL 代理的資料輸出。它使用 OpenAI Chat Model Classifier 來判斷資料是否需要圖表輔助理解 (chart_required)。

  4. 純文字路徑: 如果分類器判定不需要圖表(例如,只有單一資料點),設定文字輸出 (Set Text output) n8n 節點會格式化代理的回覆,完成此次 n8n 工作流的執行。

  5. 圖表生成路徑(子工作流): 如果需要圖表,資料會被傳遞到 執行工作流 (Execute Workflow) n8n 節點,該節點會啟動圖表生成子工作流路徑。

  6. 結構化 JSON 生成: 在子工作流中,OpenAI - 生成圖表定義 (OpenAI - Generate Chart definition) n8n 節點(對 OpenAI 的 HTTP 請求)會接收原始資料和使用者要求。它使用嚴格的 Chart.js JSON 結構描述,利用 OpenAI 的結構化輸出功能,生成一個格式完全正確的圖表設定物件。

  7. Quickchart URL 組裝: 設定回覆 (Set response) n8n 節點會取得 OpenAI 生成的 Chart.js JSON,並將其插入 Quickchart.io 的 URL 中,建立一個動態的影像連結。

  8. 最終輸出: 設定文字 + 圖表輸出 (Set Text + Chart output) n8n 節點會將 SQL 代理的原始文字回覆與新生成的 Quickchart 影像 URL(格式化為 Markdown 影像連結)合併,透過這個強大的 n8n 範本向使用者提供豐富的視覺化回覆。

安裝指南

若要成功部署此特定的 n8n 工作流範本,請遵循以下步驟:


  1. 匯入 n8n 工作流: 將提供的 JSON 代碼複製並直接匯入到您的自行架設版或雲端版的 n8n 實例中。

  2. 設定憑證:

OpenAI API 金鑰: 請確保您已設定好 OpenAI API 金鑰憑證,因為多個 n8n 節點元件會用到它:OpenAI Chat ModelOpenAI Chat Model Classifier,以及 OpenAI - Generate Chart definition 的 HTTP 請求節點。
資料庫憑證: 設定 AI Agent n8n 節點所使用的 PostgreSQL 憑證。此憑證需要能存取 AI 代理被設計用來查詢的資料庫結構 (Schema)。

  1. 資料庫準備(若使用範例資料): 工作流範例引用了 'Coffee Sales Postgres' 資料庫憑證,並且被設計用來查詢咖啡銷售資料集中的資料。如果您的結構描述不同,請更新 AI Agent n8n 節點中的資料庫憑證以及 Prefix Prompt (前置指令)。

  2. 啟用 n8n 觸發器: 確保 When chat message received (收到聊天訊息時) n8n 觸發器節點已啟用,以便 n8n 工作流可以監聽接收到的使用者查詢。此 n8n 工作流已準備好運行。

節點詳情

這個複雜的 n8n 工作流利用了幾種專門的 n8n 節點類型來達成其目標:

When chat message received (n8n 觸發器):
功能: 在整合的聊天介面收到使用者訊息時,啟動 n8n 工作流的執行。
關鍵設定: 設定為公開的 Webhook 端點。
AI Agent (LangChain Agent n8n 節點):
功能: 資料庫互動的核心元件。它將自然語言問題轉換為可執行的 SQL 查詢,在串接的 PostgreSQL 資料庫上執行查詢,並將結果格式化為對話形式。
關鍵設定: 使用 sqlAgent 類型。包含一個詳盡的 Prefix Prompt,指示模型專注於回傳答案、避免開發術語,並正確處理 SQL 語法(例如,資料表名稱的引用)。
Text Classifier - Chart required? (LangChain Text Classifier n8n 節點):
功能: 根據上下文決定 n8n 工作流的後續路徑。它對視覺化需求進行分類。
關鍵設定: 根據資料是多維度還是單一數值,定義出 chartrequired (需要圖表) 和 chartnotrequired (不需要圖表) 這兩種類別。
OpenAI - Generate Chart definition with Structured Output (HTTP Request n8n 節點):
功能: 這是 n8n 工作流中的關鍵步驟。它呼叫 OpenAI API (gpt-4o-2024-08-06),並明確要求回應格式必須是遵循嚴格 Chart.js 結構描述的 JSON 物件。這確保了輸出能被 Quickchart.io 使用。
關鍵設定: 使用 response
format 並提供詳細的 JSON Schema,定義了 typedataoptions(包含 scales 和 plugins)等必要屬性。
Set response (Set n8n 節點):
功能: 透過將前一個 n8n 節點輸出的 chart definition JSON 進行編碼,並附加到基礎 URL 後,建構最終的 Quickchart.io URL。
* 關鍵設定: 使用表達式:="https://quickchart.io/chart?width=200&c=" + encodeURIComponent($json.choices[0].message.content).

相關 n8n 工作流程

免費

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

We are a product studio that helps organizations leverage no-code and generative AI to automate internal processes and launch new digital products.

精選*