Skip to content

Commit d41d98f

Browse files
authored
Merge pull request #1669 from weaviate/revert-1635-rob/muvera
Revert "Add muvera config"
2 parents 3305004 + 9ef534a commit d41d98f

File tree

4 files changed

+0
-138
lines changed

4 files changed

+0
-138
lines changed

integration/test_collection_config.py

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,67 +1405,6 @@ def test_config_multi_vector_disabled(
14051405
assert conf.multi_vector is None
14061406

14071407

1408-
def test_config_muvera_enabled(
1409-
collection_factory: CollectionFactory,
1410-
) -> None:
1411-
dummy = collection_factory("dummy", ports=(8086, 50057))
1412-
if dummy._connection._weaviate_version.is_lower_than(1, 31, 0):
1413-
pytest.skip("Muvera is not supported in Weaviate versions lower than 1.31.0")
1414-
1415-
collection = collection_factory(
1416-
ports=(8086, 50057),
1417-
properties=[Property(name="name", data_type=DataType.TEXT)],
1418-
vectorizer_config=[
1419-
Configure.NamedVectors.text2colbert_jinaai(
1420-
name="vec",
1421-
vectorize_collection_name=False,
1422-
vector_index_config=Configure.VectorIndex.hnsw(
1423-
multi_vector=Configure.VectorIndex.MultiVector.multi_vector(
1424-
encoding=Configure.VectorIndex.MultiVector.Encoding.muvera()
1425-
)
1426-
),
1427-
)
1428-
],
1429-
)
1430-
config = collection.config.get()
1431-
assert config.vector_config is not None
1432-
conf = config.vector_config["vec"].vector_index_config
1433-
assert isinstance(conf, _VectorIndexConfigHNSW)
1434-
if collection._connection._weaviate_version.is_lower_than(1, 31, 0):
1435-
assert conf.multi_vector is None
1436-
else:
1437-
assert conf.multi_vector is not None
1438-
assert conf.multi_vector.encoding is not None
1439-
1440-
1441-
def test_config_muvera_disabled(
1442-
collection_factory: CollectionFactory,
1443-
) -> None:
1444-
dummy = collection_factory("dummy", ports=(8086, 50057))
1445-
if dummy._connection._weaviate_version.is_lower_than(1, 29, 0):
1446-
pytest.skip("Multivector is not supported in Weaviate versions lower than 1.29.0")
1447-
1448-
collection = collection_factory(
1449-
ports=(8086, 50057),
1450-
properties=[Property(name="name", data_type=DataType.TEXT)],
1451-
vectorizer_config=[
1452-
Configure.NamedVectors.text2colbert_jinaai(
1453-
name="vec",
1454-
vectorize_collection_name=False,
1455-
vector_index_config=Configure.VectorIndex.hnsw(
1456-
multi_vector=Configure.VectorIndex.MultiVector.multi_vector()
1457-
),
1458-
)
1459-
],
1460-
)
1461-
config = collection.config.get()
1462-
assert config.vector_config is not None
1463-
conf = config.vector_config["vec"].vector_index_config
1464-
assert isinstance(conf, _VectorIndexConfigHNSW)
1465-
assert conf.multi_vector is not None
1466-
assert conf.multi_vector.encoding is None
1467-
1468-
14691408
@pytest.mark.parametrize(
14701409
"generative_config",
14711410
[

weaviate/collections/classes/config.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@
3333
)
3434
from weaviate.collections.classes.config_vector_index import (
3535
VectorFilterStrategy,
36-
_MuveraConfigCreate,
37-
_EncodingConfigCreate,
3836
_MultiVectorConfigCreate,
3937
_QuantizerConfigCreate,
4038
_VectorIndexConfigCreate,
@@ -1558,20 +1556,8 @@ class _SQConfig(_ConfigBase):
15581556
SQConfig = _SQConfig
15591557

15601558

1561-
@dataclass
1562-
class _MuveraConfig(_ConfigBase):
1563-
enabled: Optional[bool]
1564-
ksim: Optional[int]
1565-
dprojections: Optional[int]
1566-
repetitions: Optional[int]
1567-
1568-
1569-
MuveraConfig = _MuveraConfig
1570-
1571-
15721559
@dataclass
15731560
class _MultiVectorConfig(_ConfigBase):
1574-
encoding: Optional[_MuveraConfig]
15751561
aggregation: str
15761562

15771563

@@ -2045,31 +2031,12 @@ def __add_props(
20452031
ret_dict["properties"] = existing_props
20462032

20472033

2048-
class _VectorIndexMultivectorEncoding:
2049-
@staticmethod
2050-
def muvera(
2051-
ksim: Optional[int] = None,
2052-
dprojections: Optional[int] = None,
2053-
repetitions: Optional[int] = None,
2054-
) -> _EncodingConfigCreate:
2055-
return _MuveraConfigCreate(
2056-
enabled=True,
2057-
ksim=ksim,
2058-
dprojections=dprojections,
2059-
repetitions=repetitions,
2060-
)
2061-
2062-
20632034
class _VectorIndexMultiVector:
2064-
Encoding = _VectorIndexMultivectorEncoding
2065-
20662035
@staticmethod
20672036
def multi_vector(
2068-
encoding: Optional[_EncodingConfigCreate] = None,
20692037
aggregation: Optional[MultiVectorAggregation] = None,
20702038
) -> _MultiVectorConfigCreate:
20712039
return _MultiVectorConfigCreate(
2072-
encoding=encoding if encoding is not None else None,
20732040
aggregation=aggregation.value if aggregation is not None else None,
20742041
)
20752042

weaviate/collections/classes/config_methods.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
_InvertedIndexConfig,
2222
_MultiTenancyConfig,
2323
_MultiVectorConfig,
24-
_MuveraConfig,
2524
_NamedVectorConfig,
2625
_NamedVectorizerConfig,
2726
_NestedProperty,
@@ -150,31 +149,12 @@ def __get_quantizer_config(
150149
return quantizer
151150

152151

153-
def __get_multivector_encoding(config: Dict[str, Any]) -> Optional[_MuveraConfig]:
154-
return (
155-
None
156-
if config.get("muvera") is None
157-
or not config.get("muvera", {"enabled": False}).get("enabled")
158-
else _MuveraConfig(
159-
enabled=config["muvera"]["enabled"],
160-
ksim=config["muvera"]["ksim"],
161-
dprojections=config["muvera"]["dprojections"],
162-
repetitions=config["muvera"]["repetitions"],
163-
)
164-
)
165-
166-
167152
def __get_multivector(config: Dict[str, Any]) -> Optional[_MultiVectorConfig]:
168153
return (
169154
None
170155
if config.get("multivector") is None
171156
or not config.get("multivector", {"enabled": False}).get("enabled")
172157
else _MultiVectorConfig(
173-
encoding=(
174-
None
175-
if config["multivector"].get("muvera") is None
176-
else __get_multivector_encoding(config["multivector"])
177-
),
178158
aggregation=config["multivector"]["aggregation"],
179159
)
180160
)
@@ -264,7 +244,6 @@ def __get_vector_config(
264244
),
265245
vector_index_config=vector_index_config,
266246
)
267-
268247
return named_vectors
269248
else:
270249
return None

weaviate/collections/classes/config_vector_index.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,26 +42,7 @@ class _MultiVectorConfigCreateBase(_ConfigCreateModel):
4242
enabled: bool = Field(default=True)
4343

4444

45-
class _EncodingConfigCreate(_MultiVectorConfigCreateBase):
46-
enabled: bool = Field(default=True)
47-
48-
@staticmethod
49-
@abstractmethod
50-
def encoding_name() -> str: ...
51-
52-
53-
class _MuveraConfigCreate(_EncodingConfigCreate):
54-
ksim: Optional[int]
55-
dprojections: Optional[int]
56-
repetitions: Optional[int]
57-
58-
@staticmethod
59-
def encoding_name() -> str:
60-
return "muvera"
61-
62-
6345
class _MultiVectorConfigCreate(_MultiVectorConfigCreateBase):
64-
encoding: Optional[_EncodingConfigCreate] = Field(exclude=True)
6546
aggregation: Optional[str]
6647

6748

@@ -80,10 +61,6 @@ def _to_dict(self) -> Dict[str, Any]:
8061
ret_dict[self.quantizer.quantizer_name()] = self.quantizer._to_dict()
8162
if self.distance is not None:
8263
ret_dict["distance"] = str(self.distance.value)
83-
if self.multivector is not None and self.multivector.encoding is not None:
84-
ret_dict["multivector"][self.multivector.encoding.encoding_name()] = (
85-
self.multivector.encoding._to_dict()
86-
)
8764

8865
return ret_dict
8966

0 commit comments

Comments
 (0)