跳轉至

建立 2026-09-15 更新 2026-09-15

Milvus

Milvus 是面向大規模相似度搜尋的開源向量資料庫(Linux Foundation AI & Data 專案),由 Zilliz 為主要貢獻者。同一套 API 可從筆電上的 Milvus Litepip install),一路用到 Docker Standalone 或分散式叢集、以及託管的 Zilliz Cloud。

影片見 Milvus 影音

什麼時候選它

  • 預期資料量會到千萬、億級,需要獨立的向量基礎設施。
  • 本機先用 Lite 驗證,之後不想改 API。
  • 需要 dense + 全文(BM25)的 hybrid search(2.5 之後)。

課程作業或幾百筆文件,Chroma 通常比較輕。已有 Postgres 且量不大,pgvector 較省事。

三種部署,同一套觀念

模式 怎麼起 適合
Lite MilvusClient("demo.db") Notebook、單元測試
Standalone Docker Compose 單機正式或團隊共用
Distributed / Cloud K8s 或 Zilliz Cloud 大規模與 SLA

物件模型:Database → Collection(schema + index)→ Entity(列)。搜尋前通常要對向量欄建立索引(HNSW、IVF 等),Lite 的快速入門會用預設幫你處理。

最小流程(Lite)

from pymilvus import MilvusClient

client = MilvusClient("milvus_demo.db")
client.create_collection(collection_name="docs", dimension=384)

client.insert(
    collection_name="docs",
    data=[
        {"id": 1, "vector": [0.1, 0.2, 0.3], "text": "退貨請於七日內提出申請。"},
    ],
)

hits = client.search(
    collection_name="docs",
    data=[[0.1, 0.2, 0.3]],
    limit=3,
    output_fields=["text"],
)
print(hits)

vector 長度必須等於 dimension。真實專案用 Sentence Transformer 或 OpenAI 產生向量後再 insert。官方一分鐘影片就是這條路。

Standalone 則先起 Docker,再把 MilvusClient 的 URI 指到 http://localhost:19530。Python 與 Node 範例見社群與官方 Getting Started 播放清單。

官方學習資源

官方 YouTube

Zilliz/Milvus 頻道 與播放清單 Getting Started with Milvus。Lite、hybrid search workshop 的內嵌見 Milvus 影音

官方文件與 Bootcamp

Milvus 文件 OverviewGitHub Bootcamp。託管服務見 Zilliz Cloud。目前學習以文件、Bootcamp 與 YouTube 為主,沒有獨立的原廠證照考試列在公開頁面。