ローカルLLMを何種類も使い分けていると、「アプリごとにAPIの呼び方が違う」「モデルを切り替えるたびにコードを書き直す」という問題が出てきます。LiteLLMは、こうした複数のLLMを一つのOpenAI互換エンドポイントにまとめるAPIゲートウェイです。
設定ファイルにOllamaやOpenAI・Anthropicをリストアップするだけで、どのモデルへの呼び出しも同じURL・同じコードで扱えるようになります。実際にUbuntu 24.04.4 LTSでインストールして動かしたところ、litellm 1.89.0 は141プロバイダー・2,784モデルのコストマップに対応していることが確認できました(2026-06-15 実測)。
本記事では、ubuntu:24.04 公式イメージにLiteLLMを実際にインストールし、ホストで動いているローカルOllamaをゲートウェイ経由で呼び出すところまでを、すべて実測ログ付きで解説します。
この記事のポイント
- LiteLLMはOllama・OpenAI・Anthropicなど141プロバイダーをOpenAI互換APIに統合するゲートウェイ(litellm 1.89.0 実測)
- Ubuntu 24.04でのインストールは
pip install 'litellm[proxy]'1コマンド(PEP 668対策でvenvを使う) config.yamlにモデルを列挙 →litellm --config config.yaml --port 4000で即起動- 既存のOpenAIクライアントコードを書き換えずにローカルLLMへ切り替えられる(実測: 応答0.47秒)
- Swagger UIが
http://localhost:4000/で、Admin UIが/uiで確認できる
目次
- LiteLLMとは
- 動作確認済み環境
- インストール手順
- config.yaml を作成する
- プロキシを起動する
- OpenAI互換APIとして使う
- WebUI(Swagger UI / Admin UI)で確認する
- よくあるエラーと解決策
- まとめ
LiteLLMとは
LiteLLMはOSSのLLMプロキシです。OllamaやOpenAI・Anthropic・Google Gemini・AWS Bedrockなど100を超えるプロバイダーへのアクセスを、単一のOpenAI互換エンドポイントに変換します。実際にコンテナ内でバージョンを叩いて数えたところ、litellm 1.89.0 が内部に持つプロバイダーは141種、コストマップに登録済みのモデルは2,784種でした。

ゲートウェイがあると何がうれしいのか、具体的な機能を整理します。
| なにができるか | 具体例 |
|---|---|
| 複数LLMの統合 | Ollama・OpenAI・Anthropicを同じURLで呼び出せる |
| コード変更ゼロ | base_url="http://localhost:4000" を指すだけで切り替え |
| コスト管理 | 2,784モデルのコストマップ内蔵、トークン課金を自動集計 |
| ロードバランシング | 同一モデルを複数エンドポイントで束ねてラウンドロビン |
| レート制限 | APIキーごとにTPM/RPMのしきい値を設定できる |
ローカルLLMとクラウドLLMを同じコードベースで扱えるため、「開発中はOllama(無料)、本番はClaude API」といった使い分けが簡単になります。仕組みとしては、クライアントは常にLiteLLMプロキシだけを見ていて、プロキシが config.yaml の設定に従って転送先を振り分けます。

動作確認済み環境
- OS: Ubuntu 24.04.4 LTS(Docker公式イメージ
ubuntu:24.04で実行) - Python: 3.12.3(venv内)
- LiteLLM: 1.89.0(2026-06-15 実測)
- バックエンド: ホストで稼働中のローカルOllama(llama3.2:1b / qwen2.5:0.5b / gemma3:1b)
- 検証方法:
docker run ubuntu:24.04コンテナ内でpip installし、実出力を取得
注意
本記事のコマンドはUbuntu 24.04 LTS(Python 3.12.3)で検証しています。litellm 1.84以降は Requires-Python >=3.10,<3.14 のため、Python 3.13以上の環境では古い版しか入らないことがあります。バージョンを揃えたいときは、本記事と同じくUbuntu 24.04(Python 3.12)で動かすのが確実です。
インストール手順
①パッケージを更新して Python venv を準備する
まずパッケージリストを更新し、Python仮想環境を作ります。Ubuntu 24.04はPEP 668(外部管理環境)により、システムのPythonへ直接 pip install するとエラーになります。これを避けるため、必ずvenv(仮想環境)を作ってからインストールします。
$ sudo apt install -y python3-pip python3-venv
$ python3 -m venv /opt/litellm_env
$ source /opt/litellm_env/bin/activate
(litellm_env) $
②litellm[proxy] をインストールする
litellm[proxy] の [proxy] 部分は、プロキシモード(FastAPI+Uvicornサーバー)に必要な追加依存を含むエクストラです。この1コマンドでOpenAI互換サーバーを立ち上げられるようになります。

実際にubuntu:24.04コンテナで実行したログがこちらです。litellm --version で Current Version = 1.89.0 が返ってきました。
Collecting litellm[proxy]
Downloading litellm-1.89.0-py3-none-any.whl
Collecting fastapi (from litellm[proxy])
Collecting uvicorn (from litellm[proxy])
…
Successfully installed litellm-1.89.0 openai-2.41.1 fastapi-0.137.0 uvicorn-0.49.0 …
(litellm_env) $ litellm –version
LiteLLM: Current Version = 1.89.0
このとき同時にインストールされた主要な依存パッケージは以下のとおりです(ubuntu:24.04 コンテナ内、2026-06-15 実測)。LiteLLM単体ではなく、プロキシサーバー一式(FastAPI+Uvicorn)が揃うことが分かります。

| パッケージ | バージョン(実測) | 役割 |
|---|---|---|
| litellm | 1.89.0 | ゲートウェイ本体(OpenAI互換プロキシ) |
openai |
2.41.1 | OpenAI SDK(API互換の基盤) |
fastapi |
0.137.0 | プロキシのHTTPサーバー |
uvicorn |
0.49.0 | ASGIサーバー(FastAPIの実行基盤) |
httpx |
0.28.1 | バックエンドへのHTTP通信クライアント |
pydantic |
2.13.4 | 設定・リクエストのバリデーション |
③Docker Compose で動かす場合
VPSやサーバーに常駐させたい場合は、公式Dockerイメージを使うほうが管理が楽です。
$ docker run -d \
–name litellm_proxy \
-p 4000:4000 \
-v $(pwd)/config.yaml:/app/config.yaml \
-e LITELLM_MASTER_KEY=”sk-my-secret-key” \
ghcr.io/berriai/litellm:main-latest \
–config /app/config.yaml –port 4000
config.yaml を作成する
config.yamlがLiteLLMの心臓部です。ここに「どのモデル名で受け付けて、どのバックエンドに転送するか」を記述します。今回の検証では、ホストで動いているローカルOllamaの3モデルを列挙しました。
model_list:
– model_name: local-llama # ← クライアントが呼ぶ名前
litellm_params:
model: ollama/llama3.2:1b # ← ollama/ プレフィックスで転送
api_base: “http://localhost:11434”
– model_name: local-qwen
litellm_params:
model: ollama/qwen2.5:0.5b
api_base: “http://localhost:11434”
– model_name: local-gemma
litellm_params:
model: ollama/gemma3:1b
api_base: “http://localhost:11434”
general_settings:
master_key: “sk-linuxlab-demo-key”
設定のポイントを整理します。
model_name: クライアントから呼び出すときに指定する名前(自由に決められる)litellm_params.model: LiteLLM内部の転送先(プレフィックス + プロバイダーのモデル名)api_base: Ollamaなどローカル起動のURLを指定(クラウドAPIには不要)master_key: プロキシ自体の認証キー(Authorization: Bearer sk-...で認証)
クラウドのモデルを足す場合
同じ model_list に、OpenAIやAnthropicのモデルを並べて書くだけです。api_key を渡せばそのままクラウドへ転送されます。
litellm_params:
model: openai/gpt-4o
api_key: “sk-xxxx”
– model_name: claude-sonnet
litellm_params:
model: anthropic/claude-3-5-sonnet-20241022
api_key: “sk-ant-xxxx”
注意
LiteLLMをDockerコンテナで動かしているとき、localhost:11434 はコンテナ自身を指します。ホストのOllamaに繋ぐには api_base を http://host.docker.internal:11434 に変えます(コンテナ起動時に --add-host=host.docker.internal:host-gateway を付けるのが確実)。今回の検証もこの方法でホストのOllamaに接続しました。
プロキシを起動する
LiteLLM: Proxy initialized with config, starting main application…
INFO: Started server process [1]
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit)
起動後、ヘルスチェックとモデル一覧で稼働を確認します。実際に叩いたところ /health/liveliness は "I'm alive!" を返し、/v1/models にはconfig.yamlの3モデルが並びました。
“I’m alive!”
$ curl -s http://localhost:4000/v1/models -H “Authorization: Bearer sk-linuxlab-demo-key”
{“object”:”list”,”data”:[
{“id”:”local-llama”,”object”:”model”,…},
{“id”:”local-qwen”,”object”:”model”,…},
{“id”:”local-gemma”,”object”:”model”,…}
]}
OpenAI互換APIとして使う
LiteLLMプロキシへのリクエストはOpenAI APIのSDKやcurlがそのまま使えます。base_url をプロキシのURLに変えるだけです。実際に local-llama(=ローカルOllamaの llama3.2:1b)へ投げると、本物の応答が0.47秒で返ってきました。

①curlで呼び出す
-H “Content-Type: application/json” \
-H “Authorization: Bearer sk-linuxlab-demo-key” \
-d ‘{
“model”: “local-llama”,
“messages”: [{“role”: “user”, “content”: “what is Ubuntu?”}]
}’
{
“model”: “local-llama”,
“choices”: [{“message”: {“content”:
“Ubuntu is an open-source Linux distribution that allows users to
easily install and configure various applications.”}}],
“usage”: {“prompt_tokens”: 39, “completion_tokens”: 19, “total_tokens”: 58}
}
②PythonのOpenAI SDKで呼び出す
OpenAIの公式SDKでも、変えるのは base_url と api_key の2行だけです。モデルを切り替えたいときは model="local-qwen" や、クラウドを登録していれば model="gpt-4o" に変えるだけで済みます。
import openai
client = openai.OpenAI(
base_url=”http://localhost:4000/v1″, # LiteLLM プロキシ
api_key=”sk-linuxlab-demo-key”,
)
resp = client.chat.completions.create(
model=”local-llama”, # ← config.yaml の model_name
messages=[{“role”: “user”, “content”: “what is Ubuntu?”}],
)
print(resp.choices[0].message.content)
PY
Ubuntu is an open-source Linux distribution that allows users to easily …
WebUI(Swagger UI / Admin UI)で確認する
LiteLLMプロキシが起動している状態でブラウザから http://localhost:4000/ を開くと、OpenAPI仕様のSwagger UIが表示されます。タイトルに LiteLLM API 1.89.0 と出ており、利用可能なエンドポイントをブラウザ上で確認・テストできます。

また、http://localhost:4000/ui へアクセスすると、Admin UIのログイン画面が表示されます。デフォルトのユーザー名は admin、パスワードは config.yaml の master_key(または環境変数 LITELLM_MASTER_KEY)です。ログインすると管理画面から使用状況の確認やモデルの管理ができます。

注意
Admin UIのデフォルト認証は master_key がそのままパスワードになります。VPSなど外部から見える環境で --host 0.0.0.0 起動するときは、master_key を推測されにくい値にし、必要ならファイアウォールで4000番を絞ってください。
よくあるエラーと解決策
①「externally-managed-environment」— venvを使っていない
エラー例
error: externally-managed-environment(This environment is externally managed)
解決策: Ubuntu 24.04ではPEP 668により、システムのPythonへ直接 pip install できません。python3 -m venv /opt/litellm_env で仮想環境を作り、source で有効化してからインストールします。
②「Connection refused」— プロキシが起動していない
エラー例
ConnectionRefusedError(111, 'Connection refused')
解決策: プロキシが起動しているか確認します。
# 応答がなければ litellm –config config.yaml –port 4000 を再実行
③「APIConnectionError」— Ollamaに接続できない
エラー例
litellm.APIConnectionError: OllamaException - Failed to connect to http://localhost:11434
解決策: Ollamaが起動しているか、api_base のURLが正しいか確認します。LiteLLMをDockerで動かしている場合、localhost はコンテナ自身を指すので、ホストのOllamaには host.docker.internal を使います。
# Ollamaが起動していれば {“models”: […]} が返ってくる
$ ollama serve &
# 起動していない場合は上記コマンドで起動する
④「AuthenticationError」— masterキーが一致しない
リクエストヘッダーの Authorization: Bearer に設定した値と、config.yaml の master_key(または環境変数 LITELLM_MASTER_KEY)が一致しているか確認します。
⑤起動時に「Port already in use」
# ポート4000を使っているプロセスを確認
$ kill -9 <PID>
# または別ポートで起動: litellm –config config.yaml –port 4001
まとめ
LiteLLMを使うと、ローカルLLM(Ollama)とクラウドAPI(OpenAI・Anthropic等)を単一のOpenAI互換エンドポイントに束ねることができます。今回はすべてubuntu:24.04の実環境で検証しました。
- インストールは
pip install 'litellm[proxy]'1コマンド(Ubuntu 24.04 / Python 3.12.3でlitellm 1.89.0を確認) - Ubuntu 24.04ではPEP 668のためvenvを作ってからインストールする
- config.yamlにモデルをリストアップし、litellm –config config.yaml –port 4000 で起動
- OpenAIクライアントの base_url を変えるだけで既存コードがそのまま動く(実測: ローカルOllamaへ0.47秒で応答)
- 141プロバイダー・2,784モデルに対応(litellm 1.89.0 実測)
- Swagger UIは http://localhost:4000/、Admin UIは http://localhost:4000/ui
ローカルLLMを使った開発をさらに発展させたい場合は、VPS上でOllamaとLiteLLMを常時稼働させるのも選択肢の一つです。自宅PCを常時起動せずに、いつでもどこからでも自分のLLMゲートウェイへアクセスできるようになります。VPS選びの参考に、各社の比較記事もあわせてご覧ください。
本格的にVPSで運用するなら、東京リージョンがありGPUプランも選べるVPS比較ガイドもチェックしてみてください。



コメント