首頁 / 精選專題 / ChatGPT的資料庫應用

ChatGPT的資料庫應用

讓GPT幫你調資料


2023年ChatGPT剛爆紅不久,我就想拿它來做資料庫應用了,只是他當是吞吐量很少,動不動 token 就超過~然後,API 也沒有現在的 function call, 所以第一次嘗試以失敗告終~
終於~ function call 出現了,吞吐量也增加,可以在 API上 來回數次的搞😂😂
像下圖一樣,用戶輸入自然語言,由 ChatGPT 產生 SQL(註一), 最後主機執行 SQL 並回傳資料,過程其實向 GPT 做了兩次詢問。



第一次的 prompt 是

列出我們網站的美女會員
姓名, 電話


如果要完成上面的需求,你覺得下面所列出的資料表,哪些最有可能達成


orders 訂單
members 會員
other...


資料表的 comment 在這裡就非常重要了,尤其是資料表名稱很奇特的話。

我們可以預期他會回答 - members
這裡就是用 function call 的地方,強制 GPT 只回覆資料表名稱,並將名稱放入到陣列內(當需求複雜時,就會需要多個資料表),如果沒有 function call 的話就會變成~我覺得嘛,好像是members,或是其它參雜著中英文的答案。

得到資料表之後,程式就取出資料表內的欄位名稱以及 comment ,然後組織第二次詢問的 prompt

列出我們網站的美女會員
姓名, 電話


請用下面的資料表及其欄位,寫出一段SQL來滿足上面的需求

資料表 members
mname 會員姓名
sex 會員性別
phone 會員電話
other...


這裡我們仍然要用 function call 讓 GPT 只回傳 SQL

接下來就簡單了,得到 SQL 後由伺服器執行這段 SQL 並將查詢的結果做成表格回傳

再來跑一個較為複雜的需求

我想知道網站內,訂單數量最高的前三個會員的
姓名, 電話, 訂單數量, 消費總金額

這個需求總共跑了兩次,你會發現雖然得到的結果相同,但所使用的 Tokens(注二) 數量並不一樣,這是因為在 SlimGPT 下你可以直接挑選資料表傳送給 GPT,下拉清單內可以選擇所要傳送的資料表,甚至可以選擇要傳送哪些欄位,以上面這個需求來說,需要 members 以及 orders 兩張資料表,選擇好資料表,我們就可以省略掉向 GPT 詢問要使用哪些資料表的步驟,直接跳到第二步讓他寫出 SQL。

第二次跑同樣的需求,就完全使用自然語言不傳送資料表,所以無法省略第一步驟, Tokens 的數量也就跟著變多,再來我們可已看到他兩次所使用的 SQL 是不同的,但無論哪一種~結果都是對的。

因為安全方面的考量,只要 GPT 所回傳的 SQL 會讓資料庫有所變動(例如更新或刪除),SlimGPT 就不會直接執行 SQL, 而是回傳所要更動的資料,用戶加以確認後才會執行

一般網站後台的資料介面,大概只會提供一些像是,以電話、姓名搜尋會員及訂單的通用行為,老闆如果發神經~想找出所有跟他同星座的會員(還要訂單數超過多少),他要請吃飯~那就一定要工程師來處理了。

現在~用自然語言就能夠讓 GPT 為你做這些事,在這裡 SlimeGPT 扮演了中間的橋樑及執行者的角色。


註一: SQL 是操作資料庫的程式語言
註二: Tokens 可以當作字元來看,OpenAI 就是依照你所使用的 Tokens 數量來進行計費


SlimWeb Developer Eric
一個在五濁亂世中
    不願靠話術生存的工程師
Eric Chen
最後更新 2025-01-21 17:30:01發表日期 2025-01-21 16:05:03

延伸閱讀...

當有人說了一堆你不適合創業的理由官網只要用心經營,就會有值得期待的效益新的編輯器組件AI 電腦出世賓士 or 腳踏車

相關商品

Related Products
219

$29,999 $29,999

SlimWeb 全功能電商系統

114

$9,999 $19,999

SlimGPT/應用型人工智能

  • SlimWeb 全功能電商系統

    $29,999 $29,999

  • SlimGPT/應用型人工智能

    $9,999 $19,999

ChatGPT API

金物流

前端展示

線上客服

OpenAI應用