[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EFCM2PJRA081FJ9SCSRYVR":3,"skill-same:01M6EFCM2PJRA081FJ9SCSRYVR":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6EFCM2PJRA081FJ9SCSRYVR","litellm",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flitellm\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# LiteLLM\n\n## Overview\n\nLiteLLM provides a single API to call 100+ LLM providers — OpenAI, Anthropic, Google Gemini, Mistral, Cohere, Azure, Bedrock, Ollama, and more. Write your code once using the OpenAI SDK format, then switch providers by changing a model string. As a proxy server, it adds load balancing, fallbacks, rate limiting, spend tracking, and API key management for teams.\n\n## When to Use\n\n- Using multiple LLM providers and want a unified interface\n- Need automatic fallbacks (if Claude is down, use GPT)\n- Cost tracking across multiple providers and teams\n- Load balancing requests across multiple API keys or models\n- Self-hosted proxy to manage LLM access for a team\n\n## Instructions\n\n### Setup\n\n```bash\npip install litellm\n\n# Or run as proxy server\npip install 'litellm[proxy]'\n```\n\n### SDK Usage (Python)\n\n```python\n# llm.py — Call any LLM with the same interface\nfrom litellm import completion\n\n# OpenAI\nresponse = completion(\n    model=\"gpt-4o\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}],\n)\n\n# Anthropic — same interface, just change the model string\nresponse = completion(\n    model=\"claude-sonnet-4-20250514\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}],\n)\n\n# Google Gemini\nresponse = completion(\n    model=\"gemini\u002Fgemini-2.0-flash\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}],\n)\n\n# Local Ollama\nresponse = completion(\n    model=\"ollama\u002Fllama3\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}],\n    api_base=\"http:\u002F\u002Flocalhost:11434\",\n)\n\n# All return the same response format (OpenAI-compatible)\nprint(response.choices[0].message.content)\n```\n\n### Proxy Server\n\n```yaml\n# litellm_config.yaml — Proxy configuration\nmodel_list:\n  - model_name: \"fast\"\n    litellm_params:\n      model: gpt-4o-mini\n      api_key: sk-...\n\n  - model_name: \"smart\"\n    litellm_params:\n      model: claude-sonnet-4-20250514\n      api_key: sk-ant-...\n\n  - model_name: \"smart\"  # Second \"smart\" model = load balancing\n    litellm_params:\n      model: gpt-4o\n      api_key: sk-...\n\n  - model_name: \"cheap\"\n    litellm_params:\n      model: gemini\u002Fgemini-2.0-flash\n      api_key: AIza...\n\nrouter_settings:\n  routing_strategy: \"latency-based-routing\"\n  num_retries: 3\n  timeout: 30\n  fallbacks: [{\"smart\": [\"fast\"]}]  # If smart fails, use fast\n\ngeneral_settings:\n  master_key: \"sk-master-key-xxx\"  # Admin key\n```\n\n```bash\n# Start proxy\nlitellm --config litellm_config.yaml --port 4000\n\n# Call via OpenAI SDK (any language!)\ncurl http:\u002F\u002Flocalhost:4000\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer sk-master-key-xxx\" \\\n  -d '{\"model\": \"smart\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'\n```\n\n### Node.js via Proxy\n\n```typescript\n\u002F\u002F app.ts — Use any OpenAI SDK client with LiteLLM proxy\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  baseURL: \"http:\u002F\u002Flocalhost:4000\u002Fv1\",\n  apiKey: \"sk-master-key-xxx\",\n});\n\n\u002F\u002F Calls route to Claude or GPT based on load balancing config\nconst response = await client.chat.completions.create({\n  model: \"smart\",\n  messages: [{ role: \"user\", content: \"Explain monads simply.\" }],\n});\n```\n\n### Spend Tracking\n\n```python\n# Track costs per team\u002Fuser\u002Fproject\nfrom litellm import completion\n\nresponse = completion(\n    model=\"gpt-4o\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}],\n    metadata={\n        \"user\": \"user-123\",\n        \"team\": \"engineering\",\n        \"project\": \"chatbot\",\n    },\n)\n\n# LiteLLM proxy stores costs in its database\n# Query via API: GET \u002Fspend\u002Flogs?user=user-123\n```\n\n## Examples\n\n### Example 1: Multi-provider AI application\n\n**User prompt:** \"My app uses Claude for reasoning and GPT-4o for function calling. Set up a unified interface.\"\n\nThe agent will configure LiteLLM with named model groups, route by capability, and add fallbacks between providers.\n\n### Example 2: Team LLM gateway with cost controls\n\n**User prompt:** \"Set up an LLM proxy for our team with per-user rate limits and spend tracking.\"\n\nThe agent will deploy the LiteLLM proxy, configure API keys per team member, set rate limits and budget caps, and enable spend logging.\n\n## Guidelines\n\n- **Model format: `provider\u002Fmodel`** — `anthropic\u002Fclaude-sonnet-4-20250514`, `gemini\u002Fgemini-2.0-flash`\n- **Proxy for teams** — centralize API keys, track spend, enforce rate limits\n- **Fallbacks for reliability** — if primary model fails, route to backup\n- **Load balancing** — multiple entries with same `model_name` distribute traffic\n- **Latency-based routing** — LiteLLM picks the fastest responding provider\n- **Spend tracking** — costs calculated per-request, queryable via API\n- **OpenAI SDK compatible** — any OpenAI client library works with the proxy\n- **Streaming works** — `stream=True` works across all providers\n- **Environment variables** — `OPENAI_API_KEY`, `ANTHROPIC_API_KEY` etc. auto-detected\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Flitellm",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill litellm",{"tool":37,"command":38},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill litellm",{"tool":40,"command":41},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill litellm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flitellm\u002FSKILL.md",true,[],[46,60,70,79,85,92],{"skillNo":47,"name":48,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":49,"categories":50,"keywords":56,"publishedAt":18},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[51],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[57,58,59],"model","model hierarchy","model hierarchy skill",{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":66,"publishedAt":18},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[65],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[67,68,69],"MCP","zoom","zoom mcp",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":18},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[76,77,78,68],"sdk","zoom apps sdk","apps",{"skillNo":80,"name":81,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":18},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[81],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":18},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[90],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[87],{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":18},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[94]]