全部產品
Search
文件中心

PolarDB:自然語言產生智能圖表NL2Chart

更新時間:Dec 11, 2025

使用NL2SQL得到SQL語句後,通常希望得到這個SQL查詢出的結果,同時能夠展示一些更直觀的結果,比如柱狀圖、餅圖、折線圖等。PolarDB的NL2Chart方案能夠將SQL語句的查詢結果轉化為動態報表,協助您更高效地理解和分析資料。

方案概述

NL2Chart其核心流程包含兩大階段:首先基於NL2SQL技術將自然語言轉義為SQL查詢語句,隨後使用解析的SQL語句產生可視化分析報表。

  1. 假設您在NL2SQL中的語句如下:

    /*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2sql, select '商戶類型統計') WITH (basic_index_name='schema_index',pattern_index_name='pattern_index');

    產生的SQL語句如下:

    SELECT merchtype AS 商戶類型,COUNT(*) AS 商品數量 FROM hkrt_merchant_info GROUP BY merchtype;
  2. 使用NL2Chart功能:

    文法說明

    /*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart, <SQL語句>) WITH (usr_query = <usr_query>, result_type = <result_type>);

    參數說明

    參數名稱

    參數說明

    樣本值

    usr_query

    使用者輸入的問題描述,用於明確統計圖表的產生需求。

    '2023年各季度銷售額統計'

    result_type

    指定返回結果的類型,當前僅支援 'IMAGE'

    'IMAGE'

    SQL語句

    由 NL2SQL 模組產生的 SQL 查詢語句,用於擷取資料。

    SELECT quarter, sales FROM sales_data WHERE year = 2023

    樣本:將SQL語句的查詢結果轉化為圖表。

    /*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart, SELECT merchtype AS 商戶類型, COUNT(*) AS 商戶數量 FROM hkrt_merchant_info GROUP BY merchtype) WITH (usr_query = '商戶類型統計', result_type='IMAGE');

    返回結果如下:

    http://db4ai-xxx-.aliyuncs.com/pc-xxx/OSSAccessKeyId=xxx&Expires=1716130199&Signature=KvPFzxxx
    說明

    返回的連結為PNG圖片地址。該地址不存在許可權限制,僅存在時效限制,有效時間為90分鐘,過時將失效。具體失效時間請查看地址中的Expires欄位。

image.png

圖表類型選擇與強制選擇

模型會基於對使用者問題和資料的理解選擇合適的圖表,推薦選擇使用者問題引導模型畫圖。

以下是問題類型與圖表類型對應參考表:

問題類型

圖表類型

使用者問題樣本

說明

數量統計

柱狀圖

"請統計各城市銷售額"

展示不同類別之間的數值對比,如數量、總量、頻次等。

趨勢變化

折線圖

"請展示過去一年的使用者增長趨勢"

展示資料隨時間或有序類別變化的趨勢,強調連續性。

佔比分布

餅狀圖

"請展示各產品線的銷售佔比"

適用於展示整體中各部分的比例關係,需資料為分類且總和明確。

通過修改usr_query參數強制指定圖表類型,在usr_query參數末尾加上補充命令即可:

-- 將輸出的sql輸入 nl2chart 畫折線圖
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS 商戶類型, COUNT(*) AS 商戶數量 FROM hkrt_merchant_info GROUP BY merchtype
) WITH (usr_query = '商戶類型統計,畫折線圖', result_type='IMAGE');

image.png

-- 將輸出的sql輸入 nl2chart 畫餅狀圖
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS 商戶類型, COUNT(*) AS 商戶數量 FROM hkrt_merchant_info GROUP BY merchtype
) WITH (usr_query = '商戶類型統計,畫餅狀圖', result_type='IMAGE');

image.png

使用建議

通過聯合使用NL2Chart和NL2SQL功能,可以實現從自然語言到圖表的自動化產生。

說明

資料與圖表類型匹配,確保資料與圖表類型相容,例如:餅圖需要佔比資料。折線圖需要有序時間序列資料。

  1. 圖表類型自動匹配:系統優先根據問題中的關鍵詞(如“數量”“趨勢”“佔比”)自動推薦合適的圖表類型。

  2. 手動指定圖表類型:若預設推薦不滿足需求,可通過修改usr_query明確指定圖表類型。

通過以上流程,您可以高效產生符合需求的統計圖表。