こんにちはー。
最近、@potofoさんが私が作成した Chatbot UI (legacy) のAzure対応版を紹介してくれていたことに気づきました。ありがとうございます!
このコードは海外の方々にも利用されているようで、多くの方々に貢献できていることにとても嬉しく感じています。
そしてなんと! Azure OpenAI で誰でも o3-mini が使えるようになりました!パチパチパチ。
その嬉しさの勢いで、Chatbot UI (legacy) を修正して、o3-mini や GPT-4.5 Preview が動作するようになりました。 (正確には、GPT-4.5 Preview は値段が高いため実行できていません。)
アップデート版 Chatbot UI (legacy)
今回修正した Chatbot UI (legacy) のコードは以下のブランチにあります。
修正した主な箇所:
OpenAI向けの修正
- 選択できるOpenAIモデルが古かったため、最新のモデル(gpt-3.5-turbo、gpt-4o-mini、o1-mini、o3-mini、gpt-4.5-preview)に更新しました。
- 最新モデルでは、system role や stream、developer role、temperature など、使用できる機能が異なるため、モデルごとにAPIリクエストを変更するようにしました。
Azure OpenAI向けの修正
- モデル選択画面では、OpenAIのAPI向けのモデルが設定できますが、Azure OpenAIのデプロイメントではないため、Azure OpenAI ではモデルの選択コンポーネントを非表示にしました。
- Azure OpenAIのデプロイメントに合わせたリクエストができるように、system role、stream、developer role、temperature の設定を追加しました。
共通箇所の修正
- stream を使ったリクエストだけでなく、通常リクエストにも対応できるように修正しました。
- max_tokens が廃止されたため、max_completion_tokens を使用するように変更し、各モデルで最大値が設定できるようにしました。
ローカル環境における起動方法
git cloneして修正したブランチをcheck outします。
git clone https://github.com/KentaroAOKI/chatbot-ui.git
git fech
git checkout -b feature-supports-azure-openai-api-2025-02-01-preview
npmで必要なパッケージを取得します。
npm i
.env.local.example を .env.local としてコピーします。コピーした .env.local を編集してください。
OpenAI API を使う方は、"#for Azure OpenAI API"の箇所をコメントにして、"#for OpenAI API"以下を修正してください。
# Chatbot UI
NEXT_PUBLIC_DEFAULT_SYSTEM_PROMPT="You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown."
OPENAI_REQ_MAX_COMPLETION_TOKENS=0
# for OpenAI API
# OPENAI_API_TYPE=openai
# DEFAULT_MODEL=o3-mini
# OPENAI_API_KEY=YOUR_KEY
# OPENAI_API_HOST=https://api.openai.com
# OPENAI_API_VERSION=2025-02-01-preview
# for Azure OpenAI API
OPENAI_API_TYPE=azure
AZURE_DEPLOYMENT_ID=o3-mini
OPENAI_API_KEY=YOUR_KEY
OPENAI_API_HOST=https://<endpoint>.openai.azure.com
OPENAI_API_VERSION=2025-02-01-preview
OPENAI_REQ_STREAM=true
OPENAI_REQ_ROLE_SYSTEM=false
OPENAI_REQ_ROLE_DEVELOPER=true
OPENAI_REQ_TEMPERATURE=false
実行します。
npm run dev
実行したら、Webブラウザで "localhost:3000" にアクセスします。
Chatbot UI の画面(OpenAI の API を使用)
Chatbot UI の画面(Azure OpenAI の API を使用)
さいごに
次は、前回作成した 実験用のAIエージェント を o3-mini で試してみる予定です。それではー!