Commit Graph

24 Commits

Author SHA1 Message Date
George Panchuk
698db1d33f new: drop python3.9, replace union and optional with | where possible 2025-11-14 03:20:36 +07:00
George
ff7f584d33 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>
2025-11-11 21:17:08 +07:00
George
e4c7bfaf4f fix: fix grpc document, image, inference object without options conversion (#1052) 2025-07-31 20:41:32 +03:00
George
4da06b08d6 new: update models for v1.15, add conversions (#1038)
* new: update models for v1.15, add conversions

* rename SnowballParameters to SnowballParams

---------

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
2025-07-15 15:39:48 +02:00
George
636f3e86fb Inference grpc (#838)
* new: update proto

* fix: rollback too recent changes to proto

* new: add and fix conversions

* fix: fix type hints

* fix: fix comment

* fix: convert options

* fix: fix vector output conversion

* tests: add custom conversion case for new vector fields
2024-11-06 14:32:10 +01:00
George
589772635b fix: fix prefetch conversion, fix local mode query batch points offset, add tests (#812) 2024-10-15 11:25:06 +02:00
George
0259a80a71 new: regenerate clients (#729)
* new: regenerate clients

* new: add conversions for payload indices

* regen with latest grpc

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2024-08-09 19:41:37 +02:00
Andrey Vasnetsov
6ff600c94b rollback fast-embed query method (#658)
* rollback fastembed query method

* un-deprecate query

* fix: regen async, roll back generator tmp workaround

* fix: don't skip fastembed tests

* new: add query batch points interface, fix minor bugs (#660)

* new: add query batch points interface, fix minor bugs

* fix: do not exclude ids from lookup collection from search (#661)

* Update qdrant_client/qdrant_client.py

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>

---------

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>

* fix: regen async

---------

Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
2024-06-26 17:13:40 +03:00
George
9ea4db1291 new: add conversions pt.1 (#654)
* new: add conversions pt.1

* fix: fix multivec param name

* fix: fix other multivec config param

* fix: fix sparse index config conversion, multivector config typo

* fix: fix empty vectors conversion, fix sparse vector test

* fix: fix legacy sparse vectors usage

* new: add convert query interface

* fix: fix order value conversion

* fix: fix conversion bugs, add tests

* fix: increase coverage

* fix: increase test coverage 2

* fix: fix bugs, increase test coverage

* fix: fix query isinstance check in tests

* minor refactoring

* new: convert flat filter

* fix: add missing min should check

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2024-06-23 15:36:25 +02:00
Andrey Vasnetsov
815a784469 Update openapi v1 10 x (#622)
* update api with conversions

* introduce IDF modifier for sparse vectors in local mode

* generate stuff

* regen async

* Update tests/fixtures/points.py

* fix: address review comments

* upd models

* fix: update grpc overwrite payload conversion, fix order by conversion (#653)

---------

Co-authored-by: George <george.panchuk@qdrant.tech>
2024-06-20 17:55:35 +02:00
George
bd6e755619 fix: fix date object grpc conversion (#580)
* fix: fix date object grpc conversion

* fix: fix date to datetime conversion in filters in local mode

* fix: fix date isinstance check
2024-04-05 11:52:48 +02:00
George
2e6233800b fix: fix sparse vector conversion (#569) 2024-04-03 11:29:01 +02:00
Luis Cossío
332777db2a Local mode of order_by parameter in scroll + datetime support (#491)
* 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
2024-03-01 09:51:39 -03:00
Arnaud Gourlay
016032c28f Sparse vectors API and local mode (#378)
* 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>
2023-12-02 20:45:49 +01:00
Luis Cossío
d3332eae2a Add Discovery API and local mode (#368)
* add score calculations

* fix type errors, route scorers accordingly

* generate grpc client (only discovery stuff)

* generate rest client

* discover preprocessing + local mode handling

* implement discover for remote client

* add failing tests, fix some stuff

* update rest client and local mode

* fixes and more tests

* fix mypy errors

* generate async client

* tiny edit docstring

* simplify custom distance calculation,
fix euclidean case for recommend best score

* fix python version for generating grpc client

* update grpc (select only discovery changes)

* generate grpc: add also ShardKey changes,
fix conversion changes for deprecated PointsUpdateOperation operations

* fix coverage on conversions

* generate async client

* generate async client with python 3.11

* change dict -> typings.Dict

* add deprecated field handling for grpc.PointsUpdateOperation

* update grpc client

* fix grpc conversion issues and review comments

* increase coverage

* also test for prefer_grpc = True

* fix has_field

* unflake test_context_many_pairs

* don't convert if None in model conversions

* move docstring to qdrant_client.py

* handle request timeout on all other interfaces

* oopsie: define timeout param in search_batch

* generate async client
2023-11-22 16:02:41 -03:00
Andrey Vasnetsov
bb8c442169 Recommendation api update + local mode (#314)
* WIP: recommendation api update

* implement local new reco + add new tests

* refactor calculate_best_scores, normalize score assertion

* fix raw vectors in new recommend

* fix mypy errors, add new reco on group recommend

* fix more lints from ci

* fix pyright lint

* formattng

* Add descriptions to enums

* no mutable default argument

* edit score comparison precision based on magnitude

* Address review comments

* remove custom message for type ignore

* add coverage test

* improve coverage test a little

* add more fixtures for conversion test

---------

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
2023-10-05 03:38:19 +02:00
George
8d5ed2cf70 fix: add init from conversion, support init from in local mode (#317)
* fix: add init from conversion, support init from in local mode

* fix: fix mypy

* more test coverage

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2023-09-29 16:44:50 +02:00
George
a3778e4230 new: add grpc endpoints (#176)
* new: add grpc endpoints

* fix: fix payload index conversions

* fix: fix payload schema fixtures, vector param conversion

* fix: fix collection info conversion

* refactoring: remove ipdb
2023-06-09 18:38:00 +02:00
Andrey Vasnetsov
329b4150cf v1.2.0 (#173)
* wip: interface for new APIs

* upd docker version

* remove duplicated comments + extent interface

* start implementing remote client + remove duplicated comments there

* implement remote methods

* quantization converter

* extend coverege

* wip: saving and loading of optional vectors

* update and delete vectors test

* rm unused imports

* nested filters

* fix mypy

* fix pyright

* wip: add search groups and recommend groups (#174)

* wip: add search groups and recommend groups

* fix: fix signature

* fix: fix mypy

* simplify group-by and condition checks

* fix tests

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>

* add match except condition + improve group-by tests

* fix: lock typing exchanges due to broken release

* tests: add maybe and maybe_null checks to group tests

* new: add new methods to type stubs

---------

Co-authored-by: George <george.panchuk@qdrant.tech>
2023-05-24 11:06:10 +02:00
George
bdae392066 new: add pre-commit (#126)
* new: add pre-commit

* new: exclude auto-generated files

* new: increase black line length

* fix: fix exclude pattern

* remove default version

* apply black

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-03-01 21:19:46 +04:00
Andrey Vasnetsov
98f87f45f3 lower dependency requirements (#74) 2022-09-26 23:03:32 +02:00
Arnaud Gourlay
ddd24214b8 v0.10.0 (#71)
* generate gRPC client

* generate REST client

* draft

* wip

* fix conversion test

* old api compatible

* clean deprecated

* batch search + reco tests

* multi-vector test

* full-text filtering

* Fast protobuf (#67)

* generate grpc client

use new grpc client in qdrant methods

fix grpc parallel issue

remove betterproto

remove betterproto

remove betterproto type annotation

extend test coverage

upd protobuf to master

* rm eventloop

* upd version

* shortcut for models

* v0.10.1 compatibility hotfix: make deprecated ram_data_size optional

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-09-19 12:59:29 +02:00
Andrey Vasnetsov
7204275931 gRPC search (#41)
* allow using grpc for search

* add docs

* assert + docs fix
2022-05-23 14:12:17 +02:00
Andrey Vasnetsov
0b04f9f3b1 automatic validation scaffold (#38)
* automatic validation scaffold

* grpc -> http for filter

* More conversions

* More conversions

* add all fixtures (#39)

* add rest-to-grpc convertions (#40)

* More conversions

* full coverage for conversions

* fix imports

* add exec permissions

Co-authored-by: M. Yusuf Sarıgöz <yusufsarigoz@gmail.com>
2022-05-22 11:20:55 +02:00