Cool project! It's not clear to me in the code from where you are getting embeddings. Are all your embeddings coming from OpenAI? If so, that sounds expensive for personal use.
We'll also add support for huggingface embeddings like MPNET and SBERT in the future!