milvus-io/milvus-lite
A lightweight version of Milvus
解決的問題
Milvus Lite 提供了一個輕量級的本地版 Milvus 向量資料庫,為需要在原型設計、測試或小規模 AI 應用中使用向量搜尋功能的開發者,消除了複雜基礎設施設定的需求。使用者可以將一個功能完整的向量儲存作為本機檔案或嵌入式伺服器執行,確保為本機開發撰寫的程式碼可輕鬆遷移至生產級 Milvus 部署(Standalone 或 Distributed)或 Zilliz Cloud,僅需極少修改。
工作原理
Milvus Lite 從零開始以純 Python 重構,使用本機 LSM 風格的儲存引擎。它透過預寫日誌(WAL)、記憶體中的 memtable 和不可變的 Parquet 段來管理資料。在搜尋方面,它利用 FAISS 支援的向量索引和 INVERTED 標量索引。它可以以三種方式運作:透過 pymilvus 客戶端作為本機 .db 檔案,作為獨立的本機 gRPC 伺服器供多客戶端存取,或直接透過其內部嵌入式引擎 API。
適用對象
- AI 開發者:需要本地向量儲存以快速原型設計的 RAG 應用或 AI 代理開發者。
- 資料科學家:在筆記本(如 Jupyter)中工作,希望在不管理獨立資料庫伺服器的情況下整合向量搜尋的使用者。
- QA 工程師:需要輕量級、隔離環境來對向量資料庫執行自動化測試的開發人員。
主要亮點
- 即插即用的本機使用:使用
MilvusClient("./demo.db")一行程式碼即可啟動資料庫。 - 混合搜尋:支援密集向量搜尋、稀疏 BM25 全文搜尋以及組合的混合搜尋。
- 純 Python 實作:使用 Python 實作,便於使用標準 Python 堆疊追蹤進行檢查和除錯。
- 豐富的過濾功能:實作 Milvus 風格的標量、JSON 路徑、陣列和幾何(WKT)過濾。
- 無縫遷移:與
pymilvusAPI 相容,可輕鬆過渡到完整的 Milvus 集群。 - 資料匯出:包含 dump 命令,可將集合匯出為 JSON 檔案,用於批量插入生產 Milvus 環境。
相關
- 專案
- 專案
- 專案
- 專案
- 專案