My own LLM CLI tool and Python library includes plugin-based support for embeddings (or you can use API-based embeddings like those from Jina or OpenAI) - here's my list of plugins that enable new embeddings models: https://llm.datasette.io/en/stable/plugins/directory.html#em...
More about that in my embeddings talk from last year: https://simonwillison.net/2023/Oct/23/embeddings/
My primary use case is education, as myself and others use this for short student projects[2] related to LLMs, but there's nothing preventing this package from being used in other ways. It includes a basic in-process vector store[3].
[1] https://github.com/jncraton/languagemodels
[2] https://www.merlot.org/merlot/viewMaterial.htm?id=773418755
[3] https://github.com/jncraton/languagemodels?tab=readme-ov-fil...