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`
This commit is contained in:
Roman Titov
2025-11-26 18:47:17 +01:00
committed by timvisee
parent d25d877b3b
commit 1de85b956e
30 changed files with 1091 additions and 402 deletions

View File

@@ -20,16 +20,16 @@ def load_new_shard():
vector_data={
"": VectorDataConfig(
size=4,
distance=Distance.DOT,
storage_type=VectorStorageType.CHUNKED_MMAP,
index=Indexes.PLAIN,
distance=Distance.Dot,
storage_type=VectorStorageType.ChunkedMmap,
index=PlainIndexConfig(),
quantization_config=None,
multivector_config=None,
datatype=None,
),
},
sparse_vector_data={},
payload_storage_type=PayloadStorageType.IN_RAM_MMAP,
payload_storage_type=PayloadStorageType.InRamMmap,
)
return Shard(DATA_DIRECTORY, config)
@@ -48,4 +48,3 @@ def fill_dummy_data(shard: Shard):
Point(9, [0.45, 0.55, 0.65, 0.75], {"color": "green", "city": ["Berlin"], "score": 0.92}),
Point(10, [0.01, 0.02, 0.03, 0.04], {"color": "yellow", "city": None, "featured": False}),
]))