* add local mode of formula scoring
* grpc<->rest conversions
* fixes for formula evaluation
* add mixed payload type to fixture payload
* update tests
* ignore math warnings (invalid operations raise an error anyway)
* fix conversions
* use same haversine distance as in core
* upd tests
* add fixtures for expressions
* fix import
* temporary hack for tests
* evaluation fixes
* satisfy mypy
* gen async client
* reduce flakiness
..by nesting less equations, so that floating point differences affect
less
* get_args_subscribed
* retriever match multivalue behavior
* review remarks
* more review remarks
* review nit
* no type ignore
* fix imports
* 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
* Add support for tuple in payload for grpc
* chore: delete health_check_pb2_grpc.py
* chore: Modify payload test case to test tuple datatype
* chore: Removed test case for tuple
We cannot test tuple as the return value is listvalue, so i only kept the list
* chore: Remove excess prints in info endpoint
* chore: Added tuple in random payload generator
* feat: convert the tuple payload of local mode to list for congruence
* 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: add sparse vectors support in discovery and recommend in local mode
* chore: remove redundant file
* chore: remove another redundant file
* fix: fix type hint for python3.8
* fix: remove redundant types from check
* refactoring: remove redundant union
* refactoring: remove redundant import
* fix: fix type hint
* fix: fix type hint
* refactoring: improve exception description
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* refactoring: improve exception description
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* refactoring: address review comments
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* fix: do not set tz if it is not provided in local mode
* refactor: remove commented out code
* fix: rollback tzinfo, add tzinfo to conditions in local mode
* fix: slightly increase chance of datetime payload generation
* new: add min should clause
* fix: local mode fix payload filter type hint
* tests: extend conversion
* fix: fix param name
* fix: fix grpc structure, update name
* generate rest client (only points_api)
* generate grpc client (points part only)
* add local mode implementation
* update collections_api.py
* add grpc conversions
* fix problematic StartFrom Union order
* add basic congruence test
* route order_by in qdrant clients
* fix local mode `start_from` logic
* add library stubs for dateutil
* generate async client
* generate the rest of the rest client 👻
* test datetime values too
* add int Range and int StartFrom
* update points.proto and points_pb2.py
* fix conversion of range interface
* add conversion fixtures and use better conversion of datetime to timestamp
* remove integer range
* restore `value_by_key()`
* OrderBy grpc to rest conversions
* generate async client
* use `OrderByInterface` instead of only `OrderBy`
* - use equivalent qdrant core datetime parsing,
- use type alias for OrderingValue, instead of custom class,
- better random date generation
* Drop custom datetime parser implementation
* nit fixes
* fix flakiness of the congruence test by subsorting
* better datetime to timestamp conversion
* uncomment conversion fixtures, add Direction
* restore poetry.lock and remove dateutil dep
* poetry lock --no-update
* rename datetime.py to datetime_utils.py
* add StrictInt to StartFrom union
* use more date formats in fixtures
* move conversion test to `test_validate_conversions.py`
* drop `%:z` formats
* add more complex timezones to payload fixtures, fix deserialization
* update datetime parsing test
* draft
* thread sparse_vectors_config through
* test ingest sparse data
* make async_client consistent for create collection
* regen async
* align client hierarchy
* do not give up
* disable async consistency check for now
* regen
* workaround async client breakage
* generate gRPC
* new healtcheck proto files
* fix gen branch
* fix grpc generation - had to reinstall to downgrade grpcio
* bump test docker image
* wait for update when migrating
* regen REST + update config
* add sparse search congruence
* congruence scroll sparse vectors
* congruence test retrieve sparse
* more sparse tests and waiting on remote
* remove healthcheck service
* misc
* reinstate len check
* fix scoring if no overlap
* sparse distance as numpy float without rounding
* fix payload selector
* fix payload exclude
* dedicated collection name to not collide with openapi engine tests
* fix with_vector, scoring no overlap, closeness assetion
* convert float only once
* regen gRPC to exclude health_check
* code review cleanup
* validate and sort sparse vector before persistence
* regen REST
* test deletes and update with fix
* fix async client
* fix batch size
* fix async client
* don't give up
* remove validated todo
* fix sparse vectors loading test
* fix sparse vectors loading test
* rm empty
* mention sparse vectors in the fake local info
* fix upload collection wait propagation
* fix async. init_from tests
* resync async
* rework test sparse vector generation
* regen clients
* update to dev
* update REST models
* async client
* do not change it yet
* fix migration test
* do not create a sparse configuration by default
* fix backward compatibility by disabling serialization of none fields
* fix type imports
* regen gRPC
* test BatchVectorStruct REST to gRPC conversion
* test gRPC->REST conversion
* sparse grpc tests and conversions fix
* generate async client
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* fix: fix congruence upload collection list of np.array, fix type hints
* fix: update type hints, remove broken code
* tests: delete collection after test just in case
* fix: return Dict[str, NumpyArray], support it in local mode
* fix: update type
* base class for qdrant
* WIP: implement local qdrant client
* fix mypy
* fix mypy
* search tests
* search tests
* fix mypy
* scroll test
* filters: fixtures, tests, and fixes
* fix types
* fix types
* fix types
* fix: fix local CollectionInfo, add __test__ to avoid pytest complaints, fix typo
* fix: fix typo in import
* tests: add local upload tests (#139)
* new: make local collection info more similar to remote one
* new: add local upsert tests
* tests: moved compare collections
* scroll tests
* recommendations test
* tests: fix vector comparison in utils, add retrieve tests
* fix: fix types
* persistence test
* fix: fix types
* fix: fix db path creation
* tests: add delete points tests, refactoring (#140)
* skip local tests on old version
* test aliases
* test count
* tests: add delete payload tests, move set and overwrite payload tests
* tests: fix pytest warning
* cover some more stuff with tests
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>