Milvus logo

Milvus

認領

Milvus 是一款開源向量資料庫,支援 embeddings 相似度搜尋,提供本機、單機、分散式與雲端部署,適合建立語意搜尋、RAG、圖片搜尋與混合搜尋等 GenAI 檢索流程。

Milvus preview

概覽

Milvus 是一款開源向量資料庫,用於建立圍繞 embeddings 與相似度搜尋的應用程式。它被定位為可在從筆電到大規模分散式叢集等廣泛環境中執行的高效能系統,並同時提供開源軟體與雲端服務。

產品設計用於將向量資料與 metadata 一併儲存,接著支援對這些資料進行快速搜尋與檢索。文件與快速入門展示了以 Python 為基礎的工作流程,使用 `pymilvus`,並以 Milvus Lite 進行本機開發,以及在正式部署時使用 Docker 或 Kubernetes。

Milvus 專為 GenAI 與其他以 embeddings 驅動的工作負載而設計,例如語意搜尋、檢索增強生成、圖片搜尋、多模態搜尋、混合搜尋以及相關的檢索流程。其架構強調可擴充性、硬體感知效能與多種搜尋模式,而非單一狹窄的使用情境。

功能

向量與 metadata 建模

在 collections 中儲存向量 embeddings 與相關 metadata。文件說明 Milvus 支援多種資料類型,包括數值與字元類型、向量類型、陣列、集合與 JSON。

多種部署模式

選擇最符合環境的部署模式。Milvus Lite 適用於 notebook 與筆電,Standalone 是單機 Docker 部署,而 Distributed 則為 Kubernetes 與十億級規模工作負載而設計。

滿足不同檢索需求的搜尋模式

執行廣泛的檢索操作,包括 ANN 搜尋、篩選搜尋、範圍搜尋、混合搜尋、全文搜尋、reranking、fetch 與 query。

以效能為導向的搜尋引擎

使用硬體感知最佳化與多種索引/搜尋演算法,例如 IVF、HNSW 與 DiskANN,以支援不同平台上的快速向量搜尋。

分散式擴充架構

將無狀態、解耦式架構擴展到分散式系統中。文件描述了可獨立擴充的搜尋、資料與索引元件,適用於大型部署。

以 Python 為先的開發流程

先使用 `pymilvus` 與 `MilvusClient` 在本機開始,之後可將相同的以 client 為中心的工作流程移轉到 Docker 或 Kubernetes 上的正式部署。

使用案例

  • 檢索增強生成

    建立檢索增強生成系統,將文件或知識庫的 embeddings 儲存起來,並使用向量搜尋為 LLM 提供相關上下文。

  • 語意搜尋

    為文字、圖片或其他非結構化資料建立搜尋體驗,在這些情境中,embeddings 的相似度比精確關鍵字比對更有用。

  • 原型設計與開發

    在 Jupyter notebooks 或筆電上使用 Milvus Lite 執行本機實驗,之後再將相同的模型與 client 方法移轉到 Docker 或 Kubernetes 部署。

  • 具 metadata 感知的檢索

    當您需要將向量相似度與 metadata 條件或次級排序邏輯結合時,可使用混合搜尋、篩選與 reranking。

  • 高規模正式環境搜尋

    支援需要分散式基礎架構與彈性擴充、且面對超大型向量集合的大規模正式系統。

Pros and Cons

Pros

  • 支援本機、單機與分散式部署模式。
  • 涵蓋廣泛的檢索模式,包括 ANN、篩選、混合、範圍、全文、reranking、fetch 與 query。
  • 將向量與 metadata 一起儲存,有助於支援篩選與更豐富的檢索流程。
  • 提供以 `pymilvus` 與 `MilvusClient` 為主的 Python 快速入門,讓本機設定更直覺。
  • 文件說明其為採用 Apache 2.0 授權的開源軟體,並且也可作為雲端服務使用。

Cons

  • 由於提供的定價頁面回傳 404,因此無法取得價格與方案細節。
  • 來源資料在向量檢索與部署模式方面最為完整;相較於核心資料庫能力,對整合與代管服務細節的說明較少。

FAQ

我要如何執行 Milvus?

Milvus 支援透過 Milvus Lite 進行本機原型開發,這是一個可在筆電或筆記型電腦上執行的 Python 函式庫,也支援用於正式環境的 Docker 與 Kubernetes。文件描述了 Milvus Lite、Standalone 與 Distributed 三種部署模式。

Milvus 的基本工作流程是什麼?

快速入門會示範如何使用 pip 安裝 `pymilvus`、透過 `MilvusClient` 建立本機資料庫檔案、建立 collection、插入向量資料,並執行搜尋。範例使用 Milvus Lite 進行本機設定。

Milvus 適合哪些應用?

Milvus 是為高維 embeddings 的向量相似度搜尋而設計,並支援語意搜尋、檢索增強生成(RAG)、圖片搜尋、多模態搜尋、混合搜尋與 graph RAG 等流程。

Milvus 是開源還是代管服務?

來源將 Milvus 描述為採用 Apache 2.0 授權的開源軟體,同時也是一項雲端服務。首頁另外指出 Zilliz Cloud 是 Milvus 的受管選項。

Milvus 提供哪些搜尋能力?

文件指出 Milvus 支援多種搜尋類型,包括 ANN 搜尋、篩選搜尋、範圍搜尋、混合搜尋、全文搜尋、reranking、fetch 與 query。

Quick Facts

類別
向量資料庫
來源網域
milvus.io
授權
Apache 2.0
主要語言
透過 `pymilvus` 的 Python 快速入門
部署選項
Lite、Standalone、Distributed 與雲端服務
常見工作流程
語意搜尋、RAG、圖片搜尋、多模態搜尋、混合搜尋