🖥
環境変数だけで OpenAI・LM Studio・Azure OpenAI の API を切り替えてみた
LLM を提供するバックエンド API に複数選択肢がありますが、バックエンドごとに提供されている機能が異なるので、仕様やライブラリの使い方が異なっていても不思議ではありません。
今回は、簡単なチャット用の API に限った話ではありますが、Python コードは変更せずに、環境変数だけで OpenAI・LM Studio・Azure OpenAI の API を切り替えてみました。
簡単なチャット用の Python コード例
モデル名もあえて環境変数にしています。
test.py
import os
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model = os.getenv("MODEL_NAME"),
messages = [
{"role":"user", "content":"日本の首都は?"},
],
)
print(completion.choices[0].message.content)
OpenAI を使用する場合
環境変数 OPENAI_BASE_URL は、OpenAI 用のデフォルト値があるので設定不要です。
export OPENAI_API_KEY="<your openai key>"
export MODEL_NAME="gpt-5-nano"
LM Studio を使用する場合
環境変数 OPENAI_API_KEY が必須なため、ダミー文字列を設定します。
export OPENAI_BASE_URL="http://172.18.0.1:1234/v1/"
export OPENAI_API_KEY="lm-studio"
export MODEL_NAME="openai/gpt-oss-20b"
下記は LM Studio で実行した例。
$ python test.py
日本の首都は**東京**です。
Azure OpenAI を使用する場合
Azure AI Foundry に gpt-oss-120b をデプロイして、環境変数 OPENAI_BASE_URL と OPENAI_API_KEY に必要な情報を取得します。
export OPENAI_BASE_URL="https://<your resource name>.openai.azure.com/openai/v1/"
export OPENAI_API_KEY="<your azure openai key>"
export MODEL_NAME="gpt-oss-120b"
下記は Azure OpenAI で実行した例。
$ python test.py
日本の首都は**東京(とうきょう)**です。
参考
Discussion