
導(dǎo)讀
2023 年 1 月,TiDB Cloud 發(fā)布了 Chat2Query 功能,在 TiDB Cloud 上通過自然語言提問,即可生成相應(yīng)的 SQL,對用戶上傳的任意數(shù)據(jù)集進(jìn)行分析。Chat2Query 正在徹底改變企業(yè)探索和理解數(shù)據(jù)的方式。

經(jīng)過一年多的研發(fā)迭代,現(xiàn)在 Chat2Query 在 Spider 基準(zhǔn)測試中得分 86.30,并曾在 BIRD 基準(zhǔn)測試中躋身前四。本文將深入探討 Chat2Query 的工作原理及其背后的 Text2SQL 技術(shù),以及我們?nèi)绾翁嵘?Chat2Query 的能力。


- “上個季度的銷售額是多少?”
- “哪個產(chǎn)品類別表現(xiàn)最佳?”
- “本月客戶投訴的趨勢如何?”
相比其他工具,Chat2Query 能夠?qū)τ脩羯蟼鞯拇笠?guī)模數(shù)據(jù)集進(jìn)行理解和分析,摒棄繁雜的專業(yè)術(shù)語和查詢語句,Chat2Query 使得用戶能夠通過自然語言直接向數(shù)據(jù)庫提問,并即時獲得答案。

豐富數(shù)據(jù)上下文
首先,Chat2Query 需要熟悉您的數(shù)據(jù)。為此,它會使用關(guān)系型數(shù)據(jù)庫和向量數(shù)據(jù)庫來分析您的數(shù)據(jù)庫。這種混合方法使 Chat2Query 能夠理解數(shù)據(jù)庫的結(jié)構(gòu)以及表、列和實體之間的關(guān)系。其中,向量數(shù)據(jù)庫尤其重要,它存儲了更復(fù)雜的高維數(shù)據(jù),幫助 Chat2Query 更好地理解數(shù)據(jù)點之間的關(guān)系。Chat2Query 對數(shù)據(jù)了解得越多,提供的回答就越準(zhǔn)確和深入。
提出問題
在數(shù)據(jù)上下文得到充分豐富后,用戶即可開始提問。Chat2Query 會將你的問題轉(zhuǎn)換為 SQL 查詢,提取相關(guān)數(shù)據(jù),并生成答案——通常還會附帶直觀的圖表或圖形,讓信息更加清晰易懂。


理解數(shù)據(jù)庫(Understand DB)
為了使 Chat2Query 高效運行,理解數(shù)據(jù)庫的結(jié)構(gòu)(schema)至關(guān)重要。這正是 “理解數(shù)據(jù)庫”(Understand DB)功能的作用所在——就像給 Chat2Query 提供了一張數(shù)據(jù)的“地圖”,幫助其掌握表、列和實體之間的相互關(guān)系。
- 這一步驟可以將 SQL 查詢的準(zhǔn)確率提高 2-3%(基于 Spider 等基準(zhǔn)測試)。雖然增幅看似較小,但在處理大規(guī)模數(shù)據(jù)集時,這一提升具有重要意義。

優(yōu)化提示詞:提示工程(Prompt Engineering)
我們不能期待隨便向系統(tǒng)提一個復(fù)雜的問題,就獲得精準(zhǔn)的答案。因此,我們通過提示工程(Prompt Engineering)來確保 Chat2Query 精確響應(yīng)問題。通過結(jié)合思維鏈(Chain of Thought, COT)和檢索增強(qiáng)生成(Retrieval Augmented Generation, RAG)等先進(jìn)技術(shù),我們指導(dǎo)系統(tǒng)逐步推理問題,確保生成的 SQL 查詢盡可能精準(zhǔn)。
- COT + RAG 的結(jié)合使得 Chat2Query 在 Spider 和 BIRD 等基準(zhǔn)測試中始終保持領(lǐng)先。這就是它取得卓越表現(xiàn)的關(guān)鍵。

微調(diào)與后加工處理(Fine-Tuning with Post-Processing)
即使使用 LLM(大語言模型) 這樣的先進(jìn)技術(shù),幻覺現(xiàn)象(hallucinations) 仍可能發(fā)生。因此,我們在后加工處理階段(post-processing)采用多智能體協(xié)作機(jī)制(multi-agent collaboration mechanism),讓多個“專家”協(xié)同工作,審核 SQL 結(jié)果,識別潛在錯誤,并優(yōu)化查詢,提高其準(zhǔn)確性。
這一機(jī)制確保即使模型遺漏或誤解某些內(nèi)容,系統(tǒng)的其他組件也能介入,捕捉問題并進(jìn)行必要的調(diào)整。這種額外的優(yōu)化層極大地增強(qiáng)了 Chat2Query 生成 SQL 查詢的可靠性。
- 后處理機(jī)制 + 多智能體系統(tǒng)能將 SQL 查詢的整體準(zhǔn)確率提高 2-4%,有效減少錯誤,確保結(jié)果穩(wěn)定、一致,并可直接用于業(yè)務(wù)決策。


現(xiàn)在,讓我們看看 Chat2Query 如何幫助企業(yè)做出更明智的決策:
- 銷售業(yè)績分析:無需等待報表或手動提取數(shù)據(jù)。只需詢問 “本月的銷售額相比上月增長了多少?”,即可即時獲取數(shù)據(jù),優(yōu)化銷售策略。
- 客戶洞察:快速了解客戶反饋。例如,詢問 “本月最常見的客戶投訴類型是什么?”,即可發(fā)現(xiàn)需要改進(jìn)的地方,從而提升服務(wù)質(zhì)量。
- 供應(yīng)鏈優(yōu)化:通過 “哪些產(chǎn)品的庫存低于安全庫存水平?” 或 “過去三個月中,哪些產(chǎn)品的庫存周轉(zhuǎn)率最高” 等問題,實時調(diào)整供應(yīng)鏈策略,提高運營效率。
- 財務(wù)報告分析:想提升企業(yè)財務(wù)透明度與決策效率?直接詢問“本季度的總收入是多少?”或“上個月的運營成本是多少?”,即可快速獲取關(guān)鍵財務(wù)數(shù)據(jù),支持管理層評估收入表現(xiàn)、控制成本和制定戰(zhàn)略,增強(qiáng)企業(yè)的整體財務(wù)健康。
隨著 AI 技術(shù)的發(fā)展,企業(yè)與數(shù)據(jù)的交互方式也將更加簡單。Chat2Query 仍在不斷進(jìn)化,把“數(shù)據(jù)驅(qū)動”的運營模式帶給更多企業(yè)和個人。
熱門跟貼