藉助 alibabacloud-milvus-manage Skill,使用者可通過自然語言指令直接完成叢集建立、狀態查看及公網訪問配置,管理 Collection,執行文本/標量/向量搜尋、BM25 全文檢索索引與多路混合搜尋,以及實現圖片入庫與以文搜圖、音視頻聯合入庫與跨模態檢索等核心功能。
前提條件
已安裝 alibabacloud-milvus-manage Skill。擷取地址:
支援在以下用戶端中安裝Skill:
已配置阿里雲 CLI,並完成身份認證。執行
aliyun configure list可查看當前配置。已準備 VPC 和 VSwitch(Skill 執行時會自動引導選擇已有網路資源)。
已建立 Milvus 服務關聯角色(SLR)。首次使用 Milvus 時需要建立 AliyunServiceRoleForCloudMilvus 和 AliyunServiceRoleForMilvus。
使用情境
alibabacloud-milvus-manage Skill 覆蓋 8 個端到端驗證情境,分為叢集管理和業務驗證兩類。
情境一:叢集管理
建立叢集
在 Skill 用戶端中輸入自然語言指令,即可建立 Milvus 執行個體。Skill 會自動完成 VPC/VSwitch 選擇、組件規格配置和執行個體建立。
Skill 輸入樣本:
/alibabacloud-milvus-manage 在杭州j可用性區域建立一個2.6版本的milvus執行個體,密碼使用<自訂密碼>執行效果:
// Skill 自動完成 VPC/VSwitch 選擇、組件規格配置後,調用建立 API
// 返回結果:
{"success": true, "data": {"instanceId": "c-xxxxxxxxxxxx****", "orderId": "28456242743****"}}
// 建立參數:
// - 地區: cn-hangzhou, 可用性區域: cn-hangzhou-j
// - 版本: 2.6, 規格: standalone_pro, 4 CU
// - 計費方式: PayAsYouGo查看執行個體狀態
執行個體建立後,通過 Skill 查看執行個體的運行狀態、串連地址和規格資訊。
Skill 輸入樣本:
/alibabacloud-milvus-manage 查看建立情況執行效果:
// Skill 調用 list API 和 detail API 查詢執行個體狀態
執行個體列表:
c-xxxxxxxxxxxx**** | milvus-skill-test | status=running | v=2.6
執行個體詳情:
- 內網地址: c-xxxxxxxxxxxx****-internal.milvus.aliyuncs.com
- 連接埠: 19530
- 總 CU 數: 4
- 執行個體狀態: running(建立後約 3 分鐘從 creating 變為 running)開啟公網訪問
為執行個體開啟公網訪問並配置 IP 白名單,用於本地開發或測試連接。
Skill 輸入樣本:
/alibabacloud-milvus-manage 給叢集開啟公網訪問,添加本機ip執行效果:
// Skill 自動擷取本機 IP 並調用 updatePublicNetworkStatus API
公網訪問已開啟:
- 公網地址: c-xxxxxxxxxxxx****.milvus.aliyuncs.com:19530
- 白名單: <本機公網IP>/32查詢 Collection 列表
串連執行個體並查詢所有 Collection 的基本資料和範例資料。
Skill 輸入樣本:
/alibabacloud-milvus-manage 查詢所有collection,每個展示3條資料執行效果:
// Skill 使用 pymilvus 串連執行個體,查詢 collection 列表
串連方式: MilvusClient(uri='http://c-xxxxxxxxxxxx****.milvus.aliyuncs.com:19530', token='root:***')
Collection 列表: [](新執行個體暫無 Collection,符合預期)情境二:業務驗證
文本入庫與搜尋驗證
將文本資料匯入 Milvus,驗證標量搜尋、向量搜尋和 Hybrid 搜尋功能。Skill 會自動建立 Collection(包含 AI Function 自動產生 embedding),插入資料後執行多種搜尋方式。
Skill 輸入樣本:
/alibabacloud-milvus-manage 我有一個 <資料檔案路徑>/articles.jsonl
檔案,每行包含 title、content、embedding 欄位,幫我匯入到 article_db collection
裡,如果沒有的話建立它。匯入完後,根據檔案中內容隨機構造一下標量搜尋和向量搜尋功能進行測試將 <資料檔案路徑> 替換為實際的 JSONL 檔案路徑。檔案每行為一個 JSON 對象,包含 title 和 content 欄位。
執行效果:
// Skill 自動建立 article_db collection(含 AI Function: text-embedding-v3, 768 維)
// 插入 10 條文章資料(僅傳文本,embedding 自動產生)
Collection 建立成功: article_db
Fields: id, title, content, embedding
AI Function: text-embedding-v3 (dim=768)
資料插入: 10 條Skill 自動執行以下搜尋驗證:標量搜尋(基於欄位值的精確匹配或模糊比對,如 title like "%向量%")、向量搜尋(基於語義相似性的 ANN 檢索)和 Hybrid 搜尋(向量搜尋 + 標量過濾條件)。
建議採用 Milvus AI Embedding 功能進行向量資料處理與搜尋。
版本要求:Milvus 執行個體版本需為 2.6 及以上。
替代方案:若當前執行個體版本不支援該功能,請提供已預先處理好的向量資料。
// 標量搜尋: title like "%向量%"
結果: 找到 "向量資料庫入門"
// 向量搜尋: "什麼是機器學習和深度學習"
結果:
top1: "機器學習演算法總結" (distance=0.7125)
top2: "自然語言處理技術" (distance=0.5164)
top3: "向量資料庫入門" (distance=0.4779)
// Hybrid 搜尋: "資料庫技術" + filter='content like "%向量%"'
結果:
top1: "向量資料庫入門" (distance=0.6001)
top2: "Milvus使用最佳實務" (distance=0.5276)全文檢索索引與混合搜尋
建立同時配置 BM25 全文檢索索引和 text-embedding-v3 語義向量的 Collection,驗證多種搜尋方式的組合效果。Milvus 2.6 的 AI Function 支援同時配置 BM25 和 embedding,插入時只需傳原始文本,兩種向量自動產生。
Skill 輸入樣本:
/alibabacloud-milvus-manage 我要在 Milvus 裡做中文全文檢索索引,需要建一個新的表,需要 title
和 content 兩個文字欄位,用 BM25 做全文檢索索引,再加一個 text-embedding-v3 做語義搜尋,維度
1024。建立好後插入檔案中所有資料,然後分別用檔案中的內容向量搜尋,標量搜尋,全文、
embedding的混合搜,全文、標量、向量的混合搜執行效果:
// Skill 建立 hybrid_search_test collection
// 同時配置 BM25 Function(chinese analyzer)和 text-embedding-v3 AI Function(1024 維)
// 插入 10 條文章資料(僅傳文本,BM25 稀疏向量和 embedding 稠密向量均自動產生)
Collection 建立成功: hybrid_search_test
BM25 Function: content_sparse (chinese analyzer)
AI Function: text-embedding-v3 (dim=1024)
資料插入: 10 條Skill 自動執行五種搜尋驗證:向量搜尋(基於 text-embedding-v3 的語義檢索)、標量搜尋(基於欄位值的模糊比對)、BM25 全文檢索索引(基於 BM25 演算法的關鍵詞檢索)、全文+embedding 混合搜尋(BM25 和向量搜尋通過 RRFRanker 融合)以及三路混合搜尋(BM25 + 標量過濾 + 向量 ANN 通過 RRFRanker 融合)。
// 向量搜尋: "如何構建語義搜尋系統"
結果:
top1: "向量資料庫入門" (distance=0.5575)
top2: "Milvus使用最佳實務" (distance=0.5402)
// 標量搜尋: content like "%Milvus%"
結果: 找到 "向量資料庫入門" 和 "Milvus使用最佳實務"
// BM25 全文檢索索引: "向量資料庫語義搜尋"
結果:
top1: "向量資料庫入門" (BM25 score=13.3037)
// 全文+embedding 混合搜尋 (RRFRanker): "深度學習和神經網路"
結果:
top1: "機器學習演算法總結" (score=0.0328)
// 三路混合搜尋 (BM25 + 標量過濾 + 向量 ANN, RRFRanker):
// BM25="索引檢索向量", filter='title 含 Milvus 或向量', ANN="資料庫索引和檢索技術"
結果:
top1: "向量資料庫入門" (score=0.0325)
top2: "Milvus使用最佳實務" (score=0.0325)圖片入庫與搜尋
將圖片資料匯入 Milvus,通過 qwen3-vl-embedding 多模態模型自動產生 embedding,驗證文搜圖功能。本樣本中使用的圖片,可從此處下載。
Skill 輸入樣本:
/alibabacloud-milvus-manage 把 <圖片目錄路徑>/banana
目錄的圖片全部入庫,最後用"黃色香蕉"搜尋試試將 <圖片目錄路徑> 替換為實際的圖片目錄路徑。Milvus 服務端需要能夠訪問圖片 URL,建議將圖片上傳到同地區 OSS 並使用簽名 URL。
執行效果:
// Skill 建立 multimodal_test collection
// 使用 qwen3-vl-embedding 多模態模型自動產生 embedding
// 上傳圖片到同地區 OSS,通過簽名 URL 傳入 Milvus
Collection 建立成功: multimodal_test
Fields: id, file_path, file_type, description, mm_value, embedding
AI Function: qwen3-vl-embedding
資料插入: 6 條(3 張香蕉圖 + 2 張貓圖 + 1 個飛機視頻)
// 文搜圖: "黃色香蕉"
結果:
top1: banana/img2 (distance=0.5005)
top2: banana/img3 (distance=0.4953)
top3: banana/img1 (distance=0.4882)
// 文搜圖: "可愛的貓"
結果:
top1: cat2 (distance=0.5265)
top2: cat1 (distance=0.4893)跨模態搜尋
將圖片和視頻聯合入庫,驗證圖搜圖和圖搜視頻的跨模態檢索能力。
Skill 輸入樣本:
/alibabacloud-milvus-manage 先把 tiger_cat目錄下選2個檔案 以及 飛機1.mp4 這三個檔案入庫,
然後用 tiger_cat 下任意一個檔案搜尋相似的產品圖片,返回前 3 個。再用圖片搜尋相似視頻執行效果:
// 圖搜圖: 用 cat1 圖片 URL 搜尋相似圖片
結果:
top1: cat1 (distance=0.9996)
top2: cat2 (distance=0.9476)
top3: banana/img1 (distance=0.7483)
// 圖搜視頻: 用 cat1 圖片 URL + filter='file_type=="video"'
結果:
top1: airplane.mp4 (distance=0.7180)