使用NL2SQL得到SQL語句後,通常希望得到這個SQL查詢出的結果,同時能夠展示一些更直觀的結果,比如柱狀圖、餅圖、折線圖等。PolarDB的NL2Chart方案能夠將SQL語句的查詢結果轉化為動態報表,協助您更高效地理解和分析資料。
方案概述
NL2Chart其核心流程包含兩大階段:首先基於NL2SQL技術將自然語言轉義為SQL查詢語句,隨後使用解析的SQL語句產生可視化分析報表。
假設您在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;使用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欄位。

圖表類型選擇與強制選擇
模型會基於對使用者問題和資料的理解選擇合適的圖表,推薦選擇使用者問題引導模型畫圖。
以下是問題類型與圖表類型對應參考表:
問題類型 | 圖表類型 | 使用者問題樣本 | 說明 |
數量統計 | 柱狀圖 | "請統計各城市銷售額" | 展示不同類別之間的數值對比,如數量、總量、頻次等。 |
趨勢變化 | 折線圖 | "請展示過去一年的使用者增長趨勢" | 展示資料隨時間或有序類別變化的趨勢,強調連續性。 |
佔比分布 | 餅狀圖 | "請展示各產品線的銷售佔比" | 適用於展示整體中各部分的比例關係,需資料為分類且總和明確。 |
通過修改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');
-- 將輸出的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');
使用建議
通過聯合使用NL2Chart和NL2SQL功能,可以實現從自然語言到圖表的自動化產生。
資料與圖表類型匹配,確保資料與圖表類型相容,例如:餅圖需要佔比資料。折線圖需要有序時間序列資料。
圖表類型自動匹配:系統優先根據問題中的關鍵詞(如“數量”“趨勢”“佔比”)自動推薦合適的圖表類型。
手動指定圖表類型:若預設推薦不滿足需求,可通過修改
usr_query明確指定圖表類型。
通過以上流程,您可以高效產生符合需求的統計圖表。