Even if the alternative is free, how much do you value your time, how long will it take to set up an alternative, and how much use will you get out of it? This is also why it's never been the year of linux on the desktop, and why most businesses still don't use Libre Office and GIMP.
I can't speak for quality; even if I used that API directly, this whole area is changing too fast to really keep up.
Most of the other options just work with the transformers library.
And from my personal experience Ada embeddings are not the best. They are large (makes aproximate searching harder), are distributed weirdly, and zimply put, other embeddings give better results for retrieval.
Another advantage is that you are not an OA's whim: they just announced the deprecation of some previous model. What are you going to do when they will deprecate Ada v2 and you've built a huge system on top of it? You'll have to regenerate embeddings and hope everything still works just as well.
https://huggingface.co/spaces/mteb/leaderboard
Of course, that's far from saying that they're the worst, or even headed that way. Just not the best (those would be a couple of fully opensource models, including those of the Instructor family, which we use at my workplace).
qa = ConversationalRetrievalChain.from_llm(OpenAI(temperature=0.1), db.as_retriever())Ehr no? You'll need to also create an embedding of your query, which makes you totally dependent on OpenAI. If you swap out embedding algorithm you will have to regenerate all the embeddings as well, they might not be even the same size.
Once the vectors are created tho, you're completely off the cloud if you so choose.
You can always swap out the embedding generator too, because LangChain abstracts that for your exact gripes.
Everything else is already using huggingface here and can be swapped out for any other model besides GPT2 which supports the prompts.