OpenAIとAzure OpenAIどう違う?
はじめに
こんにちは、東(t-east)です。
みなさん、LLMを用いたAIアプリ作り楽しんでますか。
私も絶賛楽しくやっているところですが、OpenAIとAzure OpenAIってなにがどう違うの?と迷ったことがあったのでここにまとめてみようと思います。
アドバイスや情報の漏れがあったらどんどん指摘してきてください
Azure OpenAIとは?
OpenAIは分かるけど、Azure OpenAIは分からないという方はある程度いるのではないかと思いますが、
意味は文字通り「Azureインフラ上で動くOpenAIモデル基盤」のことです。
なので、動いているのは "基本的に"同じアプリケーションで、ただ、インフラ部分が違うものになります。
Azure OpenAIのいいところ
インフラが安定している
OpenAIを使っていると以下のようなエラーが多く出ました。
An error occurred while processing your request. You can retry your request, or contact us through our help center at help.openai.com if the error persists. Please include the request ID req_xxxxxxxxxxxxxx in your message.
これは5XX系のエラーなので、呼び出しもとである私たちではなくOpenAIのインフラ側で問題が起きているということになります。
しばらくすると復旧しますが、"しばらく"でも続くとサービスの利用者に迷惑をかけてしまいます。
レスポンスが速い
これは今度しっかりベンチマークを測りたいところですが、Azure OpenAIの方が圧倒的に速いです。
Stream APIで出力しているchunkをUIに表示させようとすると、ゆっくり表示されてしまうような事象がしばしば発生します。
Azure OpenAIのイマイチなところ(OpenAIのいいところ)
インフラ基盤としては安心感のあるAzureですが、イマイチなところも多々あります
TPM上限とQuota制限
gpt-5.1とかだと50kTPMで、申請を上げても却下されてしまいます。
TPMとは Token Per Minute、つまり1分間で使えるトークン数をさします。50kTPMなので5万トークン。
【申請の回答】
Good day - The gpt-5 models are not yet available for quota processing. Our team is actively working to enable quota allocation for them; however, we do not have an estimated availability date at this time.
We appreciate your patience and understanding as we work to resolve this. If you have any questions or need assistance with alternative options, feel free to reach out
同じモデルデプロイに対してリクエストを送るようなAIエージェントアプリならあっという間に超えてしまいます。
ちなみに、OpenAIの方はどういう仕組みでTPMやRPMを上げるかというと、Tierという概念で上限が自動で切り替わります。
私が利用するOpenAIのプロジェクトではTier5の最大なので10MTPMになってました。ただ、Azure OpenAIと比べて遅いなあという感想が強い。
OpenAIの進化を後追いする構造
web_searchは人によってはとても役に立つであろうweb検索をLLM側に行わせる機能です。
これをツールとして設定することで、最新の情報を取得して回答する賢いAIになります。
しかし、2026/01/27現在、Azureではこの機能は正式サポートされていません。
実際使ってみると、Stream APIではWeb検索した結果一覧がストリーム途中で出力されず、最終出力のannotationにしか表示されない、annotationにあるstartIndex, endIndexと本文のテキスト位置がずれており、引用のリンクが上手く貼れない みたいなことがおき、動的に検索結果のエビデンスをユーザに伝えながら動かすエージェントを作るには課題が多すぎるという印象でした。
GPT-5がOpenAIから発表されたときも、Azureで使うには数日待たないといけなかったりして、スピード感が欲しい方にはもどかしい気持ちを生むかもしれません。
ちなみに
私は今はweb_searchはLLMに搭載されているtoolは使わず、自作で検索ツールを作ってそれを使っています。ManusやDevinのようなエージェント自身がsandboxを持っていたり、複数モデルをリクエストに応じて使い分けるようなエージェントを作りたいと思っている上で、ベンダーロックインを避けて自分で自由にコントロールできるようにしたいというのが背景です。
どうするのが賢そう?
同じモデルをAzureの複数リージョンにデプロイしてラウンドロビンで負荷分散
調べていたら結構出てくるアイデアです。ChatGPTなどもこの辺を推してきます。単純にデプロイした数だけTPMが倍になるのが良いところです。
しかし、デプロイできるリージョンも有限なのと、KVキャッシュを効かせるためには一度開始したセッションは同じリージョンのデプロイを使い続けないといけなかったりするため、スケールしないしコンテキスト管理が難しいなと思ってます。
最後に
Azureはエンプラ向けの強い会社ですが、UI含めて結構使いにくいです。担当者に問い合わせるのが吉です。
Discussion