{
  "slug": "litellm",
  "name": "LiteLLM",
  "category": "Model Routing",
  "tagline": "One OpenAI-format API (SDK or proxy) in front of 100+ providers, including your local models.",
  "kit_says": "This is how I'd route easy questions to the Mac Studio and only send the hard ones to a frontier API. That routing is a big part of closing the gap.",
  "homepage": "https://www.litellm.ai/",
  "repo": "https://github.com/BerriAI/litellm",
  "docs": "https://docs.litellm.ai/",
  "license": "See repo LICENSE (GitHub reports NOASSERTION: open-source core with a separately licensed enterprise directory)",
  "platforms": [
    "macos-apple-silicon",
    "linux",
    "windows"
  ],
  "mac_studio_fit": "Primary",
  "what_it_is": "A Python SDK and proxy server (AI gateway) that exposes many LLM providers, including Ollama, behind an OpenAI-compatible API.",
  "gap_role": "Model routing and fallbacks: mix local and cloud models behind one endpoint so agents don't care where a call runs.",
  "prerequisites": [
    "uv (brew install uv) or pip",
    "A backend, e.g. Ollama on localhost:11434"
  ],
  "install": {
    "macos-apple-silicon": [
      {
        "run": "brew install uv"
      },
      {
        "run": "uv tool install 'litellm[proxy]'"
      }
    ],
    "linux": [
      {
        "run": "uv tool install 'litellm[proxy]'"
      }
    ],
    "windows": [
      {
        "run": "uv tool install \"litellm[proxy]\""
      }
    ]
  },
  "configure": [
    {
      "run": "cat > litellm.yaml <<'EOF'\nmodel_list:\n  - model_name: \"local-llama\"\n    litellm_params:\n      model: \"ollama_chat/llama3.1\"\nEOF",
      "note": "maps a local Ollama model to a proxy alias (format from LiteLLM's Ollama docs)"
    },
    {
      "run": "litellm --config litellm.yaml",
      "note": "proxy on http://0.0.0.0:4000"
    }
  ],
  "verify": [
    {
      "run": "curl -s http://0.0.0.0:4000/chat/completions -H 'Content-Type: application/json' -d '{\"model\":\"local-llama\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}'",
      "expect": "OpenAI-format JSON response; add an Authorization header if you set a master key"
    }
  ],
  "rollback": [
    {
      "run": "uv tool uninstall litellm"
    },
    {
      "run": "rm litellm.yaml"
    }
  ],
  "caveats": [
    "Requires `ollama pull llama3.1` (or edit the model) before the verify step."
  ],
  "works_with": [
    "ollama",
    "mlx-lm",
    "llama-cpp",
    "lm-studio",
    "aider",
    "open-webui"
  ],
  "sources": [
    "https://github.com/BerriAI/litellm",
    "https://docs.litellm.ai/docs/providers/ollama"
  ],
  "sponsored": false,
  "verified_on": "2026-10-15",
  "gap_score": {
    "value": null,
    "status": "pending test on Mac Studio",
    "baseline": "frontier reference (see /about#gap-score)"
  },
  "benchmarks": {
    "status": "pending test on Mac Studio",
    "rig": "Mac Studio, Apple Silicon, 128GB unified memory",
    "results": []
  },
  "hardware_tested": [],
  "repo_meta": {
    "stars": 61319,
    "stars_as_of": "2026-10-15",
    "last_push": "2026-10-15",
    "archived": false,
    "license_spdx": "NOASSERTION"
  },
  "stack_layer": "runtime",
  "summary": {
    "what": "One API in front of every model, local or cloud.",
    "why": "Send easy jobs to your Mac and hard ones to the cloud."
  }
}