Uber 工程團隊打造 QueryGPT:用 AI 簡化資料查詢,效率大躍進
在現今資料驅動的時代,快速且有效地從龐大資料庫中提取資訊變得至關重要。Uber 工程團隊深知這一點,因此打造了 QueryGPT,一個利用生成式 AI 將自然語言轉換成 SQL 查詢的創新工具。這項工具不僅簡化了資料科學家、工程師和營運經理的工作,更大幅提升了整體效率。
過去,Uber 內部每月處理約 120 萬次互動式查詢,其中營運團隊就佔了超過三分之一。撰寫這些 SQL 查詢需要對資料庫結構有深入的了解,並且耗費大量時間。平均而言,撰寫一個查詢可能需要 10 分鐘以上。QueryGPT 的出現,將這個時間大幅縮短至僅 3 分鐘,為 Uber 節省了驚人的時間成本。
QueryGPT 的概念源自於 2023 年 5 月 Uber 舉辦的生成式 AI 黑客松。最初的版本是一個簡單的 RAG(Retrieval-Augmented Generation)系統,它會將使用者的自然語言輸入向量化,然後在 SQL 範例和結構描述中進行相似性搜尋,以此找到相關的表格和查詢範例。
然而,隨著資料庫規模的擴大,最初版本的準確性開始下降。為了解決這個問題,Uber 工程團隊對 QueryGPT 進行了多次迭代,引入了更複雜的架構。
QueryGPT 的進化之路:
- 工作區 (Workspaces): 將 SQL 範例和表格依照業務領域(如行動服務、核心服務、廣告等)進行分類,讓 LLM 能更精準地鎖定範圍,提高查詢的相關性和準確性。
- 意圖代理 (Intent Agent): 透過分析使用者輸入的自然語言,將其對應到特定的業務領域,進一步縮小搜尋範圍。
- 表格代理 (Table Agent): 讓使用者可以檢閱並修改系統自動選取的表格,確保使用了最適合的資料來源。
- 欄位精簡代理 (Column Prune Agent): 移除不相關的欄位,減少 LLM 需要處理的資料量,進而提升效率並降低成本。
除了架構上的改進,Uber 工程團隊還建立了一套完善的評估系統,用以監控 QueryGPT 的效能,並確保其持續改進。這個系統會追蹤意圖判斷的準確性、表格選取的正確性、查詢是否成功執行,以及生成出的 SQL 查詢與黃金標準之間的相似度。
QueryGPT 的成功經驗,對其他企業有何啟示?
Uber 的 QueryGPT 案例證明了生成式 AI 在簡化複雜技術任務上的巨大潛力。以下幾點值得其他企業參考:
- 專注於特定領域: 將資料庫依照業務領域進行分類,有助於提高 AI 模型的準確性。
- 建立中間代理: 將複雜的任務分解為更小的、更專門的子任務,可以讓 AI 模型更有效地工作。
- 導入使用者回饋機制: 讓使用者可以檢閱和修改系統的建議,確保最終結果的準確性。
- 建立完善的評估系統: 監控 AI 模型的效能,並持續改進。
雖然 LLM 在分類任務上表現出色,但也存在產生「幻覺」的傾向,也就是生成出不存在的表格或欄位。因此,企業在使用這類工具時,需要特別注意這一點,並採取措施來減少錯誤。
Uber 的 QueryGPT 不僅提升了內部效率,也展示了 AI 如何改變我們與資料互動的方式。隨著 AI 技術的不斷發展,我們有理由相信,未來將會出現更多類似的工具,讓資料分析變得更加容易且普及。
個人心得:
QueryGPT 的成功案例,展現了 AI 在企業內部提升效率的巨大潛力。然而,導入 AI 工具並非一蹴可幾,需要仔細規劃、持續迭代和完善的評估機制。對於台灣企業而言,如何善用 AI 技術,提升競爭力,將會是一個重要的課題。
參考閱讀
- https://medium.com/wrenai/how-uber-is-saving-140-000-hours-each-month-using-text-to-sql-and-how-you-can-harness-the-same-fb4818ae4ea3
- https://www.uber.com/en-IN/blog/query-gpt/
- https://sequel.sh/blog/query-gpt-uber
- https://talent500.com/blog/querygpt-sql-query-generation-ai/