Pymilvus

Latest version: v2.4.0

Safety actively analyzes 613666 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 9

2.4.0

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](https://docs.rapids.ai/api/raft/nightly/cpp_api/neighbors_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
shell
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](https://github.com/milvus-io/pymilvus/releases/tag/v2.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.

2.3.7

Connect to Milvus
python
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](https://milvus.io/api-reference/pymilvus/v2.3.x/About.md), you can also refer to the [example sets](https://github.com/milvus-io/pymilvus/tree/2.3/examples/milvus_client) in our GitHub repo.
Feedback & Issues
If you are having trouble or have questions about PyMilvus, ask your question on our [PyMilvus Community Forum](https://github.com/milvus-io/pymilvus/issues). 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](https://github.com/milvus-io/pymilvus/blob/master/CONTRIBUTING.md) before making contributions to this project. You can [file an issue](https://github.com/milvus-io/pymilvus/issues/new/choose) or contact us on [Slack](https://github.com/milvus-io/pymilvus#readme) if you need any assistance or want to propose your ideas about PyMilvus.

2.3.6

What's Changed
* Support python3.12 by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1861
* Change BulkWriter default parameters by yhmo in https://github.com/milvus-io/pymilvus/pull/1876
* fix: Fix bug for add connection when url is https by xiaocai2333 in https://github.com/milvus-io/pymilvus/pull/1852
* Multi-cherry bug fixes from master by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1890


**Full Changelog**: https://github.com/milvus-io/pymilvus/compare/v2.3.5...v2.3.6

2.3.5

What's Changed
* add limit for too large ef to avoid huge latency for iterator(1814) by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1815
* Set default port to 443 with https scheme by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1819
* use custmized version by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1818
* Enable actions on 2.3 branch by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1821
* cp: Fix 1823-2.3 by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1825
* set reduce_stop_for_best for iterator by default(1830) by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1832
* Bulkwriter set row group for parquet by yhmo in https://github.com/milvus-io/pymilvus/pull/1836
* [Cherry-pick] Support delete with consistency level by aoiasd in https://github.com/milvus-io/pymilvus/pull/1841
* [cherry-pick] Enable to set retry times by XuanYang-cn in https://github.com/milvus-io/pymilvus/pull/1827
* Auto reconnection when channel state changed to idle by haorenfsa in https://github.com/milvus-io/pymilvus/pull/1846


**Full Changelog**: https://github.com/milvus-io/pymilvus/compare/v2.3.4...v2.3.5

2.3.4

What's Changed
* enhance: remove partition existance check by yah01 in https://github.com/milvus-io/pymilvus/pull/1792
* search iterator support range-search paramter(1793) by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1795
* adjust metrics comparison by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1798
* enhance search iterator extension by MrPresent-Han in https://github.com/milvus-io/pymilvus/pull/1799
* Fix connect timeout bug by junjiejiangjjj in https://github.com/milvus-io/pymilvus/pull/1802
* Bulkwriter supports parquet by yhmo in https://github.com/milvus-io/pymilvus/pull/1803
* fix: Fix compactibility of exception with Milvus 2.2.x by bigsheeper in https://github.com/milvus-io/pymilvus/pull/1805
* fix: Fix check_status for create_alias func by bigsheeper in https://github.com/milvus-io/pymilvus/pull/1807

New Contributors
* junjiejiangjjj made their first contribution in https://github.com/milvus-io/pymilvus/pull/1802

**Full Changelog**: https://github.com/milvus-io/pymilvus/compare/v2.3.3...v2.3.4

2.3.3

What's Changed
* Change unimpleted log level to debug by xiaocai2333 in https://github.com/milvus-io/pymilvus/pull/1760
* Convert the result to python basic types to enable json dumps by xiaocai2333 in https://github.com/milvus-io/pymilvus/pull/1765
* Remove unused code for milvus client by xiaocai2333 in https://github.com/milvus-io/pymilvus/pull/1769
* fix: load_state parameter type err by simonwei97 in https://github.com/milvus-io/pymilvus/pull/1768
* Modify highlevel delete to not return any value by czs007 in https://github.com/milvus-io/pymilvus/pull/1777
* Refine highlevel delete code comments by czs007 in https://github.com/milvus-io/pymilvus/pull/1778
* Add filter parameter to delete by czs007 in https://github.com/milvus-io/pymilvus/pull/1779

New Contributors
* simonwei97 made their first contribution in https://github.com/milvus-io/pymilvus/pull/1768
* Writer-X made their first contribution in https://github.com/milvus-io/pymilvus/pull/1772

**Full Changelog**: https://github.com/milvus-io/pymilvus/compare/v2.3.2...v2.3.3

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.