What is the difference between Milvus and Weaviate? Using vector databases to power AI

Updated 2 years ago on July 18, 2023

Table of Contents

Inquiry

No significant differences between the technologies were found. The Milvus Python client implements a search method that retrieves a list of vectors, which allows a multi-vector query. The Weaviate Python client only allows vector search for a single vector.

As in the case of the indexing time analysis, both engines show similar behavior when executing queries. Note that before explicitly loading script collections for a query, Milvus experienced a warm-up effect that significantly affected the average query execution time for this system. Even after eliminating this drawback, the system is still prone to uneven query execution times. Nevertheless, it has a clear advantage over Weaviate: the average query execution time is shorter for all scenarios considered. Below are histograms of the average query execution times for each technology.

Conclusions

In this study, we set out to compare popular open source Vector Similarity Engine (VSE) solutions that facilitate embedding search through approximated nearest high-dimensional vectors. These new frameworks provide a more efficient approach to storing vector data. However, they are relatively recent and have yet to finalize fundamental features such as horizontal scaling, pagination, interleaving, and GPU support.

We hope to host a product catalog of 300k to 5 million products and latent relationships between products, queries and items, as well as other customer experience data. To realize our plans, we need the VSE to support a large dataset with multiple vector representations and provide multi-access efficiency. Therefore, as part of this study, it is critical for us to ensure that the following criteria are met:

  • VSE provides high quality (accuracy) results;
  • This is made possible by low-level implementations of executive index types.
  • VSE indexes the embeddings with satisfactory responsiveness;
  • This is made possible by low-level implementations of executive index types.
  • VSE fulfills requests at a high rate of speed;
  • This is made possible by low-level implementations of executive index types.
  • VSE enables horizontal scaling with load balancing and data redundancy to protect against hardware failures while increasing service capacity;
  • VSE provides a collection of K best results, but the system that integrates it can iterate the K best results over a window of size N.

This experiment focused mainly on two engines: Milvus and Weaviate. An analysis of the quality of the results obtained was not performed within the scope of this study, as this would have required an additional study of the configuration:

  • The embedding model(s) used to encode the information;
  • index type used.

Given that the experimental setup depended on the same configuration of all engines under study, we fixed the indexing algorithm on HNSW. Currently, to understand the impact of the indexing algorithm on speed, search quality and memory, you can refer to this blog article.

When analyzing indexing and query times, Milvus consistently outperforms Weaviate, with indexing times being particularly notable for the S9 scenario.

These technologies imposed technical limitations, such as the lack of support for multiple encodings (which actually required modifications to adapt the S4 - S9 scenarios). However, in [1], multi-vector querying refers to query retrieval based on a list of vectors and indexing entities that have more than one representation. Additional information on the toolkit roadmap indicates that these (and other) features should be expected in the next stable release.

More Questions

What is stable diffusion for developers? Updated 2 years ago

The Stable Diffusion model provides the following benefits to developers interested in building applications based on it: Generation of new data: The Stable Diffusion model can be used to generate new data similar to the original training data, which proves useful when creating new images, text, or sounds.

Can anyone make plugins for ChatGPT? Updated 2 years ago

You can create a plugin to solve these problems and still improve usability for everyone, as they can simply install your plugin and use it! The only question that remains is, how do I get access to the exclusive alpha of plugins that OpenAI is hosting and how do I create a plugin for ChatGPT?

What are the best plugins for ChatGPT? Updated 2 years ago

Prompt Perfect. Let's start with Prompt Perfect, one of the best ChatGPT extensions that allows users to write perfect prompts for an artificial intelligence chatbot. OpenTable. One of the best ChatGPT plugins we used was OpenTable for quick and easy restaurant reservations on the go.

How do I make my own ChatGPT plugin? Updated 2 years ago

You need to provide a hosted ai-plugin.json file using your own domain name. This file contains metadata about the plugin and an OpenAPI specification describing the available API endpoints that ChatGPT can interact with. In essence, the ChatGPT plugin is an intelligent API caller.

How is ChatGPT used in development? Updated 2 years ago

Using ChatGPT for predictive analytics This artificial intelligence language model enables predictive analytics by analyzing large amounts of data and extracting meaningful information from it. The model's ability to understand natural language and generate human-like responses makes it an ideal tool for predicting user or customer behavior.

Who developed ChatGPT? Updated 2 years ago

ChatGPT (Chat Generative Pre-Trained Transformer) is an artificial intelligence chatbot developed by OpenAI and launched on November 30, 2022. Its feature is that it allows users to refine and guide the conversation by length, format, style, level of detail, and language used.

Let's get in touch!

Please feel free to send us a message through the contact form.

Drop us a line at mailrequest@nosota.com / Give us a call over skypenosota.skype