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

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

更新時間:2026-10-16 12:26:25 釋出時間:7天前 閱讀:34 views次

Qdrant是一個用Rust寫的開源向量資料庫,適合儲存向量並進行相似度檢索,可用於AI語義搜尋和推薦系統。下面從Docker啟動開始,帶你完成建立集合、寫入向量、配置距離與索引,再用查詢和過濾條件找出相關資料。示例用REST API,方便先跑通流程;後續也可以接入Rust客戶端。

第一步:Docker啟動Qdrant

先確認機器已經安裝並啟動Docker。在終端執行 docker run -d –name qdrant -p 6333:6333 -p 6334:6334 -v “$(pwd)/qdrant_storage:/qdrant/storage” qdrant/qdrant。這裡把REST埠6333、gRPC埠6334對映到本機,並將資料目錄掛載出來,容器重建後資料也能保留。

啟動後開啟 http://localhost:6333/dashboard,可以進入管理介面檢視服務狀態和集合。也可用 curl http://localhost:6333/collections 檢查API是否響應。若訪問失敗,先用 docker ps 檢視容器狀態,再執行 docker logs qdrant 排查啟動錯誤;本地測試不代表生產配置已完成。

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

集合可以理解為一組向量及其附帶資訊的容器。下面建立名為articles的集合,向量長度設為4,距離方式選Cosine。實際專案中,向量長度必須與所用嵌入模型輸出維度一致;這裡的四維資料僅用於演示,不能直接替代真實文字的模型向量。

在終端執行 curl -X PUT http://localhost:6333/collections/articles -H ‘Content-Type: application/json’ -d ‘{“vectors”:{“size”:4,”distance”:”Cosine”}}’。收到成功響應後,就可以寫入點資料。每個點包含唯一ID、向量和可選payload;payload適合儲存標題、分類等業務欄位,便於之後展示結果或加過濾條件。

寫入示例可用 curl -X PUT http://localhost:6333/collections/articles/points?wait=true -H ‘Content-Type: application/json’ -d ‘{“points”:[{“id”:1,”vector”:[0.12,0.31,0.52,0.74],”payload”:{“title”:”向量檢索入門”,”category”:”技術”}},{“id”:2,”vector”:[0.18,0.28,0.49,0.70],”payload”:{“title”:”搜尋系統實踐”,”category”:”技術”}}]}’。引數wait=true會等待寫入操作完成,便於初次驗證。

配置向量距離和索引

距離選擇:Cosine常用於比較文字嵌入方向;Dot適合點積模型,Euclid則比較向量間的歐氏距離。選哪種要和嵌入模型及其訓練方式匹配,不要只看名稱隨意切換。建立集合時確定向量維度和距離,後續寫入的向量也必須符合該配置。

索引考慮:Qdrant會管理向量搜尋所需的索引,初學者可先使用預設設定,等資料規模和查詢延遲有實際指標後再調優。對經常過濾的payload欄位,可按欄位型別建立payload索引;索引會佔用額外資源,因此優先為高頻過濾條件配置,並透過真實查詢測試效果。

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

呼叫搜尋介面時,提交查詢向量、返回數量和是否帶回payload。示例:curl -X POST http://localhost:6333/collections/articles/points/search -H ‘Content-Type: application/json’ -d ‘{“vector”:[0.13,0.30,0.50,0.72],”limit”:3,”with_payload”:true}’。結果會按相似度返回匹配點及分數;limit控制結果條數,with_payload便於核對對應的業務內容。

若只想查指定類別,可以在請求中新增過濾條件,例如在search物件里加入 “filter”:{“must”:[{“key”:”category”,”match”:{“value”:”技術”}}]}。這樣先按payload限制候選資料,再進行向量檢索。真實語義搜尋還需要先用嵌入模型把文字轉換成向量,查詢和入庫必須使用相容的模型與維度。

準備上線時,記得設定訪問控制、備份持久化資料,並依據負載監控資源與查詢表現,避免將開發環境直接暴露到公網。使用Rust應用時,可透過官方Rust客戶端連線gRPC埠6334;也可以先用REST API驗證資料流程。若希望評估國內託管或配套雲服務,可瞭解火山引擎;潤滅也提供相關資訊入口:volcengine.cgref.cn。

“`

標籤:
微信        
微信號runmie