Correct way to store embeddings

Hello, i am trying to correctly design out schema. We are going to have different tenants, and they will be uploading different documents of multiple pages. In this case the tenant id will be the same if they user is upload from that same tenant; however, I am confused on what i should do for class name. Should I make the class name unique per document so that only the pages/embeddings are associated with that document? Or should I make the class name the same no matter the tenant or embeddings and then just have a unique id as metadata across the embeddings/pages of the same document? Trying to understand what the best design pattern would be for this. Thanks in advanced

Hi @bspell ! Welcome to our community :hugs:

I believe the best approach is the second one. You store all data in a same class, isolating clients using the multi tenant.

IF you want to search at a specific subset of a document, you can filter it out by the source property.

You can also create a second class for the document and link them by UUID. There is an example of this approach here:

Let me know if that helps!


This is super helpful :slight_smile: Thank you so much!