Releases: milvus-io/pymilvus
PyMilvus 2.4.6 Release Notes
New Features
- Bulkinsert supports importing binlog by @yhmo in #2223
- enhance: upsert support autoid (#2173) by @smellthemoon in #2224
- enhance: Support load with Field Partial load by @congqixia in #2227
- feat: add page_retain_order param during search with offset by @PwzXxm in #2230
- feat: support the mmap_enable param in the field schema by @SimFG in #2239
Enhancement
- enhance: loose grpcio upper limit by @XuanYang-cn in #2240
Full Changelog: v2.4.5...v2.4.6
PyMilvus 2.4.5 Release Notes
New features
Enhancements
- Export indexed rows for describe_index (#2148) by @xiaocai2333 in #2149
- Refine the error message for type mismatches during data insertion (#2156) by @xiaocai2333 in #2157
- Add database operations to MilvusClient (#2152) by @ashkrisk in #2164
- enhance: Remove the logic to set replica_number=1 by default (#2163) by @weiliu1031 in #2167
- enhance: enable setting properties during create database (#2168) by @weiliu1031 in #2174
- enhance:expose reduce_stop_for_best to users(#2181) by @MrPresent-Han in #2188
- enhance: hide zero values when printing by @SimFG in #2201
- Limit milvus-lite files to end with .db by @junjiejiangjjj in #2216
- enhance: use info level for retry message by @XuanYang-cn in #2213
Bug fixes
- fix: Coding style by latest ruff by @XuanYang-cn in #2158
- fix: Edit setuptools upper version for py380 by @XuanYang-cn in #2180
- Don't export rows info in index params by @xiaocai2333 in #2191
- fix: remove limitation clustering key can not be primary key by @wayblink in #2196
- fix: unclear error msg for varchar field by @XuanYang-cn in #2209
- fix: select a single column consisting of a list of column names(#2210) by @smellthemoon in #2211
Full Changelog: v2.4.4...v2.4.5
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.3.8 Release Notes
Bug fixes
- fix: rename_collection not apply in current db(#1959) by @smellthemoon in #1961
- fix: Update versions in readme to latest by @XuanYang-cn in #1978
- fix: Remove the dependency of server_name to others by @XuanYang-cn in #1981
Full Changelog: v2.3.7...v2.3.8
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