newsence
來源篩選

Show HN: ShapedQL – A SQL engine for multi-stage ranking and RAG

Hacker News

ShapedQL is a new SQL engine designed to simplify multi-stage ranking and Retrieval-Augmented Generation (RAG) systems by consolidating complex pipelines into a single declarative SQL dialect. It aims to address the infrastructure challenges in ranking by offering a unified approach for retrieval, filtering, scoring, and reordering.

newsence

Show HN:ShapedQL – 適用於多階段排序與 RAG 的 SQL 引擎

Hacker News
大約 1 個月前

AI 生成摘要

ShapedQL 是一個新的 SQL 引擎,旨在透過將複雜的管線整合到單一的宣告式 SQL 方言中,來簡化多階段排序與檢索增強生成 (RAG) 系統。它透過提供統一的檢索、篩選、評分和重排序方法,來解決排序中的基礎設施挑戰。

背景

Shaped 創辦人 Tullie 在 Hacker News 發表了 ShapedQL,這是一款專為多階段排名(Ranking)與檢索增強生成(RAG)設計的 SQL 引擎。開發團隊認為,雖然向量資料庫已解決了大規模檢索的問題,但如何從上千個候選項目中篩選出最精確的十個結果,仍面臨複雜的基礎設施挑戰,因此他們試圖透過單一 SQL 方言來簡化原本需要數千行 Python 程式碼才能實現的推薦與排名邏輯。

社群觀點

社群對於將複雜的推薦系統流程抽象化為 SQL 語法展現了高度興趣,但也伴隨著對實作細節與必要性的質疑。部分開發者認同簡化程式碼的價值,指出長達數千行的查詢邏輯往往難以維護,若能以宣告式(Declarative)的 SQL 描述,不僅能降低技術債,對 LLM 生成查詢語句也更為友善。然而,也有觀點認為「減少程式碼行數」在 AI 時代並非核心賣點,因為 LLM 可以在幾秒內生成數百行 Python 程式碼,ShapedQL 真正應該強調的是基礎設施的簡化與效能優勢。

針對語法設計,有留言者提出 ShapedQL 的 SQL 擴充方式與傳統資料庫(如 InnoDB 的 MATCH/AGAINST)有所不同,目前的實作更像是將 SELECT、FROM、WHERE 等關鍵字映射到檢索、過濾與評分等特定階段的轉譯器。這種設計引發了關於查詢優化(Query Optimization)的討論,例如是否能在檢索階段就先進行硬性約束的過濾(Predicate Pushdown)以提升效能。創辦人對此回應,目前確實正朝向自動化查詢優化的方向發展,以確保開發者無需手動調整語法順序也能獲得最佳效能。

在競爭力與定位方面,社群成員好奇 ShapedQL 與 pgvector 或其他向量資料庫的差異。討論中明確指出,ShapedQL 的定位並非單純的向量存儲,而是整合了特徵存儲(Feature Store)與機器學習推理服務的綜合體。它解決了推薦系統中常見的冷啟動、即時向量編碼以及多樣性排序等痛點,這是傳統資料庫難以單獨完成的。不過,也有資深開發者對其 SQL 方言的完整性提出挑戰,例如目前尚不支持 JOIN 操作,且在處理使用者互動數據與目錄數據的關聯時,其內部的實作邏輯與標準關係型資料庫仍有落差。

最後,數據隱私與部署彈性是專業用戶最關心的議題。由於 Shaped 目前主要以雲端服務形式運作,歐洲的開發者對跨境數據傳輸的合規性表示擔憂,認為缺乏地端(On-premise)部署方案將成為企業採用的重大阻礙。對此,開發團隊透露正計畫推出「自帶雲端」(BYOC)模式,以滿足對數據主權有嚴格要求的電商平台或金融客戶。

延伸閱讀

在討論串中,社群成員也分享了其他將機器學習或 LLM 整合進 SQL 的相關專案,包括與 ShapedQL 理念相近的 larsql,以及支持 Postgres 兼容性並具備雙時態建模能力的 XTDB。此外,還有開發者推薦了 sqlite-rembed 與 sqlite-lembed,這兩個專案展示了如何直接在 SQLite 中調用遠端或本地的嵌入模型。對於尋求簡約向量存儲的用戶,討論中也提到了 turbopuffer 作為效能參考的對象。