Conversation
* new: add query interface tests, fix version checking * fix: add missing file
* fix: fix grpc conversion bugs for sparse and multi vectors * fix: fix mypy
* chore: Added init_options property * refactor: @Property * test: init_opts * chore: regen async client again with Py 3.10 * chore: deepcopy kwargs
* new: set idf modifier in fastembed mixin for bm models * fix: update poetry lock * fix: tmp fix, restrict pyright version * refactor: update bm model extraction, update fastembed * fix: fix list of bm models * fix: fix default bm models list value * refactoring: remove redundant import
* updated test migrate * removed second remote client * added back multiple vector test * added single multi vector * modified random_multivectors to support single vector * fix: add version check for backward compatibility tests --------- Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* new: retry mechanism in migrate * fixed misdeletion during merging * fix: minor type hint update --------- Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* fix: do not modify input structs in-place * fix: regen async
The client docstrings claimed gRPC timeout was unlimited, but QdrantRemote.DEFAULT_GRPC_TIMEOUT is 5 seconds and is applied when timeout=None. Align docs with implementation. Fixes qdrant#1023
* new: deprecate add and query methods * fix: update async client generator
* fix: update poetry lock * fix: add type annotations, update poetry.lock * fix: fix local persistence tests * fix: replace del client with client.close in local mode persistence tests
…ing field (qdrant#1224) * fix: check_match() raises TypeError when MatchText applied to non-string field * tests: move non-string match test to test_nested_filter, cover MatchText and MatchTextAny --------- Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* fix: spurious async client tests failures * skip cluster-only test when server is standalone * increase timeout for unit test performing multiple snapshot operations * clean up stale snapshots left by previous runs * fix: remove deleted methods, add/update cluster checks * fix: remove unused import * fix: remove redundant indent --------- Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* fix: update poetry lock * fix: add type annotations, update poetry.lock * fix: fix local persistence tests * fix: replace del client with client.close in local mode persistence tests * new: update local mode values count filter behaviour
…ant#1276) Co-authored-by: Eren Ata <erena6466@gmail.com>
Co-authored-by: Hassan Zafar <hassanzafar619@gmail.com>
) * Fix local mode filters cross-matching booleans and integers Python treats bool as a subclass of int (True == 1, False == 0), but Qdrant keeps booleans and integers as distinct payload value types. Local mode compared them with a plain `==` / `in` / `isinstance(value, (int, float))`, so: - MatchValue(value=1) matched a payload of True, and MatchValue(value=True) matched a payload of 1 (same for 0 / False) - MatchAny / MatchExcept cross-matched the same way - Range matched booleans as if they were 0 / 1 The server never cross-matches these (its ValueVariants keeps Integer and Bool distinct, and booleans are not numeric for range conditions). Add a type-aware equality helper used by the value-match conditions, and exclude booleans from range checks. Adds an in-memory regression test. * Cover MatchExcept in the bool/int cross-match test MatchExcept also routes through values_match, so assert that except=[1] keeps the True payload (bool is not the integer 1). * Add isolated MatchAny and range asserts to the bool/int cross-match test Lock the single-value MatchAny path and the check_range bool guard against regressions, in addition to the existing combined-condition coverage. * fix: handle floats in cross-match local mode filters, add congruence tests --------- Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
…dropping it (qdrant#1083) (qdrant#1247) Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* fix: fix embed paths * tests: add local inference test for complex prefetch
…on (qdrant#1260) Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* new: 1.19.0 updates * fix: fix search params as a dict in local mode * fix: update qdrant backward compatibility version * fix: add version check to the test * fix: add version check to the test
* fix: fix nested payload local mode * test: update test data in complex filter
Fixes qdrant#1289 Signed-off-by: Liang Xu <lx3133584@users.noreply.github.com>
✅ Deploy Preview for poetic-froyo-8baba7 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Qdrant server exposes
/healthz(Kubernetes-style liveness probe), and the underlying service API already provideshealthz(). This PR adds a publichealth_check()method across all client implementations (QdrantClient,AsyncQdrantClient,QdrantRemote,AsyncQdrantRemote,QdrantLocal,AsyncQdrantLocal, and abstract base classes).Behavior
QdrantRemote,AsyncQdrantRemote): call the/healthzendpoint; returnTrueon success andFalseon any exception (timeout, connection refused, API error).QdrantLocal,AsyncQdrantLocal): returnnot self._closed.QdrantClient,AsyncQdrantClient): delegate to the underlying client (self._client.health_check()).Testing
tests/test_health_check.pycovering local in-memory clients, remote sync/async mock clients, and closed states.pytest tests/test_health_check.pyandtests/async-client-consistency-check.sh(all pass).