Is parallel vector search possible?

I looked at this doc: Vector similarity search | Weaviate - Vector Database

Does it support mulitple simultaneous queries, e.g. with vector of shape [3x768] if my embedded vectors are of 768 dim, and I have 3 input vectors to search?

it appears the .near_vector only expect list of float.

hi!

This is not possible. You can only do a similarity search using one vector at a time.

Any plan to support this in the near future? i think FAISS do support this. It is just something I want to explore if it helps in batch processing during peak load, and I aint sure how tricky this is if it involves filters.

I believe i misunderstood your question.

You can run parallel/concurrent queries in Weaviate. But you can’t run multiple vector search at the same query.

I believe that one possibility here is getting a centroid from those 3 vectors nd query the resulting vector.

Let me know if this helps!

Thanks!

I think you understood it. I meant multiple vector search in a single query. Getting centroids or other kind of aggregates won’t do 'cos the vectors are independent of each other.

I am actually hinting at if weaviate could use powerful GPU, you are not taking advantage of parallelism. I am not sure if weaviate actually use GPU or not. However, if I have to do it from scratch using the dot product (for cosine dist), I would have done a matrix multiply.

FAISS from Meta actually do support this. I am not sure if Weaviate actually use FAISS internally.

Weaviate doesn’t use FAISS :slight_smile:

Not sure GPU is usable for Weaviate, but on inference models. :thinking:

Thanks for the info. I actually do have question about the modules and the embedding model. Probably will ask that separately.

1 Like