|
37 | 37 | VoyageModel, |
38 | 38 | VoyageMultimodalModel, |
39 | 39 | WeaviateModel, |
| 40 | + WeaviateMultimodalModel, |
40 | 41 | _Img2VecNeuralConfig, |
41 | 42 | _map_multi2vec_fields, |
42 | 43 | _Multi2MultiVecJinaConfig, |
| 44 | + _Multi2MultiVecWeaviateConfig, |
43 | 45 | _Multi2VecAWSConfig, |
44 | 46 | _Multi2VecBindConfig, |
45 | 47 | _Multi2VecClipConfig, |
@@ -288,6 +290,43 @@ def multi2vec_jinaai( |
288 | 290 | ), |
289 | 291 | ) |
290 | 292 |
|
| 293 | + @staticmethod |
| 294 | + def multi2vec_weaviate( |
| 295 | + *, |
| 296 | + image_field: str, |
| 297 | + name: Optional[str] = None, |
| 298 | + encoding: Optional[_MultiVectorEncodingConfigCreate] = None, |
| 299 | + quantizer: Optional[_QuantizerConfigCreate] = None, |
| 300 | + base_url: Optional[AnyHttpUrl] = None, |
| 301 | + model: Optional[Union[WeaviateMultimodalModel, str]] = None, |
| 302 | + multi_vector_config: Optional[_MultiVectorConfigCreate] = None, |
| 303 | + vector_index_config: Optional[_VectorIndexConfigCreate] = None, |
| 304 | + ) -> _VectorConfigCreate: |
| 305 | + """Create a vector using the `multi2multivec-weaviate` module. |
| 306 | +
|
| 307 | + Args: |
| 308 | + image_field: The image field to use in vectorization. |
| 309 | + name: The name of the vector. |
| 310 | + encoding: The type of multi-vector encoding to use in the vector index. Defaults to `None`, which uses the server-defined default. |
| 311 | + quantizer: The quantizer to use for the vector index. If not provided, no quantization will be applied. |
| 312 | + base_url: The base URL to use where API requests should go. Defaults to `None`, which uses the server-defined default. |
| 313 | + model: The model to use. Defaults to `None`, which uses the server-defined default. |
| 314 | + multi_vector_config: The configuration for the multi-vector index. Use `wvc.config.Configure.VectorIndex.MultiVector` to create a multi-vector configuration. None by default |
| 315 | + vector_index_config: The configuration for Weaviate's vector index. Use `wvc.config.Configure.VectorIndex` to create a vector index configuration. None by default |
| 316 | + """ |
| 317 | + return _VectorConfigCreate( |
| 318 | + name=name, |
| 319 | + vectorizer=_Multi2MultiVecWeaviateConfig( |
| 320 | + baseURL=base_url, |
| 321 | + model=model, |
| 322 | + imageFields=_map_multi2vec_fields([image_field]), |
| 323 | + textFields=None, |
| 324 | + ), |
| 325 | + vector_index_config=_IndexWrappers.multi( |
| 326 | + vector_index_config, quantizer, multi_vector_config, encoding |
| 327 | + ), |
| 328 | + ) |
| 329 | + |
291 | 330 |
|
292 | 331 | class _Vectors: |
293 | 332 | @staticmethod |
|
0 commit comments