如何使用 Milvus 製作 4 款受歡迎的 AI 應用程式
部落格封面.png
Milvus是一個開放原始碼的向量資料庫。它支援大量向量資料集的新增、刪除、更新和近乎即時的搜尋,這些資料集是利用 AI 模型從非結構化資料中抽取特徵向量所建立的。Milvus 擁有一套完整直觀的 API,並支援多個廣泛採用的索引函式庫 (例如 Faiss、NMSLIB 和 Annoy),可加速機器學習應用程式開發和機器學習作業 (MLOps)。透過 Milvus,您可以快速開發最小可行產品 (MVP),同時將成本控制在較低的極限。
「使用 Milvus 開發 AI 應用程式有哪些資源?」這是 Milvus 社群常被問到的問題。Milvus 背後的公司Zilliz 開發了許多 Demo,利用 Milvus 進行快如閃電的相似性搜尋,為智慧型應用程式提供動力。Milvus 解決方案的原始碼可在zilliz-bootcamp 找到。以下互動情境展示了自然語言處理 (NLP)、反向圖像搜尋、音訊搜尋和電腦視覺。
請隨意試用這些解決方案,以獲得特定情境的實作經驗!透過下列方式分享您自己的應用方案
跳到
自然語言處理(聊天機器人)
Milvus 可用於建立聊天機器人,利用自然語言處理來模擬真人操作員、回答問題、將使用者導向至相關資訊,並降低人力成本。為了展示此應用情境,Zilliz 結合 Milvus 與為 NLP 預先訓練而開發的機器學習 (ML) 模型BERT,建立了一個能理解語意語言的 AI 驅動聊天機器人。
👉原始碼:zilliz-bootcamp/intelligent_question_answering_v2
1.png
如何使用
上傳包含問題與答案對的資料集。將問題和答案格式化為兩個獨立的欄位。您也可以下載範例資料集。
輸入問題後,會從上傳的資料集中擷取相似問題的清單。
選擇與您的問題最相似的問題,揭示答案。
如何運作
使用 Google 的 BERT 模型將問題轉換為特徵向量,然後再使用 Milvus 來管理和查詢資料集。
資料處理:
- 使用 BERT 將上傳的問題-答案對轉換成 768 維特徵向量。之後將向量匯入 Milvus 並指定個別 ID。
- 問題和相對應的答案向量 ID 會儲存在 PostgreSQL 中。
搜尋類似問題:
- BERT 用於從使用者輸入的問題中抽取特徵向量。
- Milvus 會擷取與輸入問題最相似的問題向量 ID。
- 系統會在 PostgreSQL 中查找相應的答案。
反向圖像搜尋系統
反向圖像搜尋正透過個人化商品推薦和類似商品查詢工具,改變電子商務,從而提升銷售額。在此應用情境中,Zilliz 結合 Milvus 與可萃取圖像特徵的 ML 模型VGG,建立了一套反向圖像搜尋系統。
👉原始碼:zilliz-bootcamp/image_search
2.jpeg
如何使用
- 上傳僅由 .jpg 影像組成的壓縮影像資料集(不接受其他影像檔案類型)。另外,您也可以下載樣本資料集。
- 上傳一張影像,作為搜尋類似影像的輸入。
如何運作
使用 VGG 模型將影像轉換成 512 維的特徵向量,然後再使用 Milvus 來管理和查詢資料集。
資料處理:
- 使用 VGG 模型將上傳的影像資料集轉換為特徵向量。之後將向量匯入 Milvus,並指定個別 ID。
- 影像特徵向量和對應的影像檔案路徑會儲存在 CacheDB 中。
搜尋類似影像:
- VGG 用於將用戶上傳的圖像轉換為特徵向量。
- 從 Milvus 擷取與輸入影像最相似的影像向量 ID。
- 系統會在 CacheDB 中查找相應的圖像檔案路徑。
音訊搜尋系統
語音、音樂、音效和其他類型的音訊搜尋使快速查詢大量音訊資料和浮現相似聲音成為可能。其應用包括識別相似的音效、盡量減少 IP 侵犯等。為了展示此應用情境,Zilliz 結合 Milvus 與PANNs(一種專為音訊模式識別而建立的大規模預訓音訊神經網路),建立了一套高效率的音訊相似性搜尋系統。
👉原始碼:zilliz-bootcamp/audio_search 3.png
如何使用
- 上傳僅包含 .wav 檔案的壓縮音訊資料集(不接受其他音訊檔案類型)。或者,您也可以下載樣本資料集。
- 上傳 .wav 檔案,作為搜尋類似音訊的輸入。
如何運作
使用 PANNs 將音訊轉換為特徵向量,PANNs 是專為音訊模式識別而建立的大型預訓音訊神經網路。然後再使用 Milvus 來管理和查詢資料集。
資料處理:
- PANNs 將上傳資料集的音訊轉換為特徵向量。之後將向量匯入 Milvus 並分配個別 ID。
- 音訊特徵向量 ID 及其對應的 .wav 檔案路徑會儲存在 PostgreSQL 中。
搜尋相似的音訊:
- PANNs 用於將用戶上傳的音訊檔案轉換為特徵向量。
- 透過計算內積 (IP) 距離,從 Milvus 擷取與上傳檔案最相似的音訊向量 ID。
- 系統會在 MySQL 中尋找對應的音訊檔案路徑。
視訊物件偵測 (電腦視覺)
視訊物件偵測可應用於電腦視覺、影像檢索、自動駕駛等。為了展示此應用情境,Zilliz 結合 Milvus 與OpenCV、YOLOv3 和ResNet50 等技術和演算法,建立了一套視訊物件偵測系統。
👉原始碼:zilliz-bootcamp/video_analysis
4.png
如何使用
- 上傳僅由 .jpg 檔案組成的壓縮影像資料集(不接受其他影像檔案類型)。確保每個影像檔案都以其描述的物件命名。您也可以下載樣本資料集。
- 上傳要用於分析的視訊。
- 按一下播放按鈕,即可檢視上傳的視訊,並即時顯示物件偵測結果。
如何運作
使用 ResNet50 將物件影像轉換成 2048 維特徵向量。然後使用 Milvus 來管理和查詢資料集。
資料處理:
- ResNet50 將物件影像轉換成 2048 維特徵向量。然後將向量匯入 Milvus 並分配個別 ID。
- 音訊特徵向量 ID 及其對應的影像檔案路徑會儲存在 MySQL 中。
偵測視訊中的物件:
- OpenCV 用於修剪視訊。
- YOLOv3 用於偵測視訊中的物件。
- ResNet50 將偵測到的物件影像轉換成 2048 維特徵向量。
Milvus 在上傳的資料集中搜尋最相似的物件影像。從 MySQL 擷取對應的物件名稱和影像檔案路徑。
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word