Azure OpenAI in Microsoft Foundry Models v1 APIとは?変更点と移行チェックリスト

Azure AI FoundryでAzure OpenAIを使っている管理者・開発者がまず確認すべき点は、「日付付きのapi-versionを追い続ける設計」から「/openai/v1/を中心にした設計」へ移行できるかです。2026年5月14日に更新されたMicrosoft Learnの「Azure OpenAI in Microsoft Foundry Models v1 API」は、認証の簡略化、api-versionパラメーター不要化、OpenAIクライアントの利用、DeepSeekやGrokなどを含むクロスプロバイダーモデル呼び出しを整理した公式情報です。既存システムをすぐ全面改修するというより、SDK・エンドポイント・RBAC・モデルデプロイ・APIゲートウェイ設定を棚卸しし、v1 APIへ段階的に寄せるのが現実的な対応です。(Microsoft Learn)

目次

Azure AI Foundryのv1 APIで何が変わるのか

今回のポイントは、Azure OpenAIの使い方が「Azure専用のAPIバージョン管理」から、よりOpenAI API互換の形に近づいたことです。従来は新機能を使うたびに2024-xx-xx-previewのようなAPIバージョンを指定し、SDKや環境変数も更新する必要がありました。v1 APIでは、OpenAI()クライアントを使い、Azure側のエンドポイントに/openai/v1/を付けたbase_urlを指定する形が基本になります。(Microsoft Learn)

観点従来のよくある構成v1 APIでの考え方実務上の影響
APIバージョンapi-version=2024-xx-xx-previewを明示v1 GA APIではapi-version指定が必須ではない月次のAPIバージョン追従作業を減らせる
SDKクライアントAzureOpenAI()などAzure専用クライアントOpenAI()クライアントを利用OpenAI API互換コードとの差分を小さくできる
エンドポイントAPIバージョン付きのAzure OpenAIエンドポイントhttps://<resource>.openai.azure.com/openai/v1/などルーティング、プロキシ、APIM設定の見直しが必要
認証APIキーまたはAzure向けクライアント依存APIキーまたはMicrosoft Entra IDトークン本番環境ではIDベース認証とRBAC設計が重要
モデル呼び出し主にAzure OpenAIモデル単位Azure OpenAIモデルに加え、v1構文対応の他プロバイダーモデルも呼び出せるモデルごとの互換性テストが必要
レスポンス固定項目を前提にしがち新しい応答オブジェクトが追加される可能性あり必要なフィールドだけを解析する実装にする

特に注意したいのは、v1 APIになっても「すべての機能が同じタイミングで本番利用できる」という意味ではないことです。公式ドキュメントでは、初期のv1 GA APIでは推論・オーサリングAPI機能のサブセットのみがサポートされ、プレビュー機能は機能固有のヘッダーやAPIパスでオプトインする形と説明されています。(Microsoft Learn)

影響範囲はアプリ本体だけではない

Azure OpenAI in Microsoft Foundry Models v1 APIの影響は、単なるコード変更にとどまりません。社内Copilot、チャットボット、RAG、業務自動化、評価パイプラインなどでAzure AI Foundryを使っている場合、以下の範囲をまとめて確認する必要があります。

対象確認すべきこと見落とすと起きやすい問題
アプリケーションコードapi-version、AzureOpenAI()、古いエンドポイント指定の有無v1 APIへ移行したつもりでも旧ルートへ送信される
SDK・依存パッケージopenaiパッケージへの移行可否サンプルコードと実行環境のSDKが合わずエラーになる
認証方式APIキー継続か、Microsoft Entra IDへ寄せるか権限が広すぎるキー運用が残る
RBACAPI利用権限とFoundry管理権限の分離開発者に不要な管理権限を与えてしまう
モデルデプロイデプロイ名、モデルバージョン、リージョン、更新ポリシー本番と検証で出力や可用性がずれる
APIゲートウェイAPIM、WAF、社内プロキシのパス・ヘッダー制御404、401、429が切り分けにくくなる
監視・運用レート制限、トークン使用量、429対応リリース後に遅延や失敗が増える

Microsoftは、Foundryとアプリケーションの統合パターンとして、コネクター利用、REST API直接呼び出し、APIゲートウェイ経由の3パターンを示しています。OpenAI APIの形を期待するSDKや外部ツールではOpenAI v1互換ルートを使い、モデルプロバイダーに依存しないFoundry APIやエージェント系のstateful APIとは使い分ける必要があります。(Microsoft Learn)

管理者が最初に確認すべき設定

リソース、リージョン、モデルデプロイを確認する

v1 APIを使う前提として、Azureサブスクリプション、サポートされるリージョンに配置されたFoundryリソースまたはAzure OpenAIリソース、少なくとも1つのモデルデプロイが必要です。つまり、コードだけをv1 API向けに変えても、対象モデルが未デプロイ、リージョン非対応、クォータ不足であれば呼び出しは成功しません。(Microsoft Learn)

管理者は、FoundryポータルまたはAzureポータルで次の順に確認すると切り分けが早くなります。

確認項目判断基準
リソース種別FoundryリソースまたはAzure OpenAIリソースが対象環境にあるか
リージョン使いたいモデルとResponses APIなどの機能がそのリージョンで利用可能か
モデルデプロイアプリで指定するmodelが実際のデプロイ名と一致しているか
クォータ検証・本番それぞれのRPM/TPMや容量が足りるか
ネットワークAPIM、Private Endpoint、社内プロキシで/openai/v1/が許可されているか

クォータはテナント単位ではなくAzureサブスクリプションを上位スコープとして扱われ、制限値はモデルやデプロイ種類によって変わる可能性があります。429エラーや遅延増加が出る場合は、再試行ロジック、負荷の段階的な増加、クォータ引き上げ、必要に応じたPTUの検討が実務上の対策になります。(Microsoft Learn)

RBACは「API呼び出し」と「Foundry管理」を分けて考える

Microsoft Entra ID認証を使う場合、v1 APIの公式ドキュメントではIDにCognitive Services OpenAI Userロールが必要とされています。一方、Microsoft Foundryのプロジェクト管理やポータル操作では、Foundry User、Foundry Project Manager、Foundry OwnerなどのFoundry向けロールを使うのが基本です。API実行権限と管理権限を混同すると、開発者に過剰な権限を付与しやすくなります。(Microsoft Learn)

本番運用では、APIキーよりもMicrosoft Entra ID認証を優先して検討する価値があります。RBACドキュメントでは、キー認証はロール制限なしにフルアクセスを与えるため、きめ細かな制御にはEntra ID認証が推奨されています。キーを使う場合でも、Key Vaultでの保管、ローテーション、環境別キー分離、ログへの出力禁止は最低限の運用ルールにしてください。(Microsoft Learn)

開発者向けの移行手順

既存コードの棚卸しから始める

最初にやるべき作業は、いきなりコードを書き換えることではありません。リポジトリ、CI/CD変数、IaC、APIMポリシー、アプリ設定を横断して、旧APIや旧SDKに依存している箇所を洗い出します。

grep -R "api-version\|AzureOpenAI\|azure-ai-inference\|/models\|/openai/deployments" .

特にazure-ai-inferenceパッケージやhttps://<resource>.services.ai.azure.com/modelsパスを新規統合で使い続けるのは避けるべきです。Microsoftは新規統合ではFoundry Model Inference APIの/modelsパスを使わず、OpenAI v1互換ルートを使うよう案内しており、azure-ai-inferenceパッケージは2026年5月30日にリタイア予定とされています。(Microsoft Learn)

エンドポイントを/openai/v1/に寄せる

Pythonの例では、従来のAzureOpenAI()からOpenAI()へ寄せ、base_urlにAzure側のv1エンドポイントを指定します。公式ドキュメントでは、base_urlとしてopenai.azure.com形式とservices.ai.azure.com形式の両方が示されていますが、利用しているリソース種類、プロジェクト構成、社内ゲートウェイ設計に合わせて統一してください。(Microsoft Learn)

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AZURE_OPENAI_API_KEY"],
    base_url="https://<your-resource>.openai.azure.com/openai/v1/"
)

response = client.responses.create(
    model="<your-deployment-name>",
    input="社内FAQの要点を3行で要約してください。"
)

print(response.output_text)

ポイントは、modelに指定する値を「基盤モデル名」ではなく、実際にAzure AI FoundryまたはAzure OpenAI側で作成したデプロイ名として扱うことです。検証環境と本番環境でデプロイ名が違う場合は、コードに直書きせず環境変数や設定ファイルで切り替えます。

Microsoft Entra ID認証ではトークン更新を前提にする

v1 APIでは、OpenAI()クライアントでトークンベース認証と自動トークン更新を扱えるようになり、従来のAzure専用クライアントへの依存を減らせます。ローカル開発ではDefaultAzureCredential、本番ではマネージドIDやサービスプリンシパルを使い、どのIDにどのロールを付与したかを構成管理に残してください。(Microsoft Learn)

実装時の失敗で多いのは、APIキー向けの設定とBearerトークン向けの設定を混ぜることです。401が出たら「キーが間違っている」と決めつけず、トークンスコープ、ロール割り当て、ヘッダー名、ゲートウェイ側でのヘッダー転送を順に確認しましょう。

Responses APIとChat Completionsの使い分け

Azure OpenAIモデルでは、公式ドキュメント上はResponses APIの利用が推奨されています。一方で、v1 APIはOpenAI v1のChat Completions構文をサポートするDeepSeekやGrokなど、他プロバイダーのモデル呼び出しにも対応します。つまり、今後の標準はResponses APIを軸にしつつ、外部プロバイダーモデルや既存チャット実装ではChat Completionsを併用する形が現実的です。(Microsoft Learn)

利用シーン優先したいAPI理由
新規のAzure OpenAIアプリResponses API今後の機能拡張を取り込みやすい
既存のチャットUIChat CompletionsまたはResponses API既存コード量と移行コストで判断
DeepSeekやGrokなどのクロスプロバイダー呼び出しChat Completions対応を確認モデル側がv1チャット構文をサポートする必要がある
エージェント、評価、ツール統合Responses API中心Foundryの新しい機能群と相性がよい

ただし、モデルが変わると出力の粒度、ツール呼び出しの挙動、安全性フィルター、トークン消費が変わることがあります。モデル横断の呼び出しを有効にする場合は、同じプロンプトセットで品質評価、レイテンシ、コスト、失敗率を比較してから本番へ展開してください。

プレビュー機能を使う場合の注意点

v1 APIでは、プレビュー機能にアクセスするために毎回APIバージョンを切り替えるのではなく、機能固有のプレビュー用ヘッダーや、alphaなどを含むAPIパスでプレビュー状態を示す方式が採用されています。たとえば、過去にプレビューだった/openai/v1/evalsは現在プレビューではなくなり、/openai/v1/fine_tuning/alpha/graders/はパス上のalphaでプレビュー扱いを示します。(Microsoft Learn)

管理者・開発者が気を付けるべきなのは、プレビュー機能を本番依存にしすぎないことです。プレビューAPIは仕様変更の可能性があり、APIゲートウェイや監視ツールがヘッダーやパスを正しく扱えない場合もあります。特にAPI Managementを使っている環境では、2025-04-01-previewのAzure OpenAI仕様がOpenAPI 3.1を使っており、Azure API Managementで完全にはサポートされていない既知の問題がある点も確認しておきましょう。(Microsoft Learn)

モデルバージョンとAPIバージョンを混同しない

移行計画でよくある誤解は、「APIをv1にすればモデルの挙動も固定される」と考えることです。Microsoft Foundry Modelsでは、モデル自体のバージョンと、モデルデプロイを呼び出すAPIバージョンは別物です。モデルデプロイにはアップグレードポリシーがあり、新しい既定バージョンへ自動更新する設定、現在のバージョンの期限切れ時に更新する設定、自動アップグレードをオプトアウトする設定などがあります。(Microsoft Learn)

実務では、次のように分けて管理すると事故を減らせます。

管理対象管理方法チェックタイミング
APIバージョンv1 APIルート、SDK、APIMルーティングで管理SDK更新時、API仕様変更時
モデルバージョンFoundryポータルのデプロイ詳細やREST APIで確認モデル更新通知時、本番リリース前
デプロイ名環境変数・設定ファイルで管理環境追加時、Blue/Green切替時
出力品質評価データセットで回帰テストモデル変更時、プロンプト変更時
コスト・容量クォータ、RPM/TPM、使用量メトリックで監視負荷試験時、本番運用中

モデルの提供終了日を迎えた場合、自動アップグレードをオプトアウトしているデプロイは要求の受け入れを停止し、エラーを返す可能性があります。重要なワークロードでは、モデル更新通知、Service Healthアラート、廃止スケジュールを運用プロセスに組み込んでください。(Microsoft Learn)

移行時によくあるエラーと切り分け

v1 API移行では、エラーの原因がコード、認証、ネットワーク、モデルデプロイ、クォータのどこにあるかを素早く切り分けることが重要です。

エラー主な原因確認ポイント
401 UnauthorizedAPIキー不備、期限切れトークン、ロール不足キー、Bearerトークン、RBAC、マネージドID
404 Not Foundエンドポイントパス、リソース名、デプロイ名の誤り/openai/v1/の有無、デプロイ名、APIMルート
429 Too Many Requestsレート制限、クォータ不足、急な負荷増再試行、バックオフ、負荷平準化、クォータ申請
DNS resolution failureドメイン指定ミスopenai.azure.comとservices.ai.azure.comの使い分け
期待と違う出力モデルバージョン変更、プロンプト差分モデルバージョン、デプロイ設定、評価データ

Microsoftの統合ガイドでも、401、404、429、DNS解決失敗が代表的なトラブルとして整理されています。移行後の初回リリースでは、エラー率だけでなく、応答時間、トークン使用量、モデル別の失敗率、ゲートウェイでの拒否件数もダッシュボード化しておくと、原因調査が早くなります。(Microsoft Learn)

本番展開前のチェックリスト

v1 APIへの移行は、小さく検証してから段階的に展開するのが安全です。特に社内Copilotや業務アプリに組み込んでいる場合、API変更がユーザー体験に直結します。

フェーズ実施内容
棚卸しapi-version、AzureOpenAI()、azure-ai-inference、旧エンドポイントを洗い出す
設計OpenAI v1互換ルート、Foundry API、プロジェクトエンドポイントの使い分けを決める
権限Entra ID、RBAC、マネージドID、APIキー運用を見直す
実装OpenAI()クライアント、base_url、環境変数、レスポンス解析を更新する
検証代表プロンプト、RAG、ツール呼び出し、ストリーミング、エラー処理をテストする
負荷試験429、レイテンシ、トークン消費、クォータ余力を確認する
展開カナリアリリースや環境別デプロイで段階的に切り替える
運用モデル更新、クォータ、エラー率、コストを継続監視する

v1 APIへの移行で最も大切なのは、APIの書き換えを「開発チームだけの作業」にしないことです。Azure管理者はリージョン、RBAC、クォータ、ゲートウェイを確認し、開発者はSDK、エンドポイント、レスポンス解析、リトライ処理を更新します。まずは既存コードを棚卸しし、検証環境で/openai/v1/ルートを使った最小構成の呼び出しを成功させるところから始めてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次