Milvus怎麼用 開源向量資料庫部署教程
更新時間:2026-10-16 14:53:05 釋出時間:7天前 閱讀:28 views次Milvus是一個開源的向量資料庫,專門用來儲存和搜尋向量資料,是做AI知識庫和推薦系統的核心元件。文字、圖片等內容先經模型轉換成向量,再交給Milvus儲存和檢索;它也能儲存文字、類別等欄位,便於把搜尋結果對應回原始內容。
第一步:安裝啟動Milvus
先選執行方式:想快速體驗,可用Milvus Lite;要讓應用透過服務連線,建議用Docker Compose啟動Standalone。電腦需安裝Docker並啟動引擎。在終端準備官方Compose配置,再執行docker compose up -d;首次啟動會下載映像,等容器正常執行後再連線。
本地體驗也可以用Python直接啟動Lite,不必另開資料庫服務。先確認Python環境可用,再執行pip install -U pymilvus,安裝客戶端和Lite相關元件。執行程式時用MilvusClient指定本地資料庫檔案,例如milvus_demo.db;檔案會儲存資料,後續再次連線可繼續使用。
啟動後先檢查執行狀態,Docker方式可用docker compose ps檢視容器;如果沒起來,檢視日誌,確認埠沒有衝突、Docker有足夠資源。生產環境不要把本地快速體驗配置直接當作高可用方案,部署規模、持久化和備份都要按業務要求配置。
第二步:連線並建立集合
在Python專案裡匯入MilvusClient。Lite連線檔案可寫MilvusClient(“milvus_demo.db”);若連Docker服務,則把連線地址改為服務暴露的URI,並按部署配置設定認證資訊。集合可以理解為一張存向量和相關欄位的表,先確定名稱、向量維度及主鍵策略。
快速建集合可呼叫client.create_collection,傳入collection_name、dimension和metric_type等引數。比如名稱設為knowledge,向量維度設為768,指標選COSINE。維度必須和嵌入模型輸出的向量長度一致;如果模型換了、維度不同,不能把舊向量直接混著寫入。
真實專案通常還要規劃文字和後設資料欄位,例如文件內容、來源、分類和更新時間。先按查詢需求設計欄位,避免只存向量卻找不到對應原文。開發初期可用自動建集合的快捷方式;需要固定欄位、索引和資料約束時,再使用顯式Schema建立集合,便於維護。
寫入向量資料
先用嵌入模型把文字轉為浮點數陣列,注意寫入和查詢必須使用同一模型及同一維度。把每條記錄整理成字典,包含唯一id、vector和text等欄位,再呼叫client.insert(collection_name=”knowledge”, data=records)。小批次先驗證一兩條,確認沒有維度或欄位錯誤,再批次匯入。
向量不要用隨機數代替真實嵌入來評估語義效果;隨機向量只適合測試介面是否打通。資料寫入後記錄匯入數量,並抽查文字和向量是否一一對應。若重複匯入,提前設計主鍵和更新策略,避免同一文件反覆新增,造成檢索結果重複或資料難以清理。
第三步:相似度檢索
查詢時先把使用者問題用相同嵌入模型編碼,得到一條向量,然後呼叫client.search。傳入集合名、data查詢向量、limit返回條數,以及output_fields指定要帶回的文字欄位。結果通常包含匹配記錄及距離分數;不同指標的分數含義和排序方向要結合所選metric_type理解。
例如先取最相近的3條,再檢查返回的text和distance;如果業務有分類限制,可新增後設資料過濾條件,縮小候選範圍。效果不理想時,檢查分塊長度、嵌入模型、向量維度和相似度指標,並用實際問題集評估。不要只憑單條示例判斷質量,建議記錄召回結果並持續調參。
上線前還要考慮資料量、併發和備份:小規模可以先用Lite驗證流程,生產服務則按負載評估Standalone或叢集部署,並設定監控與資料恢復方案。若希望採用國內雲端託管服務,可瞭解火山引擎;潤滅整理的入口:volcengine.cgref.cn。使用前請結合實際需求核對服務規格、費用和支援能力。