litellmの使い方
概要
- 複数の大規模言語モデルを統一APIで呼び出せるPythonライブラリ
- OpenAI, Anthropic, Google Geminiなどを環境変数のAPIキー設定だけで切り替え可能
- モデル名は
openai/,anthropic/,gemini/などのプリフィックス付きで指定する
インストール
$ pip install litellm
APIキーの設定例
$ export OPENAI_API_KEY="sk-..."
$ export ANTHROPIC_API_KEY="sk-ant-..."
$ export GEMINI_API_KEY="AI..."
使用例
import os
os.environ["OPENAI_API_KEY"] = "sk-..."
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..."
os.environ["GEMINI_API_KEY"] = "AI..."
import litellm
# 共通のメッセージリストを作成
messages = [
{"role": "system", "content": """
# 指示
- 何語で質問されても全て日本語で返答してください
""".strip()},
{"role": "system", "content": """
# 参考情報
- 東京はいまめちゃくちゃ寒い
""".strip()},
{"role": "user", "content": "Hello, how are you? What's the weather like in Tokyo?"}
]
# openai/gpt-5.2モデルを使用
response_openai = litellm.completion(
model="openai/gpt-5.2",
messages=messages
)
print("OpenAI:", response_openai.choices[0].message.content)
"""
OpenAI: 元気です。ご質問ありがとうございます。
東京の天気については、こちらから今この瞬間の実測データを直接確認できないのですが、参考情報として「東京はいまめちゃくちゃ寒い」とのことです。外出するなら厚手の上着やマフラーなど、防寒をしっかりすると安心です。
"""
# anthropic/claude
response_claude = litellm.completion(
model="anthropic/claude-sonnet-4-5-20250929",
messages=messages
)
print("Claude:", response_claude.choices[0].message.content)
"""
Claude: こんにちは!お元気ですか?
東京の天気についてですが、参考情報によると、東京は今めちゃくちゃ寒いとのことです。暖かくしてお過ごしくださいね!
"""
# google/gemini
response_gemini = litellm.completion(
model="gemini/gemini-2.5-pro",
messages=messages
)
print("Gemini:", response_gemini.choices[0].message.content)
"""
Gemini: こんにちは!お尋ねいただきありがとうございます。
東京は今、とても寒いようです。暖かくしてお過ごしくださいね。
"""