litellm
LiteLLMは、OpenAI、Anthropic、Googleなど100種類以上のLLM APIを共通のインターフェースで利用可能にし、プロバイダーの切り替え、負荷分散、レート制限、費用追跡などを容易にするSkill。
📜 元の英語説明(参考)
Call 100+ LLM APIs with one interface using LiteLLM — unified API proxy for OpenAI, Anthropic, Google, Mistral, Cohere, and self-hosted models. Use when someone asks to "switch between LLM providers", "LiteLLM", "unified LLM API", "LLM proxy", "call Claude and GPT with the same code", "LLM load balancing", or "multi-model AI gateway". Covers provider routing, fallbacks, rate limiting, spend tracking, and self-hosted proxy.
🇯🇵 日本人クリエイター向け解説
LiteLLMは、OpenAI、Anthropic、Googleなど100種類以上のLLM APIを共通のインターフェースで利用可能にし、プロバイダーの切り替え、負荷分散、レート制限、費用追跡などを容易にするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o litellm.zip https://jpskill.com/download/15075.zip && unzip -o litellm.zip && rm litellm.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15075.zip -OutFile "$d\litellm.zip"; Expand-Archive "$d\litellm.zip" -DestinationPath $d -Force; ri "$d\litellm.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
litellm.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
litellmフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
LiteLLM
概要
LiteLLM は、100 以上の LLM プロバイダー(OpenAI、Anthropic、Google Gemini、Mistral、Cohere、Azure、Bedrock、Ollama など)を呼び出すための単一の API を提供します。OpenAI SDK の形式で一度コードを記述すれば、モデル文字列を変更するだけでプロバイダーを切り替えることができます。プロキシサーバーとして、ロードバランシング、フォールバック、レート制限、支出追跡、チーム向けの API キー管理機能を追加します。
どのような時に使うか
- 複数の LLM プロバイダーを使用しており、統一されたインターフェースが必要な場合
- 自動フォールバックが必要な場合(Claude がダウンした場合、GPT を使用するなど)
- 複数のプロバイダーとチームにわたるコスト追跡が必要な場合
- 複数の API キーまたはモデルにわたるリクエストのロードバランシングが必要な場合
- チームの LLM アクセスを管理するためのセルフホスト型プロキシが必要な場合
手順
セットアップ
pip install litellm
# またはプロキシサーバーとして実行
pip install 'litellm[proxy]'
SDK の使用法 (Python)
# llm.py — 同じインターフェースで任意の LLM を呼び出す
from litellm import completion
# OpenAI
response = completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
# Anthropic — 同じインターフェース、モデル文字列を変更するだけ
response = completion(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello!"}],
)
# Google Gemini
response = completion(
model="gemini/gemini-2.0-flash",
messages=[{"role": "user", "content": "Hello!"}],
)
# Local Ollama
response = completion(
model="ollama/llama3",
messages=[{"role": "user", "content": "Hello!"}],
api_base="http://localhost:11434",
)
# すべて同じレスポンス形式を返す (OpenAI 互換)
print(response.choices[0].message.content)
プロキシサーバー
# litellm_config.yaml — プロキシの設定
model_list:
- model_name: "fast"
litellm_params:
model: gpt-4o-mini
api_key: sk-...
- model_name: "smart"
litellm_params:
model: claude-sonnet-4-20250514
api_key: sk-ant-...
- model_name: "smart" # 2 番目の "smart" モデル = ロードバランシング
litellm_params:
model: gpt-4o
api_key: sk-...
- model_name: "cheap"
litellm_params:
model: gemini/gemini-2.0-flash
api_key: AIza...
router_settings:
routing_strategy: "latency-based-routing"
num_retries: 3
timeout: 30
fallbacks: [{"smart": ["fast"]}] # smart が失敗した場合、fast を使用
general_settings:
master_key: "sk-master-key-xxx" # 管理者キー
# プロキシの起動
litellm --config litellm_config.yaml --port 4000
# OpenAI SDK (任意の言語!) を介して呼び出す
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer sk-master-key-xxx" \
-d '{"model": "smart", "messages": [{"role": "user", "content": "Hello"}]}'
Node.js 経由のプロキシ
// app.ts — LiteLLM プロキシで任意の OpenAI SDK クライアントを使用する
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:4000/v1",
apiKey: "sk-master-key-xxx",
});
// ロードバランシングの設定に基づいて Claude または GPT にルーティングされる
const response = await client.chat.completions.create({
model: "smart",
messages: [{ role: "user", content: "Explain monads simply." }],
});
支出追跡
# チーム/ユーザー/プロジェクトごとのコストを追跡する
from litellm import completion
response = completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
metadata={
"user": "user-123",
"team": "engineering",
"project": "chatbot",
},
)
# LiteLLM プロキシはデータベースにコストを保存する
# API 経由でクエリ: GET /spend/logs?user=user-123
例
例 1: マルチプロバイダー AI アプリケーション
ユーザープロンプト: 「私のアプリは推論に Claude を、関数呼び出しに GPT-4o を使用しています。統一されたインターフェースをセットアップしてください。」
エージェントは、名前付きモデルグループで LiteLLM を設定し、機能によってルーティングし、プロバイダー間でフォールバックを追加します。
例 2: コスト管理付きのチーム LLM ゲートウェイ
ユーザープロンプト: 「ユーザーごとのレート制限と支出追跡を備えた、チーム用の LLM プロキシをセットアップしてください。」
エージェントは LiteLLM プロキシをデプロイし、チームメンバーごとに API キーを設定し、レート制限と予算上限を設定し、支出ログを有効にします。
ガイドライン
- モデル形式:
provider/model—anthropic/claude-sonnet-4-20250514、gemini/gemini-2.0-flash - チーム向けのプロキシ — API キーの一元管理、支出の追跡、レート制限の適用
- 信頼性のためのフォールバック — プライマリモデルが失敗した場合、バックアップにルーティング
- ロードバランシング — 同じ
model_nameを持つ複数のエントリでトラフィックを分散 - レイテンシーベースのルーティング — LiteLLM は最も応答が速いプロバイダーを選択
- 支出追跡 — リクエストごとにコストを計算し、API 経由でクエリ可能
- OpenAI SDK 互換 — 任意の OpenAI クライアントライブラリがプロキシで動作
- ストリーミングが動作 —
stream=Trueはすべてのプロバイダーで動作 - 環境変数 —
OPENAI_API_KEY、ANTHROPIC_API_KEYなどは自動検出されます
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
LiteLLM
Overview
LiteLLM 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.
When to Use
- Using multiple LLM providers and want a unified interface
- Need automatic fallbacks (if Claude is down, use GPT)
- Cost tracking across multiple providers and teams
- Load balancing requests across multiple API keys or models
- Self-hosted proxy to manage LLM access for a team
Instructions
Setup
pip install litellm
# Or run as proxy server
pip install 'litellm[proxy]'
SDK Usage (Python)
# llm.py — Call any LLM with the same interface
from litellm import completion
# OpenAI
response = completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
# Anthropic — same interface, just change the model string
response = completion(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello!"}],
)
# Google Gemini
response = completion(
model="gemini/gemini-2.0-flash",
messages=[{"role": "user", "content": "Hello!"}],
)
# Local Ollama
response = completion(
model="ollama/llama3",
messages=[{"role": "user", "content": "Hello!"}],
api_base="http://localhost:11434",
)
# All return the same response format (OpenAI-compatible)
print(response.choices[0].message.content)
Proxy Server
# litellm_config.yaml — Proxy configuration
model_list:
- model_name: "fast"
litellm_params:
model: gpt-4o-mini
api_key: sk-...
- model_name: "smart"
litellm_params:
model: claude-sonnet-4-20250514
api_key: sk-ant-...
- model_name: "smart" # Second "smart" model = load balancing
litellm_params:
model: gpt-4o
api_key: sk-...
- model_name: "cheap"
litellm_params:
model: gemini/gemini-2.0-flash
api_key: AIza...
router_settings:
routing_strategy: "latency-based-routing"
num_retries: 3
timeout: 30
fallbacks: [{"smart": ["fast"]}] # If smart fails, use fast
general_settings:
master_key: "sk-master-key-xxx" # Admin key
# Start proxy
litellm --config litellm_config.yaml --port 4000
# Call via OpenAI SDK (any language!)
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer sk-master-key-xxx" \
-d '{"model": "smart", "messages": [{"role": "user", "content": "Hello"}]}'
Node.js via Proxy
// app.ts — Use any OpenAI SDK client with LiteLLM proxy
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:4000/v1",
apiKey: "sk-master-key-xxx",
});
// Calls route to Claude or GPT based on load balancing config
const response = await client.chat.completions.create({
model: "smart",
messages: [{ role: "user", content: "Explain monads simply." }],
});
Spend Tracking
# Track costs per team/user/project
from litellm import completion
response = completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
metadata={
"user": "user-123",
"team": "engineering",
"project": "chatbot",
},
)
# LiteLLM proxy stores costs in its database
# Query via API: GET /spend/logs?user=user-123
Examples
Example 1: Multi-provider AI application
User prompt: "My app uses Claude for reasoning and GPT-4o for function calling. Set up a unified interface."
The agent will configure LiteLLM with named model groups, route by capability, and add fallbacks between providers.
Example 2: Team LLM gateway with cost controls
User prompt: "Set up an LLM proxy for our team with per-user rate limits and spend tracking."
The agent will deploy the LiteLLM proxy, configure API keys per team member, set rate limits and budget caps, and enable spend logging.
Guidelines
- Model format:
provider/model—anthropic/claude-sonnet-4-20250514,gemini/gemini-2.0-flash - Proxy for teams — centralize API keys, track spend, enforce rate limits
- Fallbacks for reliability — if primary model fails, route to backup
- Load balancing — multiple entries with same
model_namedistribute traffic - Latency-based routing — LiteLLM picks the fastest responding provider
- Spend tracking — costs calculated per-request, queryable via API
- OpenAI SDK compatible — any OpenAI client library works with the proxy
- Streaming works —
stream=Trueworks across all providers - Environment variables —
OPENAI_API_KEY,ANTHROPIC_API_KEYetc. auto-detected