For use with LLMs, I implemented my own vector DB code in Common Lisp and Swift.
When I work in Python, my favorite is absolutely Chroma embedded.
The article is wrong about Chroma embedded being in memory only. It also works fine with write through to a local disk, including maintaining index files.