次の方法で共有


Azure AI モデル推論エンドポイントを使用する

Azure AI サービスの Azure AI 推論サービスを使用すると、お客様が、1 つのエンドポイントと資格情報を使用して、フラグシップ モデル プロバイダーから最も強力なモデルを実行できるようになります。 つまり、1 行のコードも変更することなく、モデルを切り替えてお使いのアプリケーションから実行できます。

この記事では、サービス内でモデルを編成する方法と、推論エンドポイントを使用してそれらを呼び出す方法について説明します。

デプロイ

Azure AI モデル推論サービスでは、デプロイの概念を使用してモデルを使用できるようになります。 デプロイでは、特定の構成でモデルに名前を付けることができます。 その後、要求でその名前を示すことで、このようなモデル構成を呼び出すことができます。

デプロイでは以下がキャプチャされます。

  • モデル名
  • モデル バージョン
  • プロビジョニング/容量の種類1
  • コンテンツ フィルタリングの構成1
  • レート制限の構成1

1 構成は、選択したモデルによって異なる場合があります。

Azure AI サービス リソースには必要な数のモデル デプロイを含めることができます。また、それらのモデルに対して推論が実行されない限り、コストは発生しません。 デプロイは Azure リソースであるため、Azure ポリシーの対象となります。

デプロイの作成方法の詳細については、モデル デプロイの追加と構成に関する記事を参照してください。

Azure AI 推論エンドポイント

Azure AI 推論エンドポイントを使用すると、お客様が、同じ認証とスキーマによる 1 つのエンドポイントを使用して、リソースにデプロイされたモデルの推論を生成できるようになります。 このエンドポイントは、Azure AI モデル推論サービスのすべてのモデルでサポートされている Azure AI モデル推論 API に従います。

エンドポイントの URL と資格情報は、[概要] セクションで確認できます。 エンドポイントには通常、https://<resource-name>.services.ai.azure.com/models の形式が含まれます。

リソースに関連付けられている URL とキーの取得方法を示すスクリーンショット。

以下のように Azure AI 推論 SDK を使用してエンドポイントに接続できます。

pip のように、パッケージ マネージャーを使用してパッケージ azure-ai-inference をインストールします。

pip install azure-ai-inference>=1.0.0b5

警告

Azure AI サービス リソースには、Python のバージョン azure-ai-inference>=1.0.0b5 が必要です。

その後、パッケージを使用してモデルを使用できます。 次の例では、チャット入力候補を使用してクライアントを作成する方法を示します。

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZUREAI_ENDPOINT_URL"],
    credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)

サンプルを確認し、API リファレンス ドキュメントを参照して、作業を開始してください。

その他のコード例とリソースについては、「サポートされている言語と SDK」を参照してください。

ルーティング

推論エンドポイントは、要求の内部の name パラメーターをデプロイの名前と照合することで、要求を特定のデプロイにルーティングします。 つまり、"デプロイは、特定の構成下で特定のモデルのエイリアスとして機能する" ということです。 この柔軟性により、特定のモデルをサービスで複数回デプロイできますが、必要に応じて異なる構成でデプロイできます。

ペイロード要求内のパラメーター 'model' にそのような名前が示されている、Meta-llama-3.2-8b-instruct モデルのルーティングのしくみを示す図。

たとえば、Mistral-large という名前のデプロイを作成した場合、そのようなデプロイを次のようにして呼び出すことができます。

from azure.ai.inference.models import SystemMessage, UserMessage

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
    ],
    model="mistral-large"
)

print(response.choices[0].message.content)

ヒント

デプロイのルーティングでは、大文字と小文字は区別されません。

サポートされている言語と SDK

Azure AI モデル推論サービスにデプロイされているすべてのモデルが、Azure AI モデル推論 API とそれに関連する SDK ファミリをサポートします。これは、次の言語で利用できます。

Language ドキュメント パッケージ
C# リファレンス azure-ai-inference (NuGet) C# のサンプル
Java リファレンス azure-ai-inference (Maven) Java のサンプル
JavaScript リファレンス @azure/ai-inference (npm) JavaScript のサンプル
Python リファレンス azure-ai-inference (PyPi) Python のサンプル

Azure OpenAI 推論エンドポイント

Azure OpenAI モデルでは、Azure OpenAI API もサポートされています。 この API は、OpenAI モデルのすべての機能を公開し、アシスタント、スレッド、ファイル、バッチ推論などの追加機能をサポートします。

OpenAI モデル デプロイにはそれぞれ、Azure OpenAI 推論エンドポイントの下に、そのようなデプロイに関連付けられた独自の URL があります。 ただし、同じ認証メカニズムを使用して実行できます。 通常、URLは https://<resource-name>.openai.azure.com/openai/deployments/<model-deployment-name> という形式になります。 詳細については、Azure OpenAI API のリファレンス ページを参照してください

Azure OpenAI デプロイにどのように各デプロイの 1 つの URL が含まれているのかを示す図。

各デプロイには、Azure OpenAI のベース URL とルート /deployments/<model-deployment-name> を連結した URL があります。

重要

各 URL はそれぞれのモデル デプロイ専用であるため、Azure OpenAI エンドポイントのルーティング メカニズムはありません。

サポートされている言語と SDK

Azure OpenAI エンドポイントは、OpenAI SDK (AzureOpenAI クラス) および Azure OpenAI SDK でサポートされています。これは次の複数の言語で利用できます。

Language ソース コード Package
C# ソース コード Azure.AI.OpenAI (NuGet) C# のサンプル
Go ソース コード azopenai (Go) Go のサンプル
Java ソース コード azure-ai-openai (Maven) Java のサンプル
JavaScript ソース コード @azure/openai (npm) JavaScript のサンプル
Python ソース コード openai (PyPi) Python のサンプル

次のステップ