Skip to content

Releases: milvus-io/pymilvus

PyMilvus 2.4.2 Release Notes

14 May 12:54
5b59272
Compare
Choose a tag to compare

What's Changed

Bug fixes

Full Changelog: v2.4.1...v2.4.2

PyMilvus 2.4.1 Release Notes

29 Apr 11:33
031212d
Compare
Choose a tag to compare

What's Changed

Bug fixes

Enhancements

Full Changelog: v2.4.0...v2.4.1

PyMilvus 2.4.0 Release Notes

20 Mar 10:40
584d04b
Compare
Choose a tag to compare

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.

PyMilvus 2.3.7 Release Notes

13 Mar 09:44
e024793
Compare
Choose a tag to compare

MilvusClient provides a simple and easy-to-use alternative to the legacy ORM approach. It adopts a purely functional approach to simplify interactions with the server. Each MilvusClient establishes a gRPC connection to the server you specified. To set up multiple connections, you can create multiple MilvusClient instances.

Install & Update

You can run the following command to install the latest PyMilvus or update your PyMilvus to this version.

pip install --upgrade pymilvus==v2.3.7

After the installation, you can check the pymilvus version by running the following

from pymilvus import __version__

print(__version__)

#v2.3.7

Connect to Milvus

from pymilvus import MilvusClient

# Authentication not enabled
client = MilvusClient("http://localhost:19530")

# Authentication enabled with the root user
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus",
    db_name="default"
)

# Authentication enabled with a non-root user
client = MilvusClient(
    uri="http://localhost:19530",
    token="user:password", # replace this with your token
    db_name="default"
)

What's New

In this version, PyMilvus adds a MilvusClient module that incorporates several functional methods, aligning its functionality overall with that of the legacy ORM module.

Collection-related methods

  • create_collection()
  • rename_collection()
  • describe_collection()
  • has_collection()
  • list_collections()
  • drop_collection()
  • get_collection_stats()
  • load_collection()
  • release_collection()
  • get_load_state()
  • refresh_load()

Data-related methods

  • insert()
  • upsert()
  • search()
  • query()
  • delete()

Alias-related methods

  • create_alias()
  • drop_alias()
  • alter_alias()
  • describe_alias()
  • list_aliases()

Partition-related methods

  • create_partition()
  • drop_partition()
  • has_partition()
  • list_partitions()
  • load_partitions()
  • release_partitions()
  • get_partition_stats()

Index-related methods

  • create_index()
  • list_indexes()
  • drop_index
  • describe_index()

User- and RBAC-related methods

  • create_user()
  • drop_user()
  • update_password()
  • list_users()
  • describe_user()
  • grant_role()
  • revoke_role()
  • create_role()
  • drop_role()
  • describe_role()
  • list_roles()
  • grant_privilege()
  • revoke_privilege()

Examples

In addition to the documents, you can also refer to the example sets in our GitHub repo.

Feedback & Issues

If you are having trouble or have questions about PyMilvus, ask your question on our PyMilvus Community Forum. Once you get an answer, it’d be great if you could work it back into this documentation and contribute!

Contributions

We are committed to building a collaborative, exuberant open-source community for PyMilvus. Therefore, contributions to PyMilvus are welcome from everyone. Refer to Contributing Guideline before making contributions to this project. You can file an issue or contact us on Slack if you need any assistance or want to propose your ideas about PyMilvus.

PyMilvus 2.3.6 Release Notes

24 Jan 02:48
f9dbabc
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.3.5...v2.3.6

PyMilvus 2.3.5 Release Notes

03 Jan 03:52
d910387
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.3.4...v2.3.5

PyMilvus 2.3.4 Release Notes

04 Dec 08:36
161210f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.3.3...v2.3.4

PyMilvus 2.3.3 Release Notes

10 Nov 14:38
1428201
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.3.2...v2.3.3

PyMilvus 2.2.17 Release Notes

14 Nov 09:34
07f4bda
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.2.16...v2.2.17

PyMilvus 2.3.2 Release Notes

26 Oct 09:34
693217b
Compare
Choose a tag to compare

New Features

What's Changed

New Contributors

Full Changelog: v2.3.1...v2.3.2