Re: step 3, I think you mean text-embedding-ada-002—OpenAI's current embeddings model, which replaces all 15 (or is it 16?) first generation embeddings models.
With respect to open source embeddings models, instructor-xl is the state of the art currently—as effective as text-embedding-ada-002.
That said, instructor-xl has a context length of 512 tokens, while text-embedding-ada-002 has a context length of 8192 tokens, which is markedly more convenient.
Last but not least, parent's comment re: langchain is spot on. It's simple and straightforward to write these few lines of code yourself.