Milvus is an open-source vector similarity search engine that supports the use of various AI models to vectorize unstructured data and provides search services for vector data. Milvus integrates widely used vector indexing libraries such as Faiss and Annoy, allowing developers to choose different indexing types for different scenarios. Using Milvus, one can develop a minimum viable product at a relatively low cost.
One of the most frequently asked questions in the Milvus community is:
I want to build an xx system; can Milvus achieve this? Are there any reference projects?

In fact, the project team has open-sourced many projects that use Milvus to accelerate AI applications on zilliz-bootcamp. To facilitate a more direct and straightforward experience with Milvus, we have currently launched 4 online application scenarios on the official website, covering various fields such as CV, NLP, and computer auditory.
🔗https://zilliz.com/solutions
-
Intelligent Q&A System -
Image Search System -
Audio Retrieval System -
Video Object Detection System
Application Scenario Introduction
🤖Intelligent Q&A
👉Project Source Code: https://github.com/zilliz-bootcamp/intelligent_question_answering_v2

-
Upload the Q&A dataset in csv format, containing the columns question and answer. -
Search for the target question to recall similar standard questions. -
Click on the most similar question to get the answer.
-
Use the Bert model to convert the standard questions in the uploaded dataset into 768-dimensional feature vectors stored in Milvus, which will return the corresponding ID. -
Store these question IDs and their corresponding answers in PostgreSQL.
-
Use the Bert model to convert the user’s question into a feature vector. -
Perform similarity search on the feature vector in Milvus to obtain the ID of the standard question most similar to the user’s question. -
Retrieve the corresponding answer from PostgreSQL.
🔎Image Search
You are probably familiar with “image search,” as it is an essential feature in various search engines and shopping platforms. In fact, we can build our own image search system—create an image library and select an image from the library to search, ultimately obtaining several similar images. In this application scenario, Milvus, as a similarity retrieval engine for massive feature vectors, can easily implement the image search function by combining the image feature extraction model VGG.

-
Upload the image dataset in a compressed format, which can only contain jpg images.
-
Upload the image you want to search for to obtain similar images.
-
Use the VGG model to convert the images into 512-dimensional feature vectors stored in Milvus, which will return the corresponding ID.
-
Store the IDs of these feature vectors and their corresponding image paths in CacheDB.
-
Convert the image to be searched into a feature vector using the VGG model.
-
Perform similarity search on the feature vector in Milvus to obtain the ID of the most similar feature vector in the Milvus library.
-
Retrieve the corresponding image from CacheDB.
🎵Audio Retrieval

-
Upload the audio dataset, which should only contain compressed files with wav format.
-
Upload the audio you want to search for to return similar audio.
-
Use the panns-inference pretrained model to convert audio data into feature vectors and import them into Milvus, which will return the corresponding ID.
-
Store the returned ID with related information of the audio data (such as wav_name) in MySQL database.
-
Use the panns-inference pretrained model to extract feature vectors of the audio data to be retrieved.
-
Calculate the inner product distance between the feature vector of the audio data to be retrieved and the feature vectors of audio data previously imported into the Milvus library.
-
Retrieve information about similar audio data in MySQL based on the returned ID from the retrieval results.
📹Video Object Detection
With the rapid development of AI technology, significant breakthroughs have been achieved in target detection and image processing technologies in both academia and industry. More and more AI platforms are integrating these technologies and building many practical systems. This application scenario combines Milvus with technologies such as OpenCV, YOLOv3, and ResNet50 to accomplish the task of detecting objects in videos.

-
Upload the object dataset, which should be in a compressed image format, with images named after the object names.
-
After data import, upload the video, and the system will analyze the video. Click play to see the detection results for each moment.
-
Use the ResNet50 model to extract features of the objects in the dataset and convert them into 2048-dimensional vectors stored in Milvus, which will return the corresponding ID.
-
Store the ID along with the corresponding names and object image paths in MySQL database.
-
Use OpenCV to process video frames.
-
Use YOLOv3 network for object detection.
-
Use ResNet50 model to extract features from the detected object images in the video frames and convert them into vectors.
-
Retrieve the corresponding name and image from MySQL based on the feature vector of the object images in Milvus.
Having explored so many application scenarios of Milvus, are you excited? Why not take action and experience it now! If you want to share other interesting Milvus application scenarios with us, feel free to scan the code to join the Milvus technical exchange group~
Welcome to Join the Milvus Community
