博客 / 詳情

返回

16 年等待,再見 SQL Boy,這一次數據庫交互形態徹底被顛覆了!

本文轉載自 InfoQ。

對於程序員來説,通過 SQL 操作數據庫是日常工作中經常會遇到的任務,算得上是一項基本技能。但即便是專業人員面對 SQL 編寫任務也往往會頭疼不已,更不要説在這一領域經驗不足的初學者了。ChatGPT 大火之後,其輔助程序員編寫代碼的能力受到了很大關注。那麼,類似 ChatGPT 這種能力能否用在數據庫操作上,幫助程序員甚至是缺乏代碼經驗的普通業務人員,使用自然語言來完成過去需要 SQL 才能做的事情呢?在近日舉辦的亞馬遜雲開發者 Tech Talk 上,Bytebase 聯合創始⼈/CEO 陳天舟就介紹了這樣一款產品——基於亞馬遜雲科技的雲服務架構,可以用自然語言與數據庫交互的 SQL Chat。InfoQ 將本場演講內容整理成文,希望對大家有所幫助。

軟件交互範式的演進:從命令行到 CUI

回顧軟件行業的交互範式演進史,大致上是從桌面到 Web 端,再到移動端。在上世紀 70 年代,用户一般通過命令後界面(CLI)與計算機交互。發展到 1979 年出現了 VisiCalc, VisiCalc 首次引入了表格佈局交互界面,具有革命性的意義。

file

這款軟件還帶火了 Apple 2 電腦,讓很多個人用户開始採購這款 PC 來製作表格。之後到了 1984 年,蘋果發佈了 Macintosh,搭配鍵盤、鼠標並採用了 GUI 界面,這也是現代 PC 所採用的標準界面的起源。再到 1993 年,第一款網頁瀏覽器 Mosaic 誕生。

file

這款瀏覽器開啓了 Web 端的時代。繼續向前來到 2007 年,iPhone 的發佈則開啓了現代智能手機時代。這樣來看,命令行 CLI 交互大概從 70 年代流行到 1984 年,GUI 的發展則分了三個階段,首先是 1984-1993 年是桌面端,1993-2007 年是 Web 端,2007 年到現在則是移動端,每一次換代間隔大約 13 年左右。

而到了 2023 年的今天,ChatGPT 橫空出世。ChatGPT 的交互方式可以稱為 Chat User Interface(CUI)。從 2007 年到 2023 年,歷經 16 年的等待,軟件行業終於迎來了交互範式的又一場革新。

數據庫交互與 CUI 革命

軟件交互範式的進化自然也會影響數據庫的操作方式。以 SQL 客户端這個具體場景來為例,今天的 SQL 客户端還有很多命令行的交互工具,但業內也存在很多起源於 Windows 的 GUI 工具,比如 Navicat 等。

file

如今,基於 CUI 的全新交互方式就完全不一樣了。CUI 沒有大量控件組合,只有一個簡單直接的輸入框。用户用自然語言問數據庫問題,它會神奇地寫出對應的 SQL 語句同數據庫交互。這種進化能讓人想到谷歌誕生之前的雅虎。彼時雅虎在做黃頁目錄,用户通過線上黃頁查找信息;之後谷歌直接推出了搜索框,一個搜索框就能找到互聯網的所有內容。現在的數據庫交互軟件有眾多複雜的控件、樹、表單,而到了 CUI 時代,所有這些元素都消失了,用户只需一個對話框來輸入問題,機器人就能給出回答。

file

SQL Chat:用自然語言和數據庫交互的全新工具

所謂 SQL Chat,顧名思義就是用聊天的方式寫 SQL,跟數據庫打交道。下圖是整個產品的界面。

file

例如向 SQL Chat 提問,問用户組織裏面哪個部門有最多的員工,這個工具就能直接給出對應的 SQL 語句,還會解釋這個語句的含義。

file

如果用户對結果不滿意還能糾正它,可以説這個語句不是自己想要的,給出理由讓它重新嘗試,它會根據用户的反饋再做調整。

file

file

它的交互方式是很自然的,就像用户在和人類對話一樣。例如,用户可以創建一個 Amazon Aurora 的 HR 數據庫,之後先問一些基本的問題,讓它回答數據庫有哪些表。SQL Chat 會知道用户對員工的薪資和職稱是最感興趣的,又知道部門和員工之間是生產關係,知道員工個人信息是個人隱私。

如果提問哪個部門的員工平均薪水最高,它不僅會給出 SQL 語句,還會解釋這條 SQL 是什麼操作。再來問它哪個經理手下人員最多,列出 SQL 代碼,它會給出查詢語句查到手下員工最多的經理。如果用户對這條查詢不是那麼滿意,還想看一下這位經理到底有多少個員工,請機器人把他的員工數也包含在內,它就會給出修正的查詢。

但目前 SQL Chat 涉及子查詢的時候還是會出現一些問題,可能會報錯,提示內容未指定等。這反映出它使用的模型還是有一些侷限性,陳天舟表示,這類問題在未來隨着調優是可以解決的。

file

未來,開發團隊會收集一些交互數據,把這些數據進行脱敏匿名化處理後放到 Amazon S3 上,再把它灌到 Amazon SageMaker,在 Amazon SageMaker 裏做整個模型的訓練調優。陳天舟預計,半年後再演示新版 SQL Chat 時就能比較好地解決子查詢的問題了。

SQL Chat 背後的公司是 Bytebase,主要做數據庫管理工具。如果企業需要 Schema 的數據結構變更、數據查詢,或者團隊之間需要有一套標準的審批流,做數據安全治理,Bytebase 的主產品都可以滿足。它主要面向團隊和企業級,是開源的。下圖左邊的二維碼是亞馬遜雲開發者社區,右邊是 SQL Chat 自己的用户羣。SQL Chat 在 GitHub 上是完全開源的,接下來也會有很快的迭代速度。最後,SQL Chat 後期還有望支持多模態輸入,希望大家持續關注。

file


💡 你可以訪問官網:https://www.bytebase.com/,免費註冊雲賬號,立即體驗 Bytebase。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.