Great work! Instead of faiss, you could use a standalone vector search engine like Qdrant https://github.com/qdrant/qdrant It would bring some advantages like, for example, filtering support.
TLDR: using a vector database for production systems really pays off, as library is hard to maintain in a long run