# Can the same class set different vectorizors for different tenants?

**URL:** <https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747>\
**Category:** General\
**Created:** [March 18, 2024, 7:59am UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747 "2024-03-18T07:59:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![user3](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/user3/32/465_2.png) [@user3](https://forum.weaviate.io/u/user3)\
**Post date:** [March 18, 2024, 7:59am UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/1 "2024-03-18T07:59:27Z")

</div>

When creating a tenant for a class, can I specify a different vectorizer for it? Because the vectorizers used under multi-tenancy may be different.

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [March 18, 2024, 12:32pm UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/2 "2024-03-18T12:32:37Z")

</div>

Hi @user3 !

You can’t. ☹

You first create the collection, specifying the vectorizer, then you add the tenant that will follow whatever the specifications you set for that collection.

There is a new feature in 1.24+ called named vectors, that you can have different vectors per object, but that would result in all you tenants having all the named vectors you define.

I suggest you open a new feature request:

> **[Issues · weaviate/weaviate](https://github.com/weaviate/weaviate/issues)**
>
> Weaviate is an open source vector database that stores both objects and vectors, allowing for combining vector search with structured filtering with the fault-tolerance and scalability of a cloud-n...

I believe a feature that would allow you to optionally select named vector per tenant would be interesting and solve your requirement 🤔

Thanks!

---

<div class="post-metadata">

**Author:** ![user3](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/user3/32/465_2.png) [@user3](https://forum.weaviate.io/u/user3)\
**Post date:** [March 19, 2024, 1:22am UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/3 "2024-03-19T01:22:09Z")

</div>

Should the named vector be specified when creating the collection? But if I have a new tenant that is created after creating the collection, can he modify the vector config settings?  
Second question: Can different vectorizers be specified for the same attribute?

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [March 19, 2024, 2:37pm UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/4 "2024-03-19T14:37:12Z")

</div>

Hi!

Yes, if you are using named vectors, you need to create them during the class creation:

> **[Multiple vectors | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/config-refs/schema/multi-vector#create-a-schema)**
>
> Syntax

when you do that, you can specify different vectorizers for different attributes (or the same, answering question 2).

For example:

```auto
# Define a new schema
collection = client.collections.create(
    name="Named_Vector_Jeopardy_Collection",
    description="Jeopardy game show questions",
    vectorizer_config=[
        wvc.config.Configure.NamedVectors.text2vec_cohere(
            name="jeopardy_questions_vector",
            source_properties=["question"],
            vectorize_collection_name=False,
        ),
        wvc.config.Configure.NamedVectors.text2vec_openai(
            name="jeopardy_answers_vector",
            source_properties=["answer"],
            vectorize_collection_name=False,
        ),
    ],
    properties=[
        wvc.config.Property(name="category", data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="question", data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="answer", data_type=wvc.config.DataType.TEXT),
    ],
)

```

as `source_properties` you can specify for example [“answer”, “question”], ending up with a named vector based on those two properties, regardless if they are being used by another named vector.

Let me know if this helps 🙂

---

<div class="post-metadata">

**Author:** ![user3](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/user3/32/465_2.png) [@user3](https://forum.weaviate.io/u/user3)\
**Post date:** [March 20, 2024, 6:44am UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/5 "2024-03-20T06:44:04Z")

</div>

It looked different than I expected. 🙍

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [March 20, 2024, 5:17pm UTC](https://forum.weaviate.io/t/can-the-same-class-set-different-vectorizors-for-different-tenants/1747/6 "2024-03-20T17:17:37Z")

</div>

hi @user3 !

What were you expecting?

I believe this is a very flexible approach, as it allows you to mix and match the named vectors with the fields you want.

I would love to “pick your brain” on that 🙂
