Microsoft Foundry モデルのエンドポイント

Microsoft Foundry Models は、1 つのエンドポイントと資格情報のセットを通じて、多くのプロバイダーからさまざまなモデルにアクセスできます。 この機能を使用すると、モデルを切り替えて、コードを変更せずにアプリケーションで使用できます。

この記事では、Foundry サービスがモデルを整理する方法と、推論エンドポイントを使用してそれらにアクセスする方法について説明します。

前提条件

展開

Foundry では、デプロイをモデルへのアクセスのエイリアスとして使用します。 デプロイでは、モデルに名前と一連の構成が提供されます。 モデルにアクセスするには、要求でそのデプロイ名を使用します。

デプロイでは、次の内容が定義されます。

  • モデル名
  • モデルのバージョン
  • プロビジョニングもしくはキャパシティタイプ1
  • コンテンツ フィルター構成1
  • レート制限の構成1

1 これらの構成は、選択したモデルに応じて変更される可能性があります。

Foundry リソースには、多数のモデル デプロイを含めることができます。 モデルデプロイで実行された推論に対してのみ課金されます。 デプロイはリソースAzureであるため、Azure ポリシーの対象となります。

デプロイの作成の詳細については、「モデル デプロイの 追加と構成」を参照してください。

Azure OpenAI 推論エンドポイント

Azure OpenAI API は OpenAI モデルのすべての機能を公開し、アシスタント、スレッド、ファイル、バッチ推論などのより多くの機能をサポートします。 これを使用して、OpenAI 以外のモデルにアクセスすることもできます。

Azure OpenAI エンドポイントは、https://<resource-name>.openai.azure.comとして書式設定されます。 エンドポイントはデプロイにマップされ、各デプロイには独自の URL が関連付けられています。 ただし、同じ認証メカニズムを使用して、複数のデプロイを使用できます。 詳細については、Azure OpenAI API のリファレンス ページを参照してください。

Azure OpenAI デプロイに各デプロイの単一の URL が含まれている方法を示す図。

デプロイ URL は、Azure OpenAI ベース URL とルート /deployments/<model-deployment-name>を連結して形成されます。 OpenAI v1 API を使用する場合は、ベース URL で /openai/v1/ ルートを呼び出し、 https://<resource-name>.openai.azure.com/openai/v1/し、要求の model フィールドにデプロイ名を渡します。 /openai/v1/ ルートでは暗黙的なバージョン管理が使用されるため、api-versionは渡されません。

次の例では、最新の推論機能をサポートする Responses API を使用します。

Note

Responses API は、Azure OpenAI モデルと、DeepSeek、Llama、Grok モデルなど、それをサポートするAzureによって販売される Foundry モデルと連携します。 デプロイで Responses API がサポートされていない場合、要求は 400 Model not supported返します。 その場合は、代わりに client.chat.completions.create を呼び出して Chat Completions API を使用します。

API キー認証を使用する

Foundry リソースの API キーを使用して推論要求を認証できます。 API キーは簡単に設定できますが、リソースへの完全なアクセス権が付与され、特定のユーザーやアクションにスコープを設定することは困難であり、セキュリティを維持するには手動ローテーションが必要です。 運用環境のワークロードの場合は、代わりにMicrosoft Entra IDでキーレス認証を使用します。

次の例では、deepseek-v3-0324は、Microsoft Foundry リソース内のモデル デプロイの名前です。 これを独自のデプロイ名に置き換え、api キーを AZURE_INFERENCE_CREDENTIAL 環境変数に格納します。

pip を使用して openai パッケージをインストールします。

pip install openai --upgrade

Azure OpenAI v1 エンドポイントを指すクライアントを作成し、応答を生成します。 /openai/v1/ ルートでは暗黙的なバージョン管理が使用されるため、api-versionは渡されません。 model フィールドにデプロイ名を渡します。

import os
from openai import OpenAI

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

response = client.responses.create(
    model="deepseek-v3-0324",  # Replace with your model deployment name.
    input="Explain the Riemann hypothesis in one paragraph.",
)

print(response.output_text)

Azure OpenAI エンドポイントの使用方法の詳細については、OpenAI SDK 言語のサポートAzure参照してください。

キーレス認証を使用する

デプロイされた Foundry モデルでは、Microsoft Entra IDを使用したキーレス承認がサポートされます。 キーレス承認により、セキュリティが強化され、ユーザー エクスペリエンスが簡素化され、運用の複雑さが軽減され、堅牢なコンプライアンス サポートが提供されます。 組織がセキュリティで保護されたスケーラブルな ID 管理ソリューションを使用している場合は、キーレス承認を使用します。

キーレス認証を使用するには、 リソースを構成し、推論を実行するためのアクセス権をユーザーに付与 します。 リソースを構成し、アクセス権を付与したら、次のように認証します。

pip のようなパッケージ マネージャーを使用して OpenAI SDK をインストールします。

pip install openai

Microsoft Entra ID 認証の場合は、次もインストールします。

pip install azure-identity

パッケージを使用してモデルを消費します。 次の例では、Microsoft Entra IDとモデルデプロイを使用して、クライアントを作成し、Responses API のテスト呼び出しを行う方法を示します。

<resource>を Foundry リソース名に置き換えます。 Azure ポータルで、または az cognitiveservices account list を実行して検索します。 deepseek-v3-0324を実際のデプロイ名に置き換えます。

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), 
    "https://ai.azure.com/.default"
)

client = OpenAI(
    base_url="https://<resource>.openai.azure.com/openai/v1/",
    api_key=token_provider,
)

response = client.responses.create(
    model="deepseek-v3-0324",  # Replace with your model deployment name.
    input="What is Azure AI?",
)

print(response.output_text)

予期される出力

Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.

リファレンス: OpenAI Python SDK および DefaultAzureCredential クラス