首頁 > AI工具教程 > Qdrant怎麼用 Rust向量資料庫部署教程

Qdrant怎麼用 Rust向量資料庫部署教程

更新時間:2026-10-16 13:17:50 釋出時間:8天前 閱讀:32 views次

Qdrant是一個用Rust寫的開源向量資料庫,搜尋速度快、資源佔用低,適合做AI語義搜尋和推薦系統。它把向量和業務欄位一起儲存,既能找相似內容,也能按標籤篩選。下面用Docker啟動服務,再透過REST API建集合、寫入向量並完成搜尋;示例向量僅用於演示,實際專案要換成模型生成的嵌入。

第一步:Docker啟動Qdrant

先確認電腦已安裝並啟動Docker,再在終端執行:docker run -p 6333:6333 -p 6334:6334 -v qdrant_storage:/qdrant/storage qdrant/qdrant。這裡把資料目錄掛到Docker卷,容器重啟後資料仍可保留。啟動後瀏覽器開啟http://localhost:6333/dashboard,可進入管理介面;本地試用方便,但不要把未鑑權埠直接暴露到公網。

如果想用Docker Compose管理服務,可建立compose.yaml,配置映像為qdrant/qdrant,並對映6333和6334埠、掛載持久化卷,然後執行docker compose up -d。6333用於HTTP介面,6334用於gRPC客戶端。檢視狀態可執行docker compose ps;需要停止時執行docker compose down,卷通常會保留,除非另外刪除。

第二步:建立集合和寫入資料

集合(collection)可以理解為一組向量記錄。用curl向本機服務傳送PUT請求,建立名為articles的集合,並設定向量長度為4、距離型別為Cosine。正式使用時,向量長度必須與嵌入模型輸出維度一致,距離指標也應參考模型的訓練方式;不能為了照抄示例而把真實向量隨意改成4維。

建立後向/collections/articles/points傳送PUT請求寫入點,點包含唯一ID、向量和payload後設資料,例如內容類別、標題或租戶編號。演示資料可以使用[0.1,0.2,0.3,0.4]這樣的陣列,payload則放入{“category”:”guide”}。業務程式碼中先生成文字嵌入,再把嵌入和原文標識等欄位一起寫入;批次匯入時可分批提交,避免一次請求過大。

配置向量距離和索引

建立集合時常見距離有Cosine、Dot和Euclid。Cosine適合比較方向相似度,Dot常用於模型直接以點積訓練的場景,Euclid衡量歐氏距離;具體選擇以嵌入模型說明為準。Qdrant會為向量搜尋構建索引,預設配置可先用於小規模驗證。資料量增長後,再結合記憶體、延遲和召回效果調整HNSW等索引引數。

如果搜尋經常按payload欄位過濾,例如category或tenant_id,可以為該欄位建立payload索引,幫助過濾查詢更有效率。按業務真實篩選條件建索引即可,不必給所有欄位都建索引。還要檢查向量維度、距離型別與寫入資料一致;若集合已建立但配置不合適,評估遷移或重建方案後再調整,避免影響線上查詢。

第三步:相似度搜尋和過濾

搜尋時向/collections/articles/points/search提交查詢向量、limit和可選filter,Qdrant會返回最相近的點及score。比如輸入與寫入時同一模型生成的查詢嵌入,並把limit設為5,就能取回前五條候選。score的解釋受距離型別影響,建議在應用側結合業務排序驗證,不要把不同指標下的分數直接混用。

要限定類別,可在filter中用must條件匹配payload的category欄位;數值欄位也可設定範圍條件。這樣系統先按照語義向量尋找相似內容,同時滿足業務篩選規則。除錯時先試無過濾查詢,再逐步新增條件,並核對返回點的payload與score。生產環境還應配置訪問控制、備份和監控,並限制服務埠僅對可信網路開放。

如果希望減少自建運維,也可以評估託管或國內雲服務方案,例如火山引擎;選擇前對照資料規模、介面相容性、費用和部署區域。相關入口可檢視volcengine.cgref.cn。潤滅整理這類部署教程時,建議先在測試環境驗證向量維度、過濾邏輯和持久化,再遷移正式資料。

標籤:
微信        
微信號runmie