* new: run server version check in a thread, don't check bm25 availability as it was introduced in 1.15.3
* fix: fix tests for auth
* fix: fix test for auth again
* fix: update stacklevel for in-thread warnings
* fix: fix auth token test for sync client
* tests: remove outdated tests
* new: remove vectors_count, update http and grpc models
* fix: update inspection cache
* new: add conversions and update interface
* fix: fix some conversions
* fix: fix typo
* fix: fix isinstance
* fix: regen async
* fix: fix update_filter usage, fix isinstance
* tests: collection metadata test
* fix: address backward compatibility in test
* new: update models, add max payload index count and copy vectors
* fix; update _inspection_cache
* new: add read consistency to count points
* Allow uuids in interface (#1085)
* new: direct uuid support
* tests: add uuid tests
* fix: update inspection cache
* new: add collection metadata and tests to local mode (#1089)
* new: add collection metadata and tests to local mode
* fix: regen async client
* new: implement parametrized rrf in local mode (#1087)
* new: implement parametrized rrf in local mode
* refactoring: use a variable for a magic value
* fix: adjust conversion according to AI
* Update filter (#1090)
* new: add missing update_filter, implement it in local mode
* fix: fix type hint, fix update operation, fix rest uploader, add tests
* fix: fix update filter is None case
* fix: mypy was not a good boy
* Text any filter (#1091)
* new: add match text any local mode
* tests: add match text any tests
* new: update models, remove init_from and locks (#1100)
* new: update models, remove init_from and locks
* deprecate: remove init from tests
* deprecate: remove lock tests
* new: convert ascii_folding
* fix: fix type stub
* new: convert acorn
* new: convert shard key with fallback
* new: update grpcio and grpcio tools in generator (#1106)
* new: update grpcio and grpcio tools in generator
* fix: bind grpcio and tools versions to 1.62.0 in generator
* Remove deprecated methods (#1103)
* deprecate: remove old api methods
* deprecate: remove type stub for removed methods
* deprecate: remove old api methods from test_qdrant_client
* deprecate: replace search with query points in test_in_memory
* deprecate: replace search methods in fastembed mixin with query points
* deprecate: replace old api methods in test async qdrant client
* deprecate: replace search with query points in test delete points
* deprecate: replace discover and context with query points in test_discovery
* deprecate: replace recommend_groups with query_points_groups in test_group_recommend
* deprecate: replace search_groups in test_group_search
* deprecate: replace recommend with query points in test_recommendation
* deprecate: replace search with query points in test search
* deprecate: replace context and discover with query points in test sparse discovery
* deprecate: replace search with query points in test sparse idf search
* deprecate: replace recommend with query points in test sparse recommend
* deprecate: replace search with query points in test sparse search
* deprecate: replace missing search request with query request in qdrant_fastembed
* deprecate: replace search with query points in test multivector search queries
* deprecate: replace upload records with upload points in test_updates
* deprecate: remove redundant structs (#1104)
* deprecate: remove redundant structs
* fix: do not use removed conversions in local mode
* fix: remove redundant conversions, simplify types.QueryRequest
* deprecate: replace old style grpc vector conversion to a new one (#1105)
* deprecate: replace old style grpc vector conversion to a new one
* fix: ignore union attr in conversion
* review fixes
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: deprecate add, query, query_batch in fastembed mixin (#1102)
* new: deprecate add, query, query_batch in fastembed mixin
* 1.16 -> 1.17
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: yet another update
* new: add initial_state to create shard key (#1109)
* new: drop python3.9, replace union and optional with | where possible
* fix: fix missing type hints, regen async
* fix: remove redundant optional
* fix: fix ai comments
* fix: update type hints from merge
* new: update pyproject and lock
* new: replace optional and union with |
* new: remove optional and union from qdrant local
* new: replace union with | in client classes
* fix: replace remaining union, optional, etc, address review comments
* new: adjust numpy versioning
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: remove vectors_count, update http and grpc models
* fix: update inspection cache
* new: add conversions and update interface
* fix: fix some conversions
* fix: fix typo
* fix: fix isinstance
* fix: regen async
* fix: fix update_filter usage, fix isinstance
* tests: collection metadata test
* fix: address backward compatibility in test
* new: update models, add max payload index count and copy vectors
* fix; update _inspection_cache
* new: add read consistency to count points
* Allow uuids in interface (#1085)
* new: direct uuid support
* tests: add uuid tests
* fix: update inspection cache
* new: add collection metadata and tests to local mode (#1089)
* new: add collection metadata and tests to local mode
* fix: regen async client
* new: implement parametrized rrf in local mode (#1087)
* new: implement parametrized rrf in local mode
* refactoring: use a variable for a magic value
* fix: adjust conversion according to AI
* Update filter (#1090)
* new: add missing update_filter, implement it in local mode
* fix: fix type hint, fix update operation, fix rest uploader, add tests
* fix: fix update filter is None case
* fix: mypy was not a good boy
* Text any filter (#1091)
* new: add match text any local mode
* tests: add match text any tests
* new: update models, remove init_from and locks (#1100)
* new: update models, remove init_from and locks
* deprecate: remove init from tests
* deprecate: remove lock tests
* new: convert ascii_folding
* fix: fix type stub
* new: convert acorn
* new: convert shard key with fallback
* new: update grpcio and grpcio tools in generator (#1106)
* new: update grpcio and grpcio tools in generator
* fix: bind grpcio and tools versions to 1.62.0 in generator
* Remove deprecated methods (#1103)
* deprecate: remove old api methods
* deprecate: remove type stub for removed methods
* deprecate: remove old api methods from test_qdrant_client
* deprecate: replace search with query points in test_in_memory
* deprecate: replace search methods in fastembed mixin with query points
* deprecate: replace old api methods in test async qdrant client
* deprecate: replace search with query points in test delete points
* deprecate: replace discover and context with query points in test_discovery
* deprecate: replace recommend_groups with query_points_groups in test_group_recommend
* deprecate: replace search_groups in test_group_search
* deprecate: replace recommend with query points in test_recommendation
* deprecate: replace search with query points in test search
* deprecate: replace context and discover with query points in test sparse discovery
* deprecate: replace search with query points in test sparse idf search
* deprecate: replace recommend with query points in test sparse recommend
* deprecate: replace search with query points in test sparse search
* deprecate: replace missing search request with query request in qdrant_fastembed
* deprecate: replace search with query points in test multivector search queries
* deprecate: replace upload records with upload points in test_updates
* deprecate: remove redundant structs (#1104)
* deprecate: remove redundant structs
* fix: do not use removed conversions in local mode
* fix: remove redundant conversions, simplify types.QueryRequest
* deprecate: replace old style grpc vector conversion to a new one (#1105)
* deprecate: replace old style grpc vector conversion to a new one
* fix: ignore union attr in conversion
* review fixes
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: deprecate add, query, query_batch in fastembed mixin (#1102)
* new: deprecate add, query, query_batch in fastembed mixin
* 1.16 -> 1.17
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: yet another update
* new: add initial_state to create shard key (#1109)
* chore: remove obsolete imports
* fix: add metadata parameter to recreate collection in local
* fix: fix metadata handling in local more
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: move fastembed imports and constants into a class to support custom models and improve exceptions
* new: add is_supported model to FastEmbedMisc
* fix: fix types
* wip: add draft implementation of batch processing
* fix: embed dict and list of docs, remove redundant code
* new: regen async, small refactor
* refactor: add docstrings, rename methods
* Upload points local inference (#881)
* new: separate single and plural model embeddings
* fix: fix lazy embed models
* new: add inference object inspections to upload methods
* wip: local inference upload parallel
* new: add local inference to upload points and upload collection, refactor mixin
* fix: remove redundant code
* redundant import
* tests: check is query for query points batch
* refactor: refactor semi ordered map
* tests: add test for local inference with batches with docs and vectors
* tests: check the order of dict processing
* new: distinguish models by options
* fix: fix typing
* fix: fix types
* new: embed batches with different options
* tests: add tests for batch with different options
* fix: ignore ide incorrect type inspection
* tests: wait for points to be inserted
* fix: set threads to 1 in parallel inference
* new: adjust max internal batch size
* fix: fix type hints
* function to get embeddings size (#892)
* function to get embeddings size
* async client
* keep sync
* new: extend embedding size to support image and late interaction models
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* new: add local inference batch size (#894)
---------
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
* new: drop python 3.8 support, update type hints
* fix: remove 3.8 from ci
* fix: update type hints
* fix: make netlify use python3.10
* fix: try python3.9 for sphinx
* debug: try updating sphinx
* new: bump ffastembed to 0.4.2
* fix: install numpy<2 for mypy
* fix: install numpy via poetry
* new: propagate model params in document options
* new: update fastembed version
* fix: fix option propagation, add tests
* fix: update poetry lock
* fix: don't change the set model on embed raw types
* tests: extend propagate options test
* fix: erase cls model storage after each test
* Update set_model -> set_model_params;
Allow setting all fastembed.DefaultEmbedding init args for full pass-through
* Add fastembed test for setting custom embedding model params
* Update async client gen to include set_model_params
* Update Async client APIs
* Add explicit Optional since PEP 484 is still in effect
* Regenerate async client APIs
* Revert name change: set_model_params -> set_model
* Add **kwargs to set_model method sig
* Update name set_model_params -> set_model
* Regenerate async client APIs
* Use and pass **kwargs
* Regenerate async client APIs using Py 3.10.x
* * fix(qdrant_fastembed.py): change method name from encode to embed in QdrantFastembedMixin class
* fix(qdrant_fastembed.py): change method name from encode to embed
* * fix(qdrant_fastembed.py): change DEFAULT_EMBEDDING_MODEL from "sentence-transformers/all-MiniLM-L6-v2" to "BAAI/bge-small-en"
* * fix(qdrant_fastembed.py): add support for different embedding types in QdrantFastembedMixin
* feat(qdrant_fastembed.py): add embed_type parameter to embed method in QdrantFastembedMixin
* * fix(qdrant_fastembed.py): change vector field name from "text-{model_name}" to "fast-{model_name}"
* * fix(qdrant_fastembed.py): add comments to clarify code intent
* * refactor(qdrant_fastembed.py): remove unused import 'Sequence' from typing module
* * test(test_fast_embed.py): refactor test_add_without_query function to simplify parameter handling and remove unnecessary checks and assignments
* * fix(qdrant_fastembed.py): fix type error in NamedVector Query
* * fix(qdrant_fastembed.py): change method name from `embed` to `query_embed` in QdrantFastembedMixin class
* fix(qdrant_fastembed.py): fix query_vectors assignment in `query` method of QdrantFastembedMixin class
* Add skeleton for fastvector registration
* * fix(qdrant_client.py): fix import statement for QdrantClientMixin from fastembed instead of fastvector
* fix(qdrant_client.py): remove unnecessary print statement
* * chore(README.md): add bullet point for extensive test coverage
* feat(README.md): add section for Fast Embeddings + Simpler API
* fix(README.md): fix formatting of code block and update code example for Qdrant Client usage
*
* * fix(qdrant_client.py): remove unused imports and code
* feat(qdrant_client.py): add support for adding and querying documents with fastembed installed
* test(qdrant_client.py): add tests for adding and querying documents with and without fastembed installed
* * feat(qdrant_client.py): add support for fastembed.qdrant_mixin.QdrantAPIExtensions for upsert_docs and search_docs methods
* * fix(qdrant_client.py): remove unused import of SearchParams
* feat(qdrant_client.py): add return type hint to QdrantClient.search_docs method
* * fix(qdrant_client.py): fix import statement for SearchParams class in qdrant_client.py
* * feat(models.py): add QueryResponse model for handling query responses
* * feat(qdrant_client.py): add batch_iterable method to QdrantClient class
* * chore(qdrant_client.py): reformat code for better readability
* * chore(test_qdrant_client.py): add type hinting to fastembed_setup fixture
* test(test_qdrant_client.py): add test for client_close function
* * chore(.gitignore): add pattern for ignoring .tar.gz files
* * refactor(test_qdrant_client.py): remove unused imports and variables
* chore(test_qdrant_client.py): reformat import statements for better readability
* * chore(test_qdrant_client.py): remove unused fixtures and test cases
* * chore(qdrant_client.py): remove unused imports
* Add test skeleton
* * chore(.gitignore): add local_cache/*/* to ignore local cache files
* * fix(qdrant_client.py): change import statement for fastembed to use DefaultEmbedding instead of FlagEmbedding
* refactor(qdrant_client.py): refactor code to remove unnecessary loop
* * fix(qdrant_client.py): import missing models in qdrant_client.py
* feat(qdrant_client.py): add support for search parameters in search method
* refactor(qdrant_client.py): refactor indexing logic to handle embeddings correctly
* * test(test_fast_embed.py): add assertion to verify count of documents in collection
* test(test_fast_embed.py): remove unused code
* test(test_fast_embed.py): add TODO comment for future assertions
* * chore(pyproject.toml): add optional fastembed group to poetry dependencies
* feat(pyproject.toml): add fastembed dependency to fastembed group
* * chore(qdrant_client.py): add check for fastembed installation in QdrantClient constructor
* * fix(test_fast_embed.py): skip test if FastEmbed is not installed
* fix(test_fast_embed.py): add default values for test_no_install parameters
* fix(test_fast_embed.py): skip test if FastEmbed is installed
* Delete unused usage file
* * chore(models.py): remove unused QueryResponse class
* feat(qdrant_client.py): add QueryResponse class
* * refactor(qdrant_client.py): organize imports and fix type hinting for QueryResponse class
* review fixes
* make mypy happy
* review fixes
* fix mypy
---------
Co-authored-by: generall <andrey@vasnetsov.com>