# Choosing Models from the Library — Local LLMs with Ollama & llama.cpp

Source: https://www.skillbyai.com/en/local-llms/ll-ollama-library

> Pick a model and tag that fits your hardware and task from the Ollama library or Hugging Face.

## Tags encode size and quantization

The Ollama library lists models by family, and each model has many **tags**. A tag usually combines the parameter count and sometimes the variant and quantization, for example `qwen2.5:7b`, `qwen2.5:7b-instruct-q8_0` or `gemma3:4b`. The default tag for most models is an instruct variant at a 4-bit quantization, which is a sensible starting point. Choose by task first: general chat, coding (models with *coder* in the name), embeddings (models such as `nomic-embed-text` that return vectors, not text), or vision (models that accept images). Then choose by hardware: the size shown on the tag page must fit in your VRAM or RAM with headroom for context. Ollama can also run GGUF models straight from Hugging Face with `ollama run hf.co/<user>/<repo>`, optionally followed by a quantization tag, which opens up thousands of community quantizations.

## Picking a phone variant

A phone model comes as 6/128 or 8/256. Same phone, different memory configurations and prices. A model tag is the same: the family is the phone, the tag tells you the size and how tightly it is packed, and you buy the one your pocket (your RAM) can afford.

## Pulling specific tags

Be explicit about tags in scripts so everyone on the team runs the same thing.

```bash
ollama pull qwen2.5:7b                 # default quant for the 7B size
ollama pull nomic-embed-text           # an embedding model
# Run a GGUF straight from Hugging Face, choosing a quant
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q4_K_M
```

**Quiz:** You need vectors for semantic search, not chat replies. What kind of model should you pull?

- [ ] A coder model
- [x] An embedding model such as nomic-embed-text
- [ ] The largest instruct model available
- [ ] A base model

*Answer:* An embedding model such as nomic-embed-text. Embedding models map text to vectors for similarity search. Chat and coder models generate text.
