Lantern

Lantern

Lantern Systems, Inc. · 程式設計

Lantern 是 Postgres 的開源擴充套件,為現有資料庫加上 HNSW 向量搜尋與嵌入向量生成,另提供代管雲端服務,適合打造 AI 應用。

Lantern 的介面預覽

關於 Lantern

About

什麼是 Lantern

Lantern 以擴充套件形式跑在 PostgreSQL 裡,向量就存放在你原本那些資料表,不必另外開一套系統。你新增一個向量欄位、在上面建立 lantern_hnsw 索引,資料庫就能用一般 SQL 回應最近鄰查詢。沒有第二個儲存體、沒有同步工作,也不用學另一套查詢語言。

這個專案鎖定的是想在 Postgres 內完成語意搜尋、推薦與 AI 助理取回資料的團隊。它支援 Postgres 11 到 16,並沿用 pgvector 的 vector 型別,因此既有的 pgvector 資料表可以直接搬過來,型別本來就對得上。

限制也該一起看。Lantern 由小型團隊維護,開源版最新版本是 2024 年 11 月的 v0.5.0,免費雲端方案只有 0.25 vCPU 與 0.5 GB RAM。拿來做原型與中型資料集很合適,但需要大型支援組織的團隊就不太適合。

開始使用

  1. 在 Lantern Cloud 建立免費專案,或用 Docker、Homebrew 或預編譯檔在自家 Postgres 安裝擴充套件。
  2. 在要使用的資料庫執行 CREATE EXTENSION lantern。同一個執行個體上的每個資料庫都要各自建立一次。
  3. 在資料表新增向量欄位,並以浮點數陣列寫入資料列。
  4. 用 CREATE INDEX ... USING lantern_hnsw 建立索引,並選擇餘弦或 L2 平方等運算子類別。
  5. 用距離運算子查詢,或開啟自動生成,讓 Lantern 直接從文字欄位補上嵌入向量。

產品資訊

快速了解 Lantern 的定價、支援平台與效能。

免費方案是
付費方案$0 - $704/mo
平台Lantern Cloud (managed Postgres), self-hosted on Postgres 11-16 via Docker, Homebrew, or binaries
開發者Lantern Systems, Inc.
類別程式設計
發布日期Jul 2023
最近更新Dec 2024
網站訪問量2.2K
網站全球排名6.6M
API 提供狀態是

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 已經在用 Postgres 的後端工程師:向量留在熟悉的資料庫裡,不必多維運一套服務,前提是你寫得動 SQL。
  • 為聊天機器人打造檢索功能的 AI 工程師:嵌入向量和應用程式資料表放在一起,就省掉與外部向量儲存體同步的步驟。
  • 沒有資料庫管理員的小團隊:代管雲端會處理備份、還原到指定時間點與升級。免費方案只給 0.25 vCPU。

任務

  • 對商品目錄、客服文件或內部 wiki 做語意搜尋,讓文字查詢依意義回傳結果,而不是只比對字面。
  • 用 CLIP 嵌入向量做圖片相似度搜尋,Lantern 把它和文字模型一起內建。
  • 依使用者嵌入向量的距離排序項目,並在與業務資料表合併的同一段查詢裡算完。
  • 在大批資料中做去重與近似重複偵測,用餘弦索引搭配距離門檻。

情境

  • 在既有的 Rails、Django 或 Node 應用加上搜尋,不必再引入一個資料儲存體。
  • 從 pgvector 或 Pinecone 搬過來,讓關聯式資料與向量都交給同一個資料庫。
  • 先在免費方案驗證 RAG 流程,再決定要不要付費開執行個體。

主要功能

內建於 Postgres 的 HNSW 索引

Lantern 為向量欄位加上 lantern_hnsw 索引型別,加速 ORDER BY ... LIMIT 查詢。索引底層是 usearch 這個精簡的 HNSW 實作,支援 L2 平方、餘弦與漢明距離,建立索引時選擇對應的運算子類別即可。

用 SQL 生成嵌入向量

不必離開資料庫就能產生向量。Lantern 提供輔助函式,直接呼叫嵌入模型並把結果寫進欄位,Python 或 Node 服務就不用自己切文件、呼叫 API、處理重試。

自動維護的嵌入向量欄位

代管欄位會讓向量保持最新。你把 Lantern 指向某個文字欄位與某個模型,新增或修改的資料列就以非同步工作在背景補上向量。內容資料表與搜尋索引之間的黏著程式碼可以整段刪掉。

從 SQL 呼叫 LLM

0.5.0 版加入 llm_completion 與 add_completion_job,可以在查詢中或以後台工作方式對 LLM 送出提示。功能範圍很窄,適合分類與短文摘要,不能取代應用層。

無伺服器索引與平行建置

建索引通常是最慢的一步。Lantern 可以在資料庫伺服器之外或另一台機器上建構索引圖,大規模重建不會拖住正常流量。雲端以無伺服器索引計價,每 GB 起價 0.50 美元。

索引自動調參與量化

手動挑 M、ef 與 ef_construction 得靠反覆試驗。Lantern 內建自動調參工具,依你的資料給出建議值,另外提供乘積量化,在記憶體吃緊時縮小索引。

優缺點

優點

  • 向量就放在 Postgres,合併、篩選與交易的行為和其他資料表完全一致。
  • 支援 pgvector 的資料型別,已經在用的人遷移起來很省事。
  • 嵌入向量生成與代管欄位省掉一整套資料匯入服務。
  • 雲端免費方案不會被暫停,展示專案久未使用也不會丟掉資料庫。
  • 索引可在主要伺服器之外建置,重建期間正式環境仍能回應。

缺點

  • 開源版更新節奏慢。v0.5.0 停在 2024 年 11 月,程式庫最後一次推送是 2024 年 12 月,修補得靠自己維護分支。
  • 文件預設你會寫 SQL、懂索引調校。沒有後端工程師的團隊,第一個索引就會卡住。
  • 免費執行個體只有 0.25 vCPU 與 0.5 GB RAM,做展示可以,再多就吃緊。
  • 嵌入向量費用會疊在資料庫帳單上,想避開 Lantern 的每詞元加成,只能自帶 OpenAI 或 Cohere 金鑰。

常見問題

有兩種情況都算免費。擴充套件以 AGPL-3.0 開源,自架不收費;Lantern Cloud 也有免費方案,提供 0.25 vCPU、0.5 GB RAM,且不會暫停。付費執行個體每月 44 美元起,最高每月 704 美元,規格為 16 vCPU 與 60 GB RAM。