xzfc
e23cc13d0a
Remove shard dependency on api ( #8284 )
...
* Move `DenseVector`/`MultiDenseVector` from `api` to `segment`
* Move `OrderByInterface` from `api` to `segment`
Reason: it's used in `edge` which shouldn't depend on `api`.
* Make `shard` -> `api` dependency optional
* Remove `api` from the amalgamation
* Don't install protoc in edge Actions
2026-03-26 17:37:48 +01:00
Andrey Vasnetsov
037600e8af
Weighted rrf ( #8063 )
...
* weighted rrf implementation
* test
* fmt
* fix edge
* validate number of sources and number of weights
* do not partial match
* upd schema
* review fixes
* update formula
* remove calcualtions from tests
* update comment, because AI have OCD
* fmt
2026-02-10 00:04:33 +01:00
dependabot[bot]
9cf71956f7
build(deps): bump pyo3 from 0.27.2 to 0.28.0 ( #8034 )
...
* build(deps): bump pyo3 from 0.27.2 to 0.28.0
Bumps [pyo3](https://github.com/pyo3/pyo3 ) from 0.27.2 to 0.28.0.
- [Release notes](https://github.com/pyo3/pyo3/releases )
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pyo3/pyo3/compare/v0.27.2...v0.28.0 )
---
updated-dependencies:
- dependency-name: pyo3
dependency-version: 0.28.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore: add skip_from_py_object to accept the new behaviour
* chore: switch to from_py_object
* chore: allow deprecated usage
* fix: import
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Boros <dancixx@gmail.com >
2026-02-09 23:58:21 +01:00
Andrey Vasnetsov
aeecb1f0fc
Generate *.pyi files for EDGE ( #7943 )
...
* generate pui files for edge functions
* fix stup for `lambda_`
2026-02-09 23:17:27 +01:00
Andrey Vasnetsov
8cdc8dea94
Add pyo3 signature annotations with default values for all Py* structs ( #7891 )
...
* Add pyo3 signature annotations with default values for all Py* structs
- Added #[pyo3(signature = (...))] attributes to all Py* structs with optional parameters
- Ensured non-default parameters come before parameters with defaults
- Follows the pattern established in PyScrollRequest
- Updated structs: PySearchRequest, PySearchParams, PyQuantizationSearchParams,
PyAcornSearchParams, PyQueryRequest, PyPrefetch, PyOrderBy, PyMmr, PyPoint,
PyFormula, PyShard::load, PySparseVectorDataConfig, PySparseIndexConfig
* fix params ordering
2026-02-09 22:56:49 +01:00
Roman Titov
fd18177766
Implement scroll and count requests for Qdrant Edge ( #7880 )
...
* Cleanup `shard` crate module declarations
* Move `ScrollRequestInternal` into `shard` crate
* fixup! Move `ScrollRequestInternal` into `shard` crate
Fix imports
* fixup! Move `ScrollRequestInternal` into `shard` crate
`const fn default_*`
* Implement `edge::Shard::scroll`
* fixup! Implement `edge::Shard::scroll`
Re-export `OrderByInterface`
* Cleanup `edge` module declarations
* Cleanup `qdrant-edge-py` module declarations
* Move `PyWithPayload` and `PyWithVector` into `types::query`
* Add `PyScrollRequest` type
* Implement `PyShard::scroll`
* Move `CountRequestInternal` into `shard` crate
* fixup! Move `CountRequestInternal` into `shard` crate
Fix imports
* fixup! Move `CountRequestInternal` into `shard` crate
Rename `default_exact_count` into `CountRequestInternal::default_exact`
* Implement `edge::Shard::count`
* Implement `PyShard::count`
* review: offset for scroll, default values, examples
* ai review
---------
Co-authored-by: generall <andrey@vasnetsov.com >
2026-02-09 22:55:21 +01:00
Roman Titov
d0d1c3ded4
Implement __repr__ for Qdrant Edge types (Part 2) ( #7742 )
...
* Implement `__repr__` for `PyJsonPath`
* Implement `__repr__` for `PyFilter`
* Implement `__repr__` for `PyQuery`
* Implement `__repr__` for `PyQueryRequest`
* Implement `__repr__` for `PySearchRequest`
* Implement `__repr__` for `PyFilter` using `pyclass_repr` attribute
* Implement `__repr__` for `PyQuery` using `pyclass_repr` attribute
* Implement `__repr__` for `PyQueryRequest` using `pyclass_repr` attribute
* Implement `__repr__` for `PySearchRequest` using `pyclass_repr` attribute
2025-12-18 17:28:22 +01:00
Roman Titov
38f5ac2bae
Qdrant Edge Python bindings improvements (Part 2) ( #7639 )
2025-12-18 17:26:07 +01:00
Roman Titov
1de85b956e
Qdrant Edge Python bindings improvements ( #7561 )
...
* Use anonymous lifetime in `FromPyObject` implementations
* Use `PyResult` in `IntoPyObject` implementations
* Cleanup imports and derives
* Cleanup `filter` conversions
* Add `PointVectors` getters
* Move `config` module into sub-directory
* Split `config` into sub-modules
* Simplify enum bindings
* Add zero-cost conversions for `PyVectorDataConfig` and `PySparseVectorDataConfig`
* Add getters to config structures
* fixup! Add getters to config structures
More zero-cost conversions for `PyVector*DataConfig`
* Implement `PyHnswIndexConfig`
* Implement `PyQuantizationConfig`
* fixup! Simplify enum bindings
* fixup! Implement `PyHnswIndexConfig`
* fixup! Implement `PyHnswIndexConfig`
* fixup! Implement `PyHnswIndexConfig`
* Implement `PySparseVectorDataConfig`
* fixup! Implement `PySparseVectorDataConfig`
* fixup! Implement `PySparseVectorDataConfig`
2025-12-03 10:18:53 +01:00
Arnaud Gourlay
f3bbed6fee
Bump Pyo3 to 0.27.1 for Edge ( #7519 )
2025-11-14 12:31:06 +01:00
Andrey Vasnetsov
536fbd0399
Fusion & MMR support in Edge ( #7491 )
...
* introduce rescore stage to handle fusion in shard properly
* make shard-stage and collection-stage rescoring explicit
* review fixes
2025-11-14 12:31:05 +01:00
Roman Titov
5b5b5b8625
Implement PyQuery conversions ( #7481 )
...
* Rename `PyVectorType` into `PyNamedVector` 😠
* Move `PyQuery` into `types::query`
* Implement `PyQuery` conversions
* Use `bytemuck` to safely transmute between `edge-py` wrapper types (#7488 )
2025-11-14 12:31:04 +01:00
Roman Titov
233c1a0ccd
Improvements to Qdrant Edge Python bindings ( #7473 )
...
* Cleanup `examples/qdrant-edge.py`
* Cleanup `edge_py::types::vector` module
* Cleanup `edge_py::types::filter::condition` module
* Extend `PyWithPayload` type
* Use `from` instead of `into` for conversions
* Assert variants for enum conversions
2025-11-14 12:31:03 +01:00
Roman Titov
f010382630
Implement edge_py::Shard::query ( #7465 )
2025-11-14 12:30:14 +01:00