Skip to content

PyMilvus 2.4.0 Release Notes

Compare
Choose a tag to compare
@XuanYang-cn XuanYang-cn released this 20 Mar 10:40
· 31 commits to master since this release
584d04b

Milvus 2.4.0-rc.1 related scenario-based features:

Milvus has released version 2.4.0-rc.1. This version of pymilvus incorporates the new features introduced in Milvus 2.4.0-rc.1

  • New GPU Index named CAGRA
    Thanks to NVIDIA's contribution, this new GPU index provides a 10x performance boost, especially for batch searches. Please refer to the sample code in examples/example_gpu_cagra.py
  • Multi-vector and hybrid search
    This feature helps store vector embeddings generated from multiple models and conduct multi-vector searches accordingly. Please refer to the sample code in examples/hello_hybrid_sparse_dense.py
  • Sparse vectors
    Sparse vectors are ideal for keyword interpretation and analysis. Your collection can now process sparse vectors. Please refer to the sample code in examples/hello_sparse.py
  • Grouping search
    Categorical aggregation helps you achieve document-level recall for Retrieval-Augmented Generation (RAG) applications. Please refer to the sample code in examples/example_group_by.py
  • Inverted index and fuzzy matching
    Inverted index and fuzzy match capabilities for scalar fields help improve keyword retrieval capability. Please refer to the sample code in examples/inverted_index_example.py and examples/fuzzy_match.py
  • New Vector DataType Float16 and BFloat16
    Half precision like Float16 and BFloat16 are widely used in hardware and software for machine learning or neural networks. While Float16/BFloat16 sacrifices some accuracy, it offers improved query efficiency and more efficient memory usage. Please refer to the sample code in examples/bfloat16_example.py and examples/float16_example.py

Model library for pymilvus

The model library converts text to vectors using open-source embedding models and the OpenAI embedding service, accessible with

pip install pymilvus[model]

Additionally, it supports generating sparse vectors with BM25 and SPLADE, as well as both dense and sparse vectors simultaneously with BGE-M3. For detailed usage, please refer to examples/hello_model.py.

MilvusClient

Furthermore, this version also includes the refactoring of MilvusClient that was introduced in version 2.3.7 (refer to pymilvus2.3.7). MilvusClient provides a simple and easy-to-use alternative to the ORM approach. It adopts a purely functional approach to simplify interactions with the server. Each MilvusClient establishes a gRPC connection to the server. To set up multiple connections, you can create multiple MilvusClient instances.
MilvusClient module has integrated various functional methods, making its most of functionality align with that of the ORM module.