Azure AI モデル推論を使用するように AI プロジェクトを構成する
Azure AI Foundry に既に AI プロジェクトがある場合、モデルカタログは、既定でサードパーティ モデル プロバイダーのモデルをスタンドアロン エンドポイントとしてプロジェクトにデプロイします。 各モデル デプロイには、それにアクセスするための独自の URI と資格情報のセットがあります。 一方で、Azure OpenAI モデルは、Azure AI サービス リソースまたは Azure OpenAI Service リソースにデプロイされます。
この動作を変更し、Azure AI モデル推論を使用して両方の種類のモデルを Azure AI サービス リソースにデプロイすることができます。 構成すると、従量課金制に対応したサービスとしてのモデルのデプロイは、(プロジェクト自体ではなく) 接続された Azure AI サービス リソースに対して行われるため、Azure AI Foundry においてデプロイされたすべてのモデルにアクセスするためのエンドポイントと資格情報の 1 つのセットが提供されます。 Azure OpenAI とサード パーティのモデル プロバイダーのモデルを、同じ方法で管理できます。
さらに、Azure AI モデル推論にモデルをデプロイすると、次のような追加の利点があります。
- ルーティング機能。
- カスタム コンテンツ フィルター。
- グローバルな容量のデプロイの種類。
- ロールベースのアクセス制御によるキーレス認証。
この記事では、Azure AI サービスにおいて Azure AI モデル推論内にデプロイされたモデルを使用するようにプロジェクトを構成する方法について説明します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
Azure サブスクリプション。 GitHub モデルを使用している場合は、エクスペリエンスをアップグレードし、プロセスで Azure サブスクリプションを作成できます。 このような場合は、「GitHub モデルから Azure AI サービスの Azure AI モデル推論にアップグレードする」をお読みください。
Azure AI サービス リソース。 詳細については、「Azure AI サービス リソースを作成する」を参照してください。
Azure AI プロジェクトと Azure AI ハブ。
ヒント
AI ハブがプロビジョニングされると、それとともに Azure AI サービス リソースが作成され、それら 2 つのリソースは接続されます。 プロジェクトに接続されている Azure AI サービス リソースを確認するには、Azure AI Foundry ポータル>[管理センター]>[接続されたリソース] に移動して、[AI サービス] の種類の接続を見つけてください。
Azure AI モデル推論を使用するようにプロジェクトを構成する
Azure AI サービスにおいて Azure AI モデル推論機能を使用するようにプロジェクトを構成するには、次の手順に従います。
Azure AI Foundry ポータルに移動します。
上部のナビゲーション バーで、右上隅にあるプレビュー機能アイコンを選択します。 画面の右側にコンテキスト ブレードが表示されます。
[Azure AI モデル推論サービスにモデルをデプロイする] の機能をオンにします。
そのパネルを閉じます。
プロジェクトのランディング ページ内で、プロジェクトに接続されている Azure AI サービス リソースを特定します。 必要に応じて、ドロップダウンを使用して接続されているリソースを変更します。
ドロップダウンの中にリソースが一覧表示されていない場合は、AI ハブに Azure AI サービス リソースが接続されていません。 新しい接続を次のように作成します。
画面の左下隅にある [管理センター] を選択します。
[接続] セクション内で [新しい接続] を選択します。
[Azure AI サービス] を選択します。
ブラウザーで、サブスクリプション内の既存 Azure AI サービス リソースを探します。
[接続の追加] を選択します。
新しい接続がハブに追加されます。
プロジェクトのランディング ページに戻って続行し、ここで新しく作成された接続を選択します。 ページがすぐに表示されない場合は更新してください。
[含まれる機能] の下で、確実に [Azure AI 推論] を選択してください。 [Azure AI モデル推論エンドポイント] の URI が、それにアクセスするための資格情報とともに表示されます。
ヒント
各 Azure AI サービス リソースには 1 つの Azure AI モデル推論エンドポイントがあり、その上にある任意のモデル デプロイにアクセスするために使用できます。 同じエンドポイントが、構成されているものに応じて複数のモデルに対応します。 エンドポイントのしくみを確認してください。
エンドポイントの URL と資格情報をメモしてください。
Azure AI モデル推論においてモデル デプロイを作成する
Azure AI モデル推論にデプロイする各モデルに対して、次の手順に従います。
Azure AI Foundry ポータル内の [モデルカタログ] セクションに移動します。
関心のあるモデルまでスクロールして選択します。
モデル カードでモデルの詳細を確認できます。
[デプロイ] を選択します。
追加の契約条件が必要なモデル プロバイダーの場合は、それらの条件に同意するように求められます。 [サブスクリプションとデプロイ] を選択して、これらのケースの使用条件に同意します。
この時点でデプロイ設定を構成できます。 既定では、デプロイはデプロイするモデルの名前を受け取ります。 デプロイ名は、この特定のモデル デプロイにルーティングする要求の
model
パラメーターで使用されます。 これにより、特定の構成をアタッチする際に、モデルに特定の名前を構成できます。 たとえば、厳密なコンテンツ安全性コンテンツ フィルターを使用するモデルはo1-preview-safe
とします。[Azure AI モデル推論サービスにモデルをデプロイする] の機能を有効にしたため、プロジェクトに応じて Azure AI サービス接続が自動的に選択されます。 [カスタマイズ] オプションを使用し、ニーズに基づいて接続を変更します。 デプロイの種類 [Standard] にデプロイする場合は、Azure AI サービス リソースの Azure リージョン内でそのモデルが提供されている必要があります。
[デプロイ] を選択します。
デプロイが完了すると、そのモデルにアクセスするためのエンドポイント URL と資格情報が表示されます。 ここで、指定された URL と資格情報が Azure AI モデル推論エンドポイント プロジェクトのランディング ページに表示されるものと同じになることに注意してください。
[モデル + エンドポイント] セクションに移動し、AI サービス リソースへの接続のグループを見つけると、そのリソースのもとで使用可能なすべてのモデルを表示できます。
新しいエンドポイントを使用してコードをアップグレードする
Azure AI サービス リソースが構成されたら、コードからそのリソースの使用を開始できます。 エンドポイント URL とそのキーが必要です。これは、[概要] セクションで確認できます。
サポートされている SDK のいずれかを使用して、エンドポイントから予測を取得できます。 次の SDK が正式にサポートされています。
- OpenAI SDK
- Azure OpenAI SDK
- Azure AI 推論パッケージ
- Azure AI Projects パッケージ
詳細と例については、サポートされている言語と SDK のセクションを参照してください。 次の例は、新しくデプロイされたモデルで Azure AI 推論パッケージを使用する方法を示しています。
pip のように、パッケージ マネージャーを使用してパッケージ azure-ai-inference
をインストールします。
pip install azure-ai-inference
その後、パッケージを使用してモデルを使用できます。 次の例では、チャット入力候補を使用してクライアントを作成する方法を示します。
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
サンプルを確認し、API リファレンス ドキュメントを参照して、作業を開始してください。
最初のチャット補完を生成します。
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)
パラメーター model="<deployment-name>
を使用して、要求をこのデプロイにルーティングします。 デプロイは、特定の構成下で特定のモデルのエイリアスとして機能します。 Azure AI サービスがデプロイをルーティングする方法については、ルーティングの概念ページを参照してください。
サーバーレス API エンドポイントから Azure AI モデル推論へ移行する
Azure AI モデル推論を使用するようにプロジェクトを構成しましたが、既存のモデル デプロイはサーバーレス API エンドポイントとしてプロジェクト内に存在し続けます。 それらのデプロイは移行されません。 そのため、以前のモデル デプロイを参照する既存コードを、段階的にアップグレードすることができます。 モデル デプロイの移行を開始するには、次のワークフローをお勧めします。
Azure AI モデル推論においてモデル デプロイを再作成します。 このモデル デプロイには、Azure AI モデル推論エンドポイントからアクセスできます。
新しいエンドポイントを使用するようにコードをアップグレードします。
サーバーレス API エンドポイントを削除して、プロジェクトをクリーンアップします。
新しいエンドポイントを使用してコードをアップグレードする
モデルが Azure AI サービスにデプロイされたら、Azure AI モデル推論エンドポイントを使用するようにコードをアップグレードすることができます。 サーバーレス API エンドポイントと Azure AI モデル推論のしくみの主な違いは、エンドポイント URL とモデル パラメーターにあります。 サーバーレス API エンドポイントでは、各モデル デプロイに対して URI とキーのセットがありますが、Azure AI モデル推論では、すべてに対して 1 セットしかありません。
次の表は、導入する必要がある変更をまとめたものです。
プロパティ | サーバーレス API エンドポイント | Azure AI モデル推論 |
---|---|---|
エンドポイント | https://<endpoint-name>.<region>.inference.ai.azure.com |
https://<ai-resource>.services.ai.azure.com/models |
資格情報 | モデル/エンドポイントごとに 1 つ。 | Azure AI サービス リソースごとに 1 つ。 Microsoft Entra ID も使用できます。 |
モデル パラメーター | なし。 | 必須。 モデル デプロイの名前を使用します。 |
プロジェクトから既存サーバーレス API エンドポイントをクリーンアップする
コードをリファクタリングした後、プロジェクト内の既存サーバーレス API エンドポイント (もしあれば) を削除してください。
サーバーレス API エンドポイントとしてデプロイされた各モデルに対して、次の手順に従います。
Azure AI Foundry ポータルに移動します。
[モデル + エンドポイント] を選択します。
[サーバーレス] のエンドポイントの種類を特定し、削除するものを選択します。
[削除] オプションを選択します。
警告
この操作を元に戻すことはできません。 そのエンドポイントが現在、他のユーザーまたはコードの一部によって使用されていないことを確認してください。
[削除] を選択して操作を確認します。
他のプロジェクトからこのエンドポイントへのサーバーレス API 接続を作成した場合、その接続は削除されず、存在しないエンドポイントを指し続けます。 エラーを回避するために、それらの接続をすべて削除してください。
制限事項
Azure AI モデル推論を使用するようにプロジェクトを構成する場合は、次の制限事項を考慮してください:
- ただし、Azure AI モデル推論へのデプロイに使用できるのは従量課金制 (サービスとしてのモデル) をサポートするモデルのみです。 カスタム モデルを含め、サブスクリプション (マネージド コンピューティング) からのコンピューティング クォータを必要とするモデルは、指定されたプロジェクト内でのみマネージド オンライン エンドポイントとしてデプロイでき、独自のエンドポイント URI と資格情報のセットを使用して引き続きアクセスできます。
- 従量課金制とマネージド コンピューティング オファリングの両方で利用できるモデルは、既定では、Azure AI サービス リソースの Azure AI モデル推論にデプロイされます。 Azure AI Foundry ポータルには、マネージド オンライン エンドポイントにデプロイする方法はありません。 「Azure AI モデル推論を使用するようにプロジェクトを構成する」で説明されている機能をオフにするか、Azure CLI/Azure ML SDK/ARM テンプレートを使用してデプロイを実行する必要があります。
次のステップ
- エンドポイントにさらにモデルを追加します。