Highly recommend preemptively saving multiple types of embeddings for each of your objects; that way, you can shift to an alternate query embedding at any time, or combine the results from multiple vector searches. As one of my favorite quotes from Contact says: "first rule in government spending: why build one when you can have two at twice the price?" https://www.youtube.com/watch?v=EZ2nhHNtpmk
The plan is to add Llama 2 completions to the processors, which would include dictionary completion (keyterm/sentiment/etc), chat completion, code completion, for reasons exactly like what we're discussing.
Here's the code for the Instructor embeddings: https://github.com/FeatureBaseDB/Laminoid/blob/main/sloth/sl...
To do Instructor embeddings, do the imports then reference the embed() function. It goes without saying that these vectors can't be mixed with other types of vectors, so you would have to reindex your data to make them compatible.
1. Generate embeddings using services such as OpenAI, which is usually more powerful;
2. Generate backup embeddings using local, more stable models, such as Llama2 embeddings or simply some BERT-family-model (which is more affordable).
When outages comes up you simply switch from one vector space to another. Though possible, model alignments are much harder and more expensive to achieve.