jpskill.com
💼 ビジネス コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して litellm.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → litellm フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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/modelanthropic/claude-sonnet-4-20250514gemini/gemini-2.0-flash
  • チーム向けのプロキシ — API キーの一元管理、支出の追跡、レート制限の適用
  • 信頼性のためのフォールバック — プライマリモデルが失敗した場合、バックアップにルーティング
  • ロードバランシング — 同じ model_name を持つ複数のエントリでトラフィックを分散
  • レイテンシーベースのルーティング — LiteLLM は最も応答が速いプロバイダーを選択
  • 支出追跡 — リクエストごとにコストを計算し、API 経由でクエリ可能
  • OpenAI SDK 互換 — 任意の OpenAI クライアントライブラリがプロキシで動作
  • ストリーミングが動作stream=True はすべてのプロバイダーで動作
  • 環境変数OPENAI_API_KEYANTHROPIC_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/modelanthropic/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_name distribute 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 worksstream=True works across all providers
  • Environment variablesOPENAI_API_KEY, ANTHROPIC_API_KEY etc. auto-detected