返回首頁

Vector databases and AI data infrastructure

LanceDB 0.38 加入增量物化視圖與函式欄位,同步帶來多項 SDK 破壞性變更

LanceDB 0.38.0 把物化視圖、可計算欄位與函式資源需求帶進 Python、Node.js 等介面,讓嵌入與資料轉換更靠近儲存層。版本同時更改表格判定、分支操作及執行環境需求,RAG 系統升級前需要交叉驗證查詢結果。

David Berardan · CC BY-SA 3.0 · Image source
zh-Hant

LanceDB 於 8 月 31 日發布 0.38.0,將向量資料庫進一步擴充成可執行特徵轉換的資料層。新版可用 SQL 表達式宣告與重新整理 computed columns,並為本機表格提供物化視圖的宣告及 refresh;Python 與 Node.js 都取得對應綁定。官方文件顯示,物化視圖可把轉錄、嵌入或其他昂貴 UDF 的結果保存為可查詢表格,後續 refresh 僅處理新增或變更的資料片段,而非每次重算整套資料。

函式介面亦加入具版本的 wire contract、欄位綁定、Conda 執行環境與 GPU 資源需求。對多模態 RAG 或訓練資料管線而言,這代表文件切分、影像處理及 embedding 生成可與資料版本和重新整理工作綁定,減少外部排程器負責的接線工作。StreamingDataset 則新增轉換錯誤處理、後處理佇列 backpressure 與 sequence packing,改善大量資料進入模型前的流量控制。

這不是無痛升級。Python 套件改為要求 Pydantic 2;Node.js 最低版本升至 22,並依向量欄位保存 embedding 設定。分支合併 API 改名為 `cherry_pick`,資料表是否存在改以 manifest 為準,列表分頁也改採儲存層 cursor。這些變更可能影響自行封裝的管理工具、舊版 schema 驗證及混合語言部署。

0.38.0 還修復 hybrid search 忽略 `.offset()`、列表跨頁遺漏表格,以及 Node 端 embedding metadata 無法跨 Python 讀取等問題。這些錯誤會直接改變檢索集合或排序後分頁,因此工程團隊除了跑 API 相容測試,也應以固定查詢集比對升級前後的文件 ID、分數與頁面邊界。物化視圖的增量正確性、失敗後 checkpoint 行為及 GPU UDF 的資源隔離,仍是正式導入前最值得壓測的部分。

來源

  1. LanceDB v0.38.0 release notes
  2. Materialized Views with UDFs
  3. lancedb 0.38.0 package files