We ended up creating our own engine.
Do you need all the embeddings for every query. Some of our clients break their embeddings into categories, and use a different database for each area
Eg different areas of law, different topics within a University etc
10 billion embeddings is a lot. If each one is 100 tokens long, are you encoding 1 trillion words/tokens? is that correct?
Out of interest, how long is the text you are embedding for each entry? You may be able to combine entries in some way to have longer blocks of text, and therefore less embeddings - But it will depend on your use case.