Repository: ollama
Issue: Bring back the EMBED feature in the Modelfile
Labels: feature request,feedback wanted

I appreciate the effort keeping the codebase simple, Ollama is second to none in its elegance. But this was quick work removing the feature within a week without much debate if and how people use it, and is it really not valuable, or maybe it's a fantastic feature on second thought. I am going to miss this feature a lot and was highlighting it to others as an Ollama special treat. It was in daily use.

Related: #759 (feature removal), #501 (bug), #502 (documentation) 

I'd like to bring some more viewpoints to this, as a heavy user who's tried everything I've gotten my hands on:

1. **User experience in comparison to alternatives was great.** Ollama comes with an ecosystem of APIs and chatbots. With nothing else to install, Ollama was a one-liner RAG chatbot with multi-line support. Upstream clients needed zero configuration to get these benefits for free. 
2. **The alternatives are not good without plenty of developer effort** that regular people can't do. Now the users need to ramp up a client for this, and every one of them is poor in their user experience in their own ways. No match for Ollama out of the box. UX doesn't happen in a vacuum, it's in comparison to others. Ollama + any chatbot GUI + dropdown to select a RAG-model was all that was needed, but now that's no longer possible.
3. **The PrivateGPT example is no match even close,** I tried it and I've tried them all, built my own RAG routines at some scale for others. All else being equal, Ollama was actually the best no-bells-and-whistles RAG routine out there, ready to run in minutes with zero extra things to install and very few to learn. "Don't make me install new things" is an important UX perspective to this.
4. **Creating embeddings was a bit of extra work, but that's unavoidable if it's generic.** Again comparing to alternatives, all other methods need some work to make the embeddings too. Ollama's was easy, even if there can be an argument that "one line per embedding isn't elegant". Well it is in its simplicity. The rest is string manipulation.
5. **It was instant fast at runtime.** Embeddings took a while to create, but at runtime there is no delay, it's jut as instant as without embeddings.
6. **Turns out LLMs create totally usable embeddings.** Even if Llama2 or Mistral aren't embedding models on paper, they worked great in practice. I was using it daily with esoteric documents and it was fine. This was an issue in theory only.
7. **Instead of outright deletion, it really needed just some cleanup, but not immediately.** Finding the root cause for what made longer ingestions not work as a single batch. Create better documentation. That's it. _Then it would have been fine_ to park it for a long time. Even without changes it was usable, and there are always issues in a sufficiently large codebase.

I'll write this as a new issue so it can be tracked, maybe there's more feedback. Please consider bringing it back. I'm going to park to v0.1.3 tag until new killer features come along. Thanks a lot for the great work! Please ask community opinion with a clear issue headline before deprecating powerful capabilities in a breaking change, and give it a few weeks if not urgent.

Other thoughts and viewpoints welcome.