Releases: milvus-io/pymilvus
PyMilvus 2.4.4 Release Notes
New Features
- Allowing search iterator on sparse float vector field by @zhengbuqian in #2105
- Accept list of single row scipy.sparse object as input for insert/search by @zhengbuqian in #2112
- Support float16/bfloat16/sparse vector for bulkwriter by @yhmo in #2128
Enhancements
- enhance: print search result more elegantly (#2123) by @longjiquan in #2124
- Change the load status check interval to 0.2s by @SimFG in #2125
- Disable installation of milvus-lite on windows platform by @XuanYang-cn @Raysilience in #2137
Bug fixes
- Fix wrong expr handling due to and/or priorities(#2113) by @MrPresent-Han in #2115
- Fix: use the existed index_name (#2107) by @smellthemoon in #2118
- Fix a bug of bulkwriter by @yhmo in #2132
- Fix drop_index got multiple values for keyword argument by @XuanYang-cn in #2138
Full Changelog: v2.4.3...v2.4.4
PyMilvus 2.4.3 ReleaseNotes
What's Changed
- support the report value in the dml and dql request by @SimFG in #2092
- enhance: Expand grpcio version to latest by @XuanYang-cn in #2096
Bug fixes:
- fix sparse: accpet int/float wrapped in string by @zhengbuqian in #2095
- fix the str function of the extra list by @SimFG in #2098
Full Changelog: v2.4.2...v2.4.3
PyMilvus 2.4.2 Release Notes
What's Changed
- Support milvuslite by @junjiejiangjjj in #2075
- Make bulk_writer's requirments optional (#2086) by @XuanYang-cn in #2087
- enhance: Enable set_properties and describe_database api by @weiliu1031 in #2084
Bug fixes
- fix: Remove params for property vars by @XuanYang-cn in #2069
- change sparse related errors to ParamError by @zhengbuqian in #2070
Full Changelog: v2.4.1...v2.4.2
PyMilvus 2.4.1 Release Notes
What's Changed
Bug fixes
- Fix float16_example and bfloat16_example by @czs007 in #1993
- Use wrong placeholder type for bf16 and float16 by @XuanYang-cn in #2012
- Restrict input/search type for vector fields (#2025) by @XuanYang-cn in #2029
- Fix import array via bulkwriter (#2035) by @bigsheeper in #2036
- Pass offset parameter for hybrid search to server by @czs007 in #2052
Enhancements
- Add warning about gpu example by @czs007 in #1994
- Update sparse+dense hybrid search example by @zhengbuqian in #2014
- Convert params' value from string to int by @PowderLi in #2026
- Support UDS by @junjiejiangjjj in #2030
- Update hello_hybrid_sparse_dense.py example to include BGE reranker by @zhengbuqian in #2032
Full Changelog: v2.4.0...v2.4.1
PyMilvus 2.4.0 Release Notes
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 inexamples/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 inexamples/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 inexamples/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 inexamples/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 inexamples/inverted_index_example.py
andexamples/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 inexamples/bfloat16_example.py
andexamples/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
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
What's Changed
- Support python3.12 by @XuanYang-cn in #1861
- Change BulkWriter default parameters by @yhmo in #1876
- fix: Fix bug for add connection when url is https by @xiaocai2333 in #1852
- Multi-cherry bug fixes from master by @XuanYang-cn in #1890
Full Changelog: v2.3.5...v2.3.6
PyMilvus 2.3.5 Release Notes
What's Changed
- add limit for too large ef to avoid huge latency for iterator(#1814) by @MrPresent-Han in #1815
- Set default port to 443 with https scheme by @XuanYang-cn in #1819
- use custmized version by @XuanYang-cn in #1818
- Enable actions on 2.3 branch by @XuanYang-cn in #1821
- cp: Fix 1823-2.3 by @MrPresent-Han in #1825
- set reduce_stop_for_best for iterator by default(#1830) by @MrPresent-Han in #1832
- Bulkwriter set row group for parquet by @yhmo in #1836
- [Cherry-pick] Support delete with consistency level by @aoiasd in #1841
- [cherry-pick] Enable to set retry times by @XuanYang-cn in #1827
- Auto reconnection when channel state changed to idle by @haorenfsa in #1846
Full Changelog: v2.3.4...v2.3.5
PyMilvus 2.3.4 Release Notes
What's Changed
- enhance: remove partition existance check by @yah01 in #1792
- search iterator support range-search paramter(#1793) by @MrPresent-Han in #1795
- adjust metrics comparison by @MrPresent-Han in #1798
- enhance search iterator extension by @MrPresent-Han in #1799
- Fix connect timeout bug by @junjiejiangjjj in #1802
- Bulkwriter supports parquet by @yhmo in #1803
- fix: Fix compactibility of exception with Milvus 2.2.x by @bigsheeper in #1805
- fix: Fix check_status for create_alias func by @bigsheeper in #1807
New Contributors
- @junjiejiangjjj made their first contribution in #1802
Full Changelog: v2.3.3...v2.3.4
PyMilvus 2.3.3 Release Notes
What's Changed
- Change unimpleted log level to debug by @xiaocai2333 in #1760
- Convert the result to python basic types to enable json dumps by @xiaocai2333 in #1765
- Remove unused code for milvus client by @xiaocai2333 in #1769
- fix: load_state parameter type err by @simonwei97 in #1768
- Modify highlevel delete to not return any value by @czs007 in #1777
- Refine highlevel delete code comments by @czs007 in #1778
- Add filter parameter to delete by @czs007 in #1779
New Contributors
- @simonwei97 made their first contribution in #1768
- @Writer-X made their first contribution in #1772
Full Changelog: v2.3.2...v2.3.3