{"repo": "aicatalyst-team/flock", "files": {"MODELS.md": {"21eb39d5e32fd8e7a18c43fff49355b930b2e862": {"t": 1785747172.0981128, "n": 29745, "h": "7f585d5e15821398", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 19 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** at last update (run `flock model search` for the live list, or `flock model search --sort=released` for newest-first).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 \\* | Smoke test only |\n| `nomic-embed-text` | 0.3 GB | 2 GB | | | | | | | Apache-2.0 | Embeddings for RAG (768-dim, 8K ctx) |\n| `moondream3` | 1.2 GB | 4 GB | โ— | | | โ— | | | BSL-1.1 \\* | Tiny vision-language, runs on Pi |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 \\* | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `mimo-7b` | 4.5 GB | 8 GB | โ— | | โ—โ— | | | | Apache-2.0 | Xiaomi reasoning-focused 7B |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `mimo-vl-7b` | 4.8 GB | 8 GB | โ— | | | โ— | | | Apache-2.0 | Small vision-language |\n| `mimo-audio` | 4.8 GB | 8 GB | โ— | | | | โ— | | Apache-2.0 | Speech + audio understanding |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `qwen3-vl-8b` | 5.5 GB | 10 GB | โ— | โ— | | โ—โ— | | | Apache-2.0 | Vision + tools (charts, OCR, UI) |\n| `gemma4-e2b` | 7.2 GB | 8 GB | โ— | | | โ— | โ— | โ—โ— | Gemma \\* | Mobile/edge multimodal (T/I/A) |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma \\* | Encoder-free any-to-any (T/I/A/V) |\n| `pixtral-12b` | 7.8 GB | 16 GB | โ— | | | โ—โ— | | | Apache-2.0 | Mistral vision-language |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| `gemma4-e4b` | 9.6 GB | 12 GB | โ— | | | โ— | โ— | โ—โ— | Gemma \\* | Mobile/edge multimodal, larger E-tier |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma \\* | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| `qwen3-vl-32b` | 20 GB | 32 GB | โ— | โ— | | โ—โ—โ— | | | Apache-2.0 | Frontier-tier vision-language |\n| `gemma4-31b` | 20 GB | 32 GB | โ— | | | โ—โ— | | โ—โ— | Gemma \\* | Multimodal, larger than 26B |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 \\* | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 \\* | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open \\* | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point ยท \\* restricted license โ€” these 11 entries carry the `restricted-license` catalog tag (extra terms beyond Apache/MIT-style permissive; same amber badge the dashboard shows). `flock model search restricted-license` lists them; `flock model info ` links the license text.\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor per-model walkthroughs (with detailed install + client snippets), the curated set below covers the longest-standing entries. For the rest of the catalog (10+ newer additions including Gemma 4 family, MiMo, Qwen3-VL, Pixtral, Moondream), run `flock model info ` โ€” same fields as the table above, plus engine compatibility, license, and release date.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below cover a curated subset with full install + client snippets. For every other catalog entry, run `flock model info ` for the same metadata (size, RAM, capabilities, license, release date, engine compatibility), or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you'd like a full walkthrough added.\n\n### Installing models that aren't in the catalog\n\n`flock model add` gives you three paths beyond the curated 37 entries:\n\n**1. Scheme prefixes** โ€” one-liner; no YAML, no hardware-floor check:\n\n```bash\nflock model add hf:Qwen/Qwen3-72B-AWQ # vLLM / MLX / llama-server\nflock model add hf:bartowski/Phi-3-mini-GGUF:Phi-3-mini-4k-instruct.Q4_K_M.gguf\nflock model add ollama:phi3:mini # ollama engine only\nflock model add file:/abs/path/my-finetune.gguf # llama-server / MLX, pre-downloaded\n```\n\nThe dashboard's **Models** tab has the same input under \"Add custom model\".\n\n**2. `--from `** โ€” install from your own catalog YAML; copied into `~/.flock/catalog/` so it persists:\n\n```bash\nflock model add --from ./my-model.yaml\n```\n\n**3. Drop-in dir** โ€” write a YAML to `~/.flock/catalog/.yaml` directly, then install by id:\n\n```bash\nmkdir -p ~/.flock/catalog\ncat > ~/.flock/catalog/my-llama.yaml <<'EOF'\nid: my-llama\ndisplay_name: My fine-tuned llama\nsource:\n type: huggingface\n repo: my-org/my-llama-gguf\nsize_bytes: 8000000000\nhardware:\n min_ram_gb: 8\ncapabilities: [chat]\nrecommended_engines: [llamacpp]\nlicense: apache-2.0\nEOF\nflock model add my-llama\n```\n\nPaths 2 and 3 give you the same UX as a catalog entry โ€” `flock model search my-llama`, `flock model info my-llama`, hardware-floor checks, license badges all work. Path 1 is the quick fallback when you don't want to write YAML.\n\n---\n\n## Table of contents (curated walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "f6bef62f62999ac25d80d0dde8ff707e5e1028b2": {"t": 1785770944.8657768, "n": 29745, "h": "7f585d5e15821398", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 19 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** at last update (run `flock model search` for the live list, or `flock model search --sort=released` for newest-first).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 \\* | Smoke test only |\n| `nomic-embed-text` | 0.3 GB | 2 GB | | | | | | | Apache-2.0 | Embeddings for RAG (768-dim, 8K ctx) |\n| `moondream3` | 1.2 GB | 4 GB | โ— | | | โ— | | | BSL-1.1 \\* | Tiny vision-language, runs on Pi |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 \\* | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `mimo-7b` | 4.5 GB | 8 GB | โ— | | โ—โ— | | | | Apache-2.0 | Xiaomi reasoning-focused 7B |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `mimo-vl-7b` | 4.8 GB | 8 GB | โ— | | | โ— | | | Apache-2.0 | Small vision-language |\n| `mimo-audio` | 4.8 GB | 8 GB | โ— | | | | โ— | | Apache-2.0 | Speech + audio understanding |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `qwen3-vl-8b` | 5.5 GB | 10 GB | โ— | โ— | | โ—โ— | | | Apache-2.0 | Vision + tools (charts, OCR, UI) |\n| `gemma4-e2b` | 7.2 GB | 8 GB | โ— | | | โ— | โ— | โ—โ— | Gemma \\* | Mobile/edge multimodal (T/I/A) |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma \\* | Encoder-free any-to-any (T/I/A/V) |\n| `pixtral-12b` | 7.8 GB | 16 GB | โ— | | | โ—โ— | | | Apache-2.0 | Mistral vision-language |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| `gemma4-e4b` | 9.6 GB | 12 GB | โ— | | | โ— | โ— | โ—โ— | Gemma \\* | Mobile/edge multimodal, larger E-tier |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma \\* | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| `qwen3-vl-32b` | 20 GB | 32 GB | โ— | โ— | | โ—โ—โ— | | | Apache-2.0 | Frontier-tier vision-language |\n| `gemma4-31b` | 20 GB | 32 GB | โ— | | | โ—โ— | | โ—โ— | Gemma \\* | Multimodal, larger than 26B |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 \\* | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 \\* | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open \\* | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point ยท \\* restricted license โ€” these 11 entries carry the `restricted-license` catalog tag (extra terms beyond Apache/MIT-style permissive; same amber badge the dashboard shows). `flock model search restricted-license` lists them; `flock model info ` links the license text.\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor per-model walkthroughs (with detailed install + client snippets), the curated set below covers the longest-standing entries. For the rest of the catalog (10+ newer additions including Gemma 4 family, MiMo, Qwen3-VL, Pixtral, Moondream), run `flock model info ` โ€” same fields as the table above, plus engine compatibility, license, and release date.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below cover a curated subset with full install + client snippets. For every other catalog entry, run `flock model info ` for the same metadata (size, RAM, capabilities, license, release date, engine compatibility), or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you'd like a full walkthrough added.\n\n### Installing models that aren't in the catalog\n\n`flock model add` gives you three paths beyond the curated 37 entries:\n\n**1. Scheme prefixes** โ€” one-liner; no YAML, no hardware-floor check:\n\n```bash\nflock model add hf:Qwen/Qwen3-72B-AWQ # vLLM / MLX / llama-server\nflock model add hf:bartowski/Phi-3-mini-GGUF:Phi-3-mini-4k-instruct.Q4_K_M.gguf\nflock model add ollama:phi3:mini # ollama engine only\nflock model add file:/abs/path/my-finetune.gguf # llama-server / MLX, pre-downloaded\n```\n\nThe dashboard's **Models** tab has the same input under \"Add custom model\".\n\n**2. `--from `** โ€” install from your own catalog YAML; copied into `~/.flock/catalog/` so it persists:\n\n```bash\nflock model add --from ./my-model.yaml\n```\n\n**3. Drop-in dir** โ€” write a YAML to `~/.flock/catalog/.yaml` directly, then install by id:\n\n```bash\nmkdir -p ~/.flock/catalog\ncat > ~/.flock/catalog/my-llama.yaml <<'EOF'\nid: my-llama\ndisplay_name: My fine-tuned llama\nsource:\n type: huggingface\n repo: my-org/my-llama-gguf\nsize_bytes: 8000000000\nhardware:\n min_ram_gb: 8\ncapabilities: [chat]\nrecommended_engines: [llamacpp]\nlicense: apache-2.0\nEOF\nflock model add my-llama\n```\n\nPaths 2 and 3 give you the same UX as a catalog entry โ€” `flock model search my-llama`, `flock model info my-llama`, hardware-floor checks, license badges all work. Path 1 is the quick fallback when you don't want to write YAML.\n\n---\n\n## Table of contents (curated walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "f8e597648dbb12a008e36efafd53832b1051bf2a": {"t": 1785770946.2934194, "n": 29302, "h": "b0031f59478ffd53", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 19 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** at last update (run `flock model search` for the live list, or `flock model search --sort=released` for newest-first).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `moondream3` | 1.2 GB | 4 GB | โ— | | | โ— | | | Apache-2.0 | Tiny vision-language, runs on Pi |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `mimo-7b` | 4.5 GB | 8 GB | โ— | | โ—โ— | | | | Apache-2.0 | Xiaomi reasoning-focused 7B |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `mimo-vl-7b` | 4.8 GB | 8 GB | โ— | | | โ— | | | Apache-2.0 | Small vision-language |\n| `mimo-audio` | 4.8 GB | 8 GB | โ— | | | | โ— | | Apache-2.0 | Speech + audio understanding |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `qwen3-vl-8b` | 5.5 GB | 10 GB | โ— | โ— | | โ—โ— | | | Apache-2.0 | Vision + tools (charts, OCR, UI) |\n| `gemma4-e2b` | 7.2 GB | 8 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal (T/I/A) |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `pixtral-12b` | 7.8 GB | 16 GB | โ— | | | โ—โ— | | | Apache-2.0 | Mistral vision-language |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| `gemma4-e4b` | 9.6 GB | 12 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal, larger E-tier |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| `qwen3-vl-32b` | 20 GB | 32 GB | โ— | โ— | | โ—โ—โ— | | | Apache-2.0 | Frontier-tier vision-language |\n| `gemma4-31b` | 20 GB | 32 GB | โ— | | | โ—โ— | | โ—โ— | Gemma | Multimodal, larger than 26B |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor per-model walkthroughs (with detailed install + client snippets), the curated set below covers the longest-standing entries. For the rest of the catalog (10+ newer additions including Gemma 4 family, MiMo, Qwen3-VL, Pixtral, Moondream), run `flock model info ` โ€” same fields as the table above, plus engine compatibility, license, and release date.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below cover a curated subset with full install + client snippets. For every other catalog entry, run `flock model info ` for the same metadata (size, RAM, capabilities, license, release date, engine compatibility), or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you'd like a full walkthrough added.\n\n### Installing models that aren't in the catalog\n\n`flock model add` gives you three paths beyond the curated 37 entries:\n\n**1. Scheme prefixes** โ€” one-liner; no YAML, no hardware-floor check:\n\n```bash\nflock model add hf:Qwen/Qwen3-72B-AWQ # vLLM / MLX / llama-server\nflock model add hf:bartowski/Phi-3-mini-GGUF:Phi-3-mini-4k-instruct.Q4_K_M.gguf\nflock model add ollama:phi3:mini # ollama engine only\nflock model add file:/abs/path/my-finetune.gguf # llama-server / MLX, pre-downloaded\n```\n\nThe dashboard's **Models** tab has the same input under \"Add custom model\".\n\n**2. `--from `** โ€” install from your own catalog YAML; copied into `~/.flock/catalog/` so it persists:\n\n```bash\nflock model add --from ./my-model.yaml\n```\n\n**3. Drop-in dir** โ€” write a YAML to `~/.flock/catalog/.yaml` directly, then install by id:\n\n```bash\nmkdir -p ~/.flock/catalog\ncat > ~/.flock/catalog/my-llama.yaml <<'EOF'\nid: my-llama\ndisplay_name: My fine-tuned llama\nsource:\n type: huggingface\n repo: my-org/my-llama-gguf\nsize_bytes: 8000000000\nhardware:\n min_ram_gb: 8\ncapabilities: [chat]\nrecommended_engines: [llamacpp]\nlicense: apache-2.0\nEOF\nflock model add my-llama\n```\n\nPaths 2 and 3 give you the same UX as a catalog entry โ€” `flock model search my-llama`, `flock model info my-llama`, hardware-floor checks, license badges all work. Path 1 is the quick fallback when you don't want to write YAML.\n\n---\n\n## Table of contents (curated walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "20ce480f9972b2abc6ea832635c0933c7d37a9af": {"t": 1785770947.7404745, "n": 28592, "h": "c4dae4d9f144803d", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 19 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** at last update (run `flock model search` for the live list, or `flock model search --sort=released` for newest-first).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `moondream3` | 1.2 GB | 4 GB | โ— | | | โ— | | | Apache-2.0 | Tiny vision-language, runs on Pi |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `mimo-7b` | 4.5 GB | 8 GB | โ— | | โ—โ— | | | | Apache-2.0 | Xiaomi reasoning-focused 7B |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `mimo-vl-7b` | 4.8 GB | 8 GB | โ— | | | โ— | | | Apache-2.0 | Small vision-language |\n| `mimo-audio` | 4.8 GB | 8 GB | โ— | | | | โ— | | Apache-2.0 | Speech + audio understanding |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `qwen3-vl-8b` | 5.5 GB | 10 GB | โ— | โ— | | โ—โ— | | | Apache-2.0 | Vision + tools (charts, OCR, UI) |\n| `gemma4-e2b` | 7.2 GB | 8 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal (T/I/A) |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `pixtral-12b` | 7.8 GB | 16 GB | โ— | | | โ—โ— | | | Apache-2.0 | Mistral vision-language |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| `gemma4-e4b` | 9.6 GB | 12 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal, larger E-tier |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| `qwen3-vl-32b` | 20 GB | 32 GB | โ— | โ— | | โ—โ—โ— | | | Apache-2.0 | Frontier-tier vision-language |\n| `gemma4-31b` | 20 GB | 32 GB | โ— | | | โ—โ— | | โ—โ— | Gemma | Multimodal, larger than 26B |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor per-model walkthroughs (with detailed install + client snippets), the curated set below covers the longest-standing entries. For the rest of the catalog (10+ newer additions including Gemma 4 family, MiMo, Qwen3-VL, Pixtral, Moondream), run `flock model info ` โ€” same fields as the table above, plus engine compatibility, license, and release date.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below cover a curated subset with full install + client snippets. For every other catalog entry, run `flock model info ` for the same metadata (size, RAM, capabilities, license, release date, engine compatibility), or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you'd like a full walkthrough added.\n\n### Installing models that aren't in the catalog\n\n`flock model add` accepts three scheme prefixes that bypass the catalog and pull anything the configured engine can serve. The hardware-floor check is skipped (no curated `min_ram_gb` to compare against), so the user is responsible for picking weights that fit.\n\n```bash\nflock model add hf:Qwen/Qwen3-72B-AWQ # vLLM / MLX / llama-server\nflock model add hf:bartowski/Phi-3-mini-GGUF:Phi-3-mini-4k-instruct.Q4_K_M.gguf\nflock model add ollama:phi3:mini # ollama engine only\nflock model add file:/abs/path/my-finetune.gguf # llama-server / MLX, pre-downloaded\n```\n\nThe dashboard's **Models** tab has the same input under \"Add custom model\".\n\n---\n\n## Table of contents (curated walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "9c2cc772636a3911eae26a783faf6e67143ac062": {"t": 1785770949.2278998, "n": 27879, "h": "01ab510d00d3f816", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 19 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** at last update (run `flock model search` for the live list, or `flock model search --sort=released` for newest-first).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `moondream3` | 1.2 GB | 4 GB | โ— | | | โ— | | | Apache-2.0 | Tiny vision-language, runs on Pi |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `mimo-7b` | 4.5 GB | 8 GB | โ— | | โ—โ— | | | | Apache-2.0 | Xiaomi reasoning-focused 7B |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `mimo-vl-7b` | 4.8 GB | 8 GB | โ— | | | โ— | | | Apache-2.0 | Small vision-language |\n| `mimo-audio` | 4.8 GB | 8 GB | โ— | | | | โ— | | Apache-2.0 | Speech + audio understanding |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `qwen3-vl-8b` | 5.5 GB | 10 GB | โ— | โ— | | โ—โ— | | | Apache-2.0 | Vision + tools (charts, OCR, UI) |\n| `gemma4-e2b` | 7.2 GB | 8 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal (T/I/A) |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `pixtral-12b` | 7.8 GB | 16 GB | โ— | | | โ—โ— | | | Apache-2.0 | Mistral vision-language |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| `gemma4-e4b` | 9.6 GB | 12 GB | โ— | | | โ— | โ— | โ—โ— | Gemma | Mobile/edge multimodal, larger E-tier |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| `qwen3-vl-32b` | 20 GB | 32 GB | โ— | โ— | | โ—โ—โ— | | | Apache-2.0 | Frontier-tier vision-language |\n| `gemma4-31b` | 20 GB | 32 GB | โ— | | | โ—โ— | | โ—โ— | Gemma | Multimodal, larger than 26B |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor per-model walkthroughs (with detailed install + client snippets), the curated set below covers the longest-standing entries. For the rest of the catalog (10+ newer additions including Gemma 4 family, MiMo, Qwen3-VL, Pixtral, Moondream), run `flock model info ` โ€” same fields as the table above, plus engine compatibility, license, and release date.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below cover a curated subset with full install + client snippets. For every other catalog entry, run `flock model info ` for the same metadata (size, RAM, capabilities, license, release date, engine compatibility), or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you'd like a full walkthrough added.\n\n---\n\n## Table of contents (curated walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "e85d36916cb5e0278f94d46bf1e622c5c1a60fc6": {"t": 1785770950.7374163, "n": 26047, "h": "2686b6d6fe83ed3a", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **37 models** as of v0.21.0 (run `flock model search` for the live list).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "3b6caccad93d5ed6fb5e8b6361ecfefc4a350e49": {"t": 1785770953.1824276, "n": 26047, "h": "fb6abc803a589535", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **27 models** as of v0.21.0 (run `flock model search` for the live list).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "9c712b3de5f8c9432e958e4b7884ea31ef3b750d": {"t": 1785770955.2930646, "n": 26046, "h": "c690720b0267d40c", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **27 models** as of v0.5.0 (run `flock model search` for the live list).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "82c8aa111e94cdd784e100c6c723e23c92625096": {"t": 1785770956.7777743, "n": 26046, "h": "9d1f798e091e597f", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **27 models** as of v0.4.0 (run `flock model search` for the live list).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n- [`nomic-embed-text`](#nomic-embed-text--embeddings-for-rag) โ€” embeddings for RAG\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## `nomic-embed-text` โ€” embeddings for RAG\n\n**Why pick it.** It's the default embedding model in Flock's catalog โ€” Apache-2.0 licensed, 137 M parameters, 768-dimensional vectors, 8K-token context window. Beats OpenAI `text-embedding-ada-002` on MTEB benchmarks. If you're wiring Flock into a RAG pipeline (LangChain, LlamaIndex, Haystack, raw vector DB), this is the one to start with.\n\n**Picker fit.** Any machine โ€” it needs ~270 MB on disk and 2 GB RAM. Runs alongside your chat model with no extra hardware budget.\n\n**Install.**\n\n```bash\nflock model add nomic-embed-text\n```\n\n**Use via API (OpenAI embeddings shape).**\n\n```bash\nKEY=\"sk-orc-...\"\n\ncurl http://localhost:8080/v1/embeddings \\\n -H \"Authorization: Bearer $KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"nomic-embed-text\",\"input\":\"the quick brown fox\"}'\n```\n\nResponse (truncated):\n\n```json\n{\n \"object\": \"list\",\n \"data\": [{\"object\":\"embedding\",\"index\":0,\"embedding\":[0.0214, -0.0179, ...768 floats...]}],\n \"model\": \"nomic-embed-text\",\n \"usage\": {\"prompt_tokens\": 5, \"total_tokens\": 5}\n}\n```\n\n**Use via SDK.**\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.embeddings.create(model=\"nomic-embed-text\", input=[\"hello\", \"world\"])\nprint(len(resp.data[0].embedding)) # โ†’ 768\n```\n\nDrop-in for any code that calls OpenAI `text-embedding-3-small` / `text-embedding-ada-002` โ€” same request and response shape.\n\n**Use via LangChain / LlamaIndex.** Point the `OpenAIEmbeddings` wrapper at `http://localhost:8080/v1` with your `sk-orc-*` key and `model=\"nomic-embed-text\"`. No other code changes.\n\n**What it doesn't do.** This is an embedding-only model. Don't try `/v1/chat/completions` with it โ€” it won't respond. Pair it with a chat model (Qwen, Llama, Gemma) for the generation half of your RAG stack.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "ba019a063e9c0664d601928e71c2613c603cc414": {"t": 1785770958.6741645, "n": 24101, "h": "cc7187aa5346f3d1", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **27 models** as of v0.4.0 (run `flock model search` for the live list).\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "d81a7c9c3ae36a9ed888c55750805a9870936131": {"t": 1785770960.2399564, "n": 24056, "h": "5f7e12fa4b3f7527", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **26 models** as of v0.2.1.\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\nUse the [picker table above](#-picker-table--what-to-install). It covers every model in the catalog with size, RAM, capability ratings, and license โ€” pick the row that matches your hardware, then go by use case.\n\nThe per-model walkthroughs below (with full install + client snippets) cover the **9 original v0.1.0 entries**. For the **17 newer entries** added in v0.2 / v0.2.1, run `flock model info ` for the same metadata, or open a [catalog issue](https://github.com/hadihonarvar/flock/issues/new?template=catalog_request.yml) if you want a full walkthrough added.\n\n---\n\n## Table of contents (original v0.1.0 walkthroughs)\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "9a325dd333c8162a1ee21f2b56ae8020df402bfb": {"t": 1785770962.7002435, "n": 25234, "h": "bfa4b5ae563d202d", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row. Catalog has **26 models** as of v0.2.1.\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Audio | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :---: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Distilled reasoning |\n| `lfm2.5-8b-a1b` โญ | 5.0 GB | 8 GB | โ— | | โ—โ— | | | โ—โ— | LFM Open | Best on-device MoE (1B active) |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | | Apache-2.0 | General chat |\n| `mellum2-12b` | 7.0 GB | 12 GB | โ— | โ—โ— | โ—โ— | | | | Apache-2.0 | JetBrains MoE coder (2.5B active) |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | โ—โ— | โ— | โ—โ— | Gemma | Encoder-free any-to-any (T/I/A/V) |\n| `qwen-coder-14b` | 9.0 GB | 16 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense code+agent |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | | |\n| `step-3.7-flash-sharded` โญ | 100 GB | 128 GB | โ—โ— | โ—โ— | โ—โ— | โ—โ— | | โ—โ— | Apache-2.0 | 11B active VLM, fastest frontier MoE |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `nemotron-3-ultra-sharded` | 280 GB | 320 GB | โ—โ— | โ—โ— | โ—โ—โ— | | | โ—โ—โ— | NVIDIA Open | Hybrid Mamba-MoE, 1M ctx, MMLU 89.1 |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **Best on-device edge MoE** โ†’ `lfm2.5-8b-a1b` โ€” only 1 B active, MATH500 88.8, MLX-ready.\n- **My laptop coding agent** โ†’ `mellum2-12b` (Apache-2.0, MoE, 2.5 B active) on 12 GB or `qwen3-coder-30b` on 24 GB.\n- **Multimodal on a laptop (text/image/audio/video)** โ†’ `gemma4-12b` โ€” encoder-free unified architecture.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `step-3.7-flash-sharded` (Apache-2.0) or `deepseek-v4-flash-sharded` (MIT).\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\n```\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ How much RAM does your box โ”‚\n โ”‚ have AFTER OS + Chrome? โ”‚\n โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜\n โ”‚\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ โ”‚ โ”‚\n <6 GB 6-20 GB 20-48 GB >48 GB\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n llama-3.2-1b What's the workload? What's the workload? Same as 20-48,\n (smoke test) โ”‚ โ”‚ or shard a 70B:\n โ”‚ โ”‚ llama-3.3-70b\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ -sharded\n โ”‚ โ”‚ โ”‚ โ”‚\n coding chat/agent reasoning โ”‚\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n qwen-coder-7b qwen3-8b deepseek-r1-8b qwen-coder-32b\n (8 GB) (12 GB) (12 GB) (32 GB) โ€” laptop max\n qwen-coder-14b\n (16 GB)\n qwen3-14b\n (16 GB)\n```\n\n**Quick rules of thumb:**\n- If unsure, start with `qwen-coder-14b` โ€” best general-purpose coder/agent model that fits a 16 GB machine.\n- For Claude-Code-style workflows specifically, prefer Qwen Coder over Qwen3 chat โ€” it's tuned for tool use.\n- Don't pick a 70B model on a 24 GB machine. Even if it loads, every token will swap to disk.\n\n---\n\n## Table of contents\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "8758177c2e31983c940669742e0109bcaeee02a5": {"t": 1785770964.8762283, "n": 24048, "h": "aa711da5e9168e0f", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## ๐ŸŽฏ Picker table โ€” what to install\n\nScan the column that matches your hardware, then pick by use case. โญ = recommended starting point in each row.\n\n| Model ID | Size | Min RAM | Chat | Code | Reasoning | Vision | Long ctx | License | Notes |\n| ------------------------------ | ------ | ------- | :--: | :--: | :-------: | :----: | :------: | ----------- | -------------------------------------- |\n| **Edge โ€” laptop / Raspberry-Pi-ish** | | | | | | | | | |\n| `llama-3.2-1b` | 1.3 GB | 2 GB | โ€ข | | | | | Llama 3.2 | Smoke test only |\n| `llama-3.2-3b` โญ | 2.0 GB | 4 GB | โ— | | | | | Llama 3.2 | Edge default |\n| **Small โ€” 8-16 GB box** | | | | | | | | | |\n| `qwen-coder-7b` | 4.7 GB | 8 GB | โ— | โ— | | | | Apache-2.0 | FIM-capable, older |\n| `deepseek-r1-8b` | 4.9 GB | 12 GB | โ— | | โ—โ— | | | MIT | Distilled reasoning |\n| `qwen3-8b` | 5.2 GB | 12 GB | โ— | | | | | Apache-2.0 | General chat |\n| `mistral-nemo-12b` | 7.1 GB | 12 GB | โ— | | | | โ—โ— | Apache-2.0 | 128K context |\n| `gemma4-12b` | 7.6 GB | 12 GB | โ— | | | | โ—โ— | Gemma | 256K ctx, multilingual |\n| `qwen3-14b` | 9.0 GB | 16 GB | โ— | | | | | Apache-2.0 | More capable Qwen3 chat |\n| `qwen-coder-14b` โญ | 9.0 GB | 16 GB | โ— | โ—โ— | | | | Apache-2.0 | Best 16 GB code+agent pick |\n| `phi-4-14b` | 9.1 GB | 12 GB | โ— | | โ—โ— | | | MIT | Strong reasoning per byte |\n| **Mid โ€” 24-32 GB box** | | | | | | | | | |\n| `gpt-oss-20b` โญ | 14 GB | 16 GB | โ— | โ— | โ—โ— | | โ— | Apache-2.0 | OpenAI open-weight, adjustable thinking |\n| `qwen3.6-27b` โญ | 17 GB | 24 GB | โ—โ— | โ—โ— | โ— | | โ—โ— | Apache-2.0 | 77 % SWE-bench, top consumer pick |\n| `gemma4-26b` | 18 GB | 24 GB | โ— | | | โ— | โ—โ— | Gemma | MoE 4B-active, multimodal |\n| `qwen3-30b` | 19 GB | 24 GB | โ—โ— | | | | โ—โ— | Apache-2.0 | MoE 3B-active, very fast |\n| `qwen3-coder-30b` | 19 GB | 24 GB | โ— | โ—โ— | | | โ—โ— | Apache-2.0 | MoE 3.3B-active coder |\n| `qwen-coder-32b` | 20 GB | 32 GB | โ— | โ—โ— | | | | Apache-2.0 | Dense, older but proven |\n| **Power user โ€” single 80 GB GPU / sharded** | | | | | | | | | |\n| `llama-3.3-70b-sharded` | 43 GB | 48 GB | โ—โ— | | | | โ—โ— | Llama 3.3 | Needs โ‰ฅ2 nodes |\n| `gpt-oss-120b` | 65 GB | 80 GB | โ—โ— | โ— | โ—โ—โ— | | โ— | Apache-2.0 | โ‰ˆ o4-mini reasoning, single H100 |\n| `llama-4-scout` | 67 GB | 80 GB | โ—โ— | | | โ—โ— | โ—โ—โ— | Llama 4 | 10M context, multimodal |\n| **Frontier โ€” multi-machine sharded** | | | | | | | | | |\n| `deepseek-v4-flash-sharded` โญ | 150 GB | 160 GB | โ—โ— | โ—โ— | โ—โ—โ— | | โ—โ— | MIT | 13B active = fast at frontier quality |\n| `glm-5.1-sharded` | 400 GB | 416 GB | โ—โ— | โ—โ—โ— | โ—โ— | | โ—โ— | MIT | Best agentic coder |\n| `kimi-k2.6-sharded` | 500 GB | 512 GB | โ—โ— | โ—โ—โ— | โ—โ— | | โ—โ— | Mod. MIT | #1 open coding benchmarks |\n\n**Legend** โ€” โ€ข basic / โ— good / โ—โ— strong / โ—โ—โ— best-in-tier ยท โญ recommended starting point\n\n> Sizes assume Q4_K_M (Ollama's default). Sharded entries assume Q4 baseline; unsloth's 2-bit dynamic GGUFs cut them roughly in half.\n\n**Quick rules of thumb:**\n- **I just want to try Flock** โ†’ `llama-3.2-3b` (2 GB, runs anywhere).\n- **My laptop coding agent** โ†’ `qwen-coder-14b` if 16 GB box; `qwen3-coder-30b` if 24 GB.\n- **Best consumer general model** โ†’ `qwen3.6-27b` (24 GB) or `gpt-oss-20b` (16 GB).\n- **Reasoning-heavy work** โ†’ `gpt-oss-20b` (small) or `gpt-oss-120b` (big).\n- **My team has 4 Mac Studios** โ†’ install the same model (e.g. `qwen3.6-27b`) on each โ€” Flock load-balances automatically. No sharding needed for throughput.\n- **A model bigger than any one machine** โ†’ sharded tier. Start with `deepseek-v4-flash-sharded`.\n\nFor the full per-model walkthrough (the 9 original entries below have detailed install + client snippets), keep scrolling. For the 13 newer entries, run `flock model info ` โ€” same fields as the table above, plus engine compatibility.\n\n---\n\n## How to choose\n\n```\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ How much RAM does your box โ”‚\n โ”‚ have AFTER OS + Chrome? โ”‚\n โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜\n โ”‚\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ โ”‚ โ”‚\n <6 GB 6-20 GB 20-48 GB >48 GB\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n llama-3.2-1b What's the workload? What's the workload? Same as 20-48,\n (smoke test) โ”‚ โ”‚ or shard a 70B:\n โ”‚ โ”‚ llama-3.3-70b\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ -sharded\n โ”‚ โ”‚ โ”‚ โ”‚\n coding chat/agent reasoning โ”‚\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n qwen-coder-7b qwen3-8b deepseek-r1-8b qwen-coder-32b\n (8 GB) (12 GB) (12 GB) (32 GB) โ€” laptop max\n qwen-coder-14b\n (16 GB)\n qwen3-14b\n (16 GB)\n```\n\n**Quick rules of thumb:**\n- If unsure, start with `qwen-coder-14b` โ€” best general-purpose coder/agent model that fits a 16 GB machine.\n- For Claude-Code-style workflows specifically, prefer Qwen Coder over Qwen3 chat โ€” it's tuned for tool use.\n- Don't pick a 70B model on a 24 GB machine. Even if it loads, every token will swap to disk.\n\n---\n\n## Table of contents\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "45bff7d270fc7a46c23567694e596155e8530c1e": {"t": 1785770966.5360694, "n": 18487, "h": "5e1af85c18435aea", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> **Tip:** the snippets below are written by hand for reference, but Flock can also generate them automatically with your URL + token already filled in:\n>\n> ```bash\n> flock connect claude-code # or: cursor, aider, continue, zed, cline, qwen-code, openai-sdk, anthropic-sdk, curl\n> flock connect --list # all 10 supported tools\n> ```\n>\n> Or click **Connect** in the dashboard (`http://localhost:8080`).\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## How to choose\n\n```\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ How much RAM does your box โ”‚\n โ”‚ have AFTER OS + Chrome? โ”‚\n โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜\n โ”‚\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ โ”‚ โ”‚\n <6 GB 6-20 GB 20-48 GB >48 GB\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n llama-3.2-1b What's the workload? What's the workload? Same as 20-48,\n (smoke test) โ”‚ โ”‚ or shard a 70B:\n โ”‚ โ”‚ llama-3.3-70b\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ -sharded\n โ”‚ โ”‚ โ”‚ โ”‚\n coding chat/agent reasoning โ”‚\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n qwen-coder-7b qwen3-8b deepseek-r1-8b qwen-coder-32b\n (8 GB) (12 GB) (12 GB) (32 GB) โ€” laptop max\n qwen-coder-14b\n (16 GB)\n qwen3-14b\n (16 GB)\n```\n\n**Quick rules of thumb:**\n- If unsure, start with `qwen-coder-14b` โ€” best general-purpose coder/agent model that fits a 16 GB machine.\n- For Claude-Code-style workflows specifically, prefer Qwen Coder over Qwen3 chat โ€” it's tuned for tool use.\n- Don't pick a 70B model on a 24 GB machine. Even if it loads, every token will swap to disk.\n\n---\n\n## Table of contents\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}, "2ce8a4bcf5a3f730a5cfd985c07c0d2263664fdd": {"t": 1785770968.908246, "n": 18065, "h": "64d9573a57c73e5b", "c": "# Models โ€” the complete walkthrough\n\nEvery model in Flock's catalog, with step-by-step install + use instructions for every common client (curl, Cursor / VS Code, Claude Code, OpenAI SDK, Anthropic SDK). Pick the row that matches your hardware, run the install, copy the snippet for your tool.\n\n> For the catalog summary table see [QUICKSTART](QUICKSTART.md#-use-a-different-model-qwen-llama-deepseek). For \"why those specific models?\" see [README โ†’ Supported models](README.md#supported-models).\n\n---\n\n## How to choose\n\n```\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ How much RAM does your box โ”‚\n โ”‚ have AFTER OS + Chrome? โ”‚\n โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜\n โ”‚\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”\n โ”‚ โ”‚ โ”‚\n <6 GB 6-20 GB 20-48 GB >48 GB\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n llama-3.2-1b What's the workload? What's the workload? Same as 20-48,\n (smoke test) โ”‚ โ”‚ or shard a 70B:\n โ”‚ โ”‚ llama-3.3-70b\n โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ -sharded\n โ”‚ โ”‚ โ”‚ โ”‚\n coding chat/agent reasoning โ”‚\n โ”‚ โ”‚ โ”‚ โ”‚\n โ–ผ โ–ผ โ–ผ โ–ผ\n qwen-coder-7b qwen3-8b deepseek-r1-8b qwen-coder-32b\n (8 GB) (12 GB) (12 GB) (32 GB) โ€” laptop max\n qwen-coder-14b\n (16 GB)\n qwen3-14b\n (16 GB)\n```\n\n**Quick rules of thumb:**\n- If unsure, start with `qwen-coder-14b` โ€” best general-purpose coder/agent model that fits a 16 GB machine.\n- For Claude-Code-style workflows specifically, prefer Qwen Coder over Qwen3 chat โ€” it's tuned for tool use.\n- Don't pick a 70B model on a 24 GB machine. Even if it loads, every token will swap to disk.\n\n---\n\n## Table of contents\n\n- [`llama-3.2-1b`](#llama-3-2-1b--smallest-smoke-test) โ€” smallest, smoke test\n- [`llama-3.2-3b`](#llama-3-2-3b--small-fast-chat) โ€” small fast chat\n- [`qwen-coder-7b`](#qwen-coder-7b--coding-baseline) โ€” coding baseline\n- [`qwen-coder-14b`](#qwen-coder-14b--general-purpose-coder) โ€” general-purpose coder โญ\n- [`qwen-coder-32b`](#qwen-coder-32b--laptop-frontier-coder) โ€” laptop frontier coder\n- [`qwen3-8b`](#qwen3-8b--general-chat-balanced) โ€” general chat, balanced\n- [`qwen3-14b`](#qwen3-14b--general-chat-capable) โ€” general chat, more capable\n- [`deepseek-r1-8b`](#deepseek-r1-8b--reasoning-thinking) โ€” reasoning\n- [`llama-3.3-70b-sharded`](#llama-3-3-70b-sharded--frontier-multi-machine) โ€” frontier, multi-machine\n\n---\n\n## `llama-3.2-1b` โ€” smallest, smoke test\n\n**What it is:** Meta's Llama 3.2 1B Instruct. The tiniest model that's still coherent for short prompts.\n\n**System requirements:** 2 GB RAM. Any laptop made in the last 5 years.\n\n**Best for:** First-run smoke test. \"Does Flock work end-to-end?\" Verifying the CLI / UI / Claude Code wiring. Quick latency benchmarks.\n\n**Not for:** Real coding work. Multi-turn agents. Anything where output quality matters.\n\n**Performance:**\n- Mac M3 (24 GB): ~80โ€“120 tok/s on Ollama, sub-second TTFT\n- Linux + RTX 4090: ~150+ tok/s\n- CPU-only: still usable, ~10โ€“20 tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-1b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-1b\",\"messages\":[{\"role\":\"user\",\"content\":\"say hi\"}]}'\n```\n\n```bash\n# Cursor / VS Code Continue.dev / Aider โ€” OpenAI-compatible base URL\n# Base URL: http://localhost:8080/v1\n# API key: sk-orc-...\n# Model: llama-3.2-1b\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-1b\nclaude\n```\n\n```python\n# Python OpenAI SDK\nfrom openai import OpenAI\nclient = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"sk-orc-...\")\nresp = client.chat.completions.create(\n model=\"llama-3.2-1b\",\n messages=[{\"role\": \"user\", \"content\": \"say hi\"}],\n)\nprint(resp.choices[0].message.content)\n```\n\n**Switch up when:** you start typing real prompts. Pick `llama-3.2-3b` or `qwen3-8b` next.\n\n---\n\n## `llama-3.2-3b` โ€” small fast chat\n\n**What it is:** Meta's Llama 3.2 3B Instruct. Big enough to hold context, small enough to be snappy on any laptop.\n\n**System requirements:** 4 GB RAM. Comfortable on a M2 MacBook Air.\n\n**Best for:** Personal chat, simple summarization, short-prompt agents, classification. Quick autocomplete-style use cases.\n\n**Not for:** Heavy coding. Long-running agents. Complex multi-tool reasoning.\n\n**Performance:**\n- Mac M3 (24 GB): ~50โ€“80 tok/s\n- Mac M4 Pro: ~80โ€“120 tok/s\n- Linux + RTX 5090: ~200+ tok/s\n\n**Install:**\n```bash\nflock model add llama-3.2-3b\n```\n\n**Use it (pick one):**\n\n```bash\n# curl\ncurl http://localhost:8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.2-3b\",\"messages\":[{\"role\":\"user\",\"content\":\"summarize: โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=llama-3.2-3b\nclaude\n```\n\n**Switch up when:** you do real coding work โ€” pick a `qwen-coder-*`. For better chat, jump to `qwen3-8b`.\n\n---\n\n## `qwen-coder-7b` โ€” coding baseline\n\n**What it is:** Alibaba's Qwen 2.5 Coder 7B Instruct. Code-tuned, supports fill-in-the-middle (FIM), good tool use.\n\n**System requirements:** 8 GB RAM. Mac M1/M2/M3 with 16 GB sails. M2 Air 8 GB is borderline (close other apps).\n\n**Best for:** Single-line code completion (Continue / Cursor autocomplete). Short coding chats. Quick refactor suggestions.\n\n**Not for:** Multi-turn agentic loops with lots of tool calls โ€” the 14B is meaningfully smarter for that.\n\n**Performance:**\n- Mac M3 24 GB: ~30โ€“50 tok/s\n- Mac M4 Pro 64 GB: ~60โ€“80 tok/s\n- Linux + RTX 5090: ~150+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-7b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-7b\",\"messages\":[{\"role\":\"user\",\"content\":\"write fizzbuzz in rust\"}]}'\n```\n\n```bash\n# Cursor\n# Settings โ†’ Models โ†’ Override OpenAI Base URL: http://localhost:8080/v1\n# Model id: qwen-coder-7b\n\n# Continue.dev (~/.continue/config.json)\n{\n \"models\": [{\n \"title\": \"Flock โ€” Qwen Coder 7B\",\n \"provider\": \"openai\",\n \"model\": \"qwen-coder-7b\",\n \"apiBase\": \"http://localhost:8080/v1\",\n \"apiKey\": \"sk-orc-...\"\n }]\n}\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-7b\nclaude\n```\n\n**Switch up when:** you start hitting \"this completion is wrong\" too often โ†’ try `qwen-coder-14b`.\n\n---\n\n## `qwen-coder-14b` โ€” general-purpose coder โญ\n\n**What it is:** Alibaba's Qwen 2.5 Coder 14B Instruct. The sweet spot for most laptops โ€” strong code + agent capability while still fitting in 16 GB.\n\n**System requirements:** 16 GB RAM minimum, 24 GB recommended (leaves room for Chrome / your editor / Slack).\n\n**Best for:** Real coding work via Cursor / Claude Code / Aider. Multi-turn refactors. Agentic loops with tool use. Code review. Test generation.\n\n**Not for:** Frontier reasoning tasks where you'd reach for o1 / R1 โ€” use `deepseek-r1-8b` for those. Models bigger than 16 GB if you're tight on RAM.\n\n**Performance:**\n- Mac M3 24 GB: ~20โ€“35 tok/s\n- Mac M4 Pro 64 GB: ~40โ€“60 tok/s\n- Linux + RTX 5090: ~100+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-14b\n```\n\n**Use it (this is the model most people should default to):**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen-coder-14b\",\"messages\":[{\"role\":\"user\",\"content\":\"refactor this โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code โ€” this is where it shines\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-14b\nclaude\n# Now claude can edit files, run bash, etc. โ€” using your local model\n```\n\n```python\n# Anthropic SDK (works because Flock speaks Anthropic format too)\nfrom anthropic import Anthropic\nclient = Anthropic(base_url=\"http://localhost:8080\", api_key=\"sk-orc-...\")\nresp = client.messages.create(\n model=\"qwen-coder-14b\",\n max_tokens=2048,\n messages=[{\"role\": \"user\", \"content\": \"explain CRDTs in 100 words\"}],\n)\nprint(resp.content[0].text)\n```\n\n**Switch up when:** You have a 64 GB+ machine and want the strongest single-box coder โ†’ `qwen-coder-32b`. For frontier-tier you need multi-machine sharding.\n\n---\n\n## `qwen-coder-32b` โ€” laptop frontier coder\n\n**What it is:** Alibaba's Qwen 2.5 Coder 32B Instruct. Approaches GPT-4 / Sonnet quality on coding tasks. The biggest coder that fits a 64 GB Mac without swapping.\n\n**System requirements:** 32 GB RAM minimum (will swap on smaller). 64 GB Mac Mini / MacBook Pro recommended.\n\n**Best for:** Heavy agentic coding (multi-hour Claude Code sessions). Complex refactors. Pull-request review. When the 14B isn't smart enough.\n\n**Not for:** Tight-RAM machines. Latency-sensitive autocomplete (TTFT is noticeably higher).\n\n**Performance:**\n- Mac M3 24 GB: don't (will swap)\n- Mac M4 Pro 64 GB: ~12โ€“20 tok/s\n- Mac Studio M3 Ultra 96 GB: ~25โ€“40 tok/s\n- Linux + 2ร— RTX 5090: ~80+ tok/s\n\n**Install:**\n```bash\nflock model add qwen-coder-32b\n```\n\n**Use it:**\n\n```bash\n# Claude Code โ€” best target for this size model\nexport ANTHROPIC_BASE_URL=http://localhost:8080\nexport ANTHROPIC_AUTH_TOKEN=sk-orc-...\nexport ANTHROPIC_MODEL=qwen-coder-32b\nclaude\n```\n\n**Switch up when:** You need bigger than 32 GB of model. That means sharding โ€” see `llama-3.3-70b-sharded`.\n\n---\n\n## `qwen3-8b` โ€” general chat, balanced\n\n**What it is:** Alibaba's Qwen3 8B Instruct (general-purpose, not code-tuned).\n\n**System requirements:** 12 GB RAM. Mid-tier laptop comfort.\n\n**Best for:** Mixed workloads where you need general chat + occasional code (Qwen3 isn't as strong on code as Qwen Coder, but it's a better generalist).\n\n**Not for:** Pure code work โ€” pick `qwen-coder-7b` instead at this RAM tier.\n\n**Install:**\n```bash\nflock model add qwen3-8b\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"qwen3-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=qwen3-8b\n```\n\n---\n\n## `qwen3-14b` โ€” general chat, capable\n\n**What it is:** Alibaba's Qwen3 14B Instruct. Strong general-purpose chat โ€” close to GPT-4-class on many benchmarks.\n\n**System requirements:** 16 GB RAM.\n\n**Best for:** Customer-facing chatbots, document Q&A, agent loops where the agent needs broad world knowledge (not just code).\n\n**Not for:** Pure-code workflows (pick `qwen-coder-14b` for those โ€” Qwen Coder is specifically tool-use-tuned).\n\n**Install:**\n```bash\nflock model add qwen3-14b\n```\n\n**Use it:** same patterns as above with `model: qwen3-14b`.\n\n---\n\n## `deepseek-r1-8b` โ€” reasoning (\"thinking\")\n\n**What it is:** DeepSeek-R1-Distill-Qwen-8B. A reasoning model โ€” produces a hidden `` block before its answer (where it works through the problem step by step).\n\n**System requirements:** 12 GB RAM.\n\n**Best for:** Math problems, multi-step reasoning, careful code review where correctness matters more than speed, debugging complex logic.\n\n**Not for:** Latency-sensitive autocomplete (every response includes a long internal monologue). Pure chat.\n\n**Performance note:** R1 models are slower per-token because they \"think\" before answering โ€” total time-to-final-answer is what matters, not raw tok/s.\n\n**Install:**\n```bash\nflock model add deepseek-r1-8b\n```\n\n**Use it:**\n\n```bash\n# curl โ€” note that the response will include `...` blocks\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"deepseek-r1-8b\",\"messages\":[{\"role\":\"user\",\"content\":\"if a train leaves Chicago at 3pmโ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=deepseek-r1-8b\n```\n\n**Tip:** When a model emits `` tags, most UIs (Claude Code, Cursor) show them as part of the response. If that's distracting, strip them client-side or use a non-reasoning model for that task.\n\n---\n\n## `llama-3.3-70b-sharded` โ€” frontier, multi-machine\n\n**What it is:** Meta Llama 3.3 70B Instruct, split across multiple machines via llama.cpp RPC. The frontier of what's runnable on consumer-grade hardware.\n\n**System requirements:** ~48+ GB of *combined* memory across at least 2 machines. E.g. 2ร— Mac Mini 32 GB, or 4ร— Mac Mini 16 GB.\n\n**Best for:** When you need GPT-4 / Sonnet-tier quality and don't want to pay per token. Frontier coding agents. Complex reasoning chains. Long-context document analysis.\n\n**Not for:** Single-machine setups. Latency-sensitive use cases (network hops between shards add overhead). Use Claude Sonnet via fallback if you want this quality without the hardware.\n\n**Prereqs (one-time):**\n- `brew install llama.cpp` on the leader (provides `llama-server`)\n- `rpc-server` on PATH on every worker โ€” currently needs a source build of llama.cpp (the Homebrew bottle doesn't include it)\n- Catalog entry with `sharding.required: true` and a local GGUF path (`catalog/llama-3.3-70b-sharded.yaml` already configured)\n- Place the model GGUF at `/var/lib/flock/models/llama-3.3-70b-q4_k_m.gguf` (or update the YAML's `source.path`)\n- At least 2 workers joined and `ready` (`flock node ls`)\n\n**Install (orchestrates the whole thing):**\n\n```bash\n# splits across 2 workers automatically\nflock shard create llama-3.3-70b-sharded 2\n\n# what Flock does:\n# 1. picks the 2 workers with the most free RAM\n# 2. POSTs /v1/process/start to each โ†’ launches `rpc-server -p 50052`\n# 3. waits for both rpc-servers to be TCP-reachable\n# 4. on the leader, launches `llama-server -m --rpc w1:50052,w2:50052 --port 9001`\n# 5. persists shard rows + a placements row pointing at the local coordinator\n# 6. Router routes any request for `llama-3.3-70b-sharded` to the coordinator\n```\n\n**Use it:**\n\n```bash\n# curl\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"llama-3.3-70b-sharded\",\"messages\":[{\"role\":\"user\",\"content\":\"โ€ฆ\"}]}'\n```\n\n```bash\n# Claude Code\nexport ANTHROPIC_MODEL=llama-3.3-70b-sharded\nclaude\n```\n\n**Tear down (cleanly):**\n\n```bash\nflock shard remove llama-3.3-70b-sharded\n# stops the coordinator on the leader + every rpc-server on every worker\n# removes shard rows + placements\n```\n\n**Switch up when:** You need bigger than 70B (DeepSeek-V3 671B MoE, Qwen3-Coder-480B) โ€” those need more nodes and more RAM. v0.5 will support auto-scaling shard counts.\n\n---\n\n## Use any other Ollama model (catalog pass-through)\n\nFlock's catalog is curated for UX, but the router will pass through any model name the engine doesn't recognize. Steps:\n\n```bash\n# 1. pull via Ollama directly (Flock's catalog is bypassed)\nollama pull mistral-nemo:12b # or any model from https://ollama.com/library\n\n# 2. use the engine-native name in your API request\ncurl :8080/v1/chat/completions \\\n -H \"Authorization: Bearer sk-orc-...\" \\\n -d '{\"model\":\"mistral-nemo:12b\",\"messages\":[โ€ฆ]}'\n```\n\nOr add a custom catalog entry (so it shows up in `flock model search` + UI): drop a YAML file in `catalog/` matching the schema of the existing entries:\n\n```yaml\n# catalog/my-model.yaml\nid: my-model\ndisplay_name: My Custom Model\nsource:\n type: ollama\n ollama_name: my-model:7b\nsize_bytes: 4000000000\nquant: q4_k_m\ncontext_window: 32768\ncapabilities: [chat]\nrecommended_engines: [ollama]\nhardware:\n min_ram_gb: 8\ntags: [chat]\n```\n\nRestart `flock up` โ€” your model now appears in `flock model search` and the web UI's catalog picker.\n\n---\n\n## Switching models on the fly\n\nFor Claude Code:\n\n```bash\n# different sessions can use different models:\nANTHROPIC_MODEL=llama-3.2-1b claude # smoke test session\nANTHROPIC_MODEL=qwen-coder-14b claude # real work session\nANTHROPIC_MODEL=claude-opus-4-7 claude # falls back to real Anthropic (if fallback configured)\n```\n\nFor curl / SDKs: change the `model` field in each request body. The same Flock instance serves all of them.\n\nFor Cursor / Continue: change the model id in the UI / config file and reload.\n\n---\n\n## Troubleshooting per-model\n\n| Symptom | Likely model | Fix |\n|---|---|---|\n| Slow first response | Any (cold model load) | First chat after `flock up` loads the model into RAM โ€” subsequent ones reuse it |\n| `out of memory` mid-stream | Too big for RAM | Pick a smaller model OR close other apps OR add a worker and offload |\n| Constant `` tags in output | `deepseek-r1-*` | That's normal โ€” it's a reasoning model. Use a non-reasoning model if you don't want them |\n| `model not found` | Typo in catalog id | `flock model ls` to see what's actually installed; `flock model search` to find the right id |\n| Sharded model 404 | Coordinator failed | `flock shard ls` to check status; `flock shard remove โ€ฆ` then `flock shard create โ€ฆ` to redo |\n\n---\n\n## Roadmap (planned models in upcoming versions)\n\nThese have docs and references in the repo but no catalog YAMLs yet. Coming with v0.5+:\n\n- **Llama 3.3 70B** (non-sharded, for boxes with 48+ GB single-machine)\n- **DeepSeek V3 / R1 671B MoE** (frontier, sharded across many nodes)\n- **Qwen3-72B Instruct** + **Qwen3-Coder-30B-A3B**\n- **GLM-4.6**, **Kimi K2**\n- **Vision models** (Qwen2.5-VL, Llama 3.2 Vision)\n- **Embeddings** (BGE-M3) + **Whisper** (transcription)\n\nIf you have a specific model you want in the curated catalog: open an issue at https://github.com/hadihonarvar/flock/issues with the Ollama tag / HF repo + your hardware target, and we'll add a YAML.\n"}}}}