I love working with Ollama, I was really surprised at how easy it is to build a simple RAG system with it. For example: https://github.com/stephen37/ollama_local_rag
Looks like its a vector DB used for creating and looking up embeddings (vectors). LLM is the second part of RAG, the first part is having a good embedding model.
Jina AI is doing different things but one of them is having embeddings and I use their English/ German embeddings as in one demo I am working with German data.
You can use pip as well but yes, let me add something about Poetry in case people don't know about it :)