Azure AI モデル推論 REST API リファレンス
Azure AI モデル推論は、基本モデルの共通の機能セットを公開する API であり、開発者がさまざまなモデルセットからの予測を均一かつ一貫した方法で使用するために使用できます。 開発者は、使用している基になるコードを変更することなく、Azure AI Foundry ポータルにデプロイされたさまざまなモデルと対話できます。
利点
言語モデルなどの基本モデルは、近年顕著な進歩を遂げています。 これらの進歩は、自然言語処理やコンピューター ビジョンなど、さまざまな分野に革命を起こしており、チャットボット、仮想アシスタント、言語翻訳サービスなどのアプリケーションを有効にしています。
基本モデルは特定のドメインに優れていますが、一定の機能セットがありません。 一部のモデルは特定のタスクに適しており、同じタスク全体であっても、一部のモデルは問題に一方向にアプローチし、別のモデルでは問題に近づく可能性があります。 開発者は、適切なジョブに適切なモデルを使用 、この多様性の恩恵を受けることができます。
- 特定のダウンストリーム タスクのパフォーマンスを向上させます。
- より簡単なタスクには、より効率的なモデルを使用します。
- 特定のタスクで高速に実行できる小さなモデルを使用します。
- 複数のモデルを作成してインテリジェントなエクスペリエンスを開発します。
基本モデルを一貫した方法で使用することで、開発者は移植性を犠牲にしたり、基になるコードを変更したりすることなく、これらすべての利点を実現できます。
推論 SDK のサポート
Azure AI 推論パッケージを使用すると、Azure AI モデル推論 API をサポートするすべてのモデルを使用して、それらの間で簡単に変更できます。 Azure AI 推論パッケージは、Azure AI Foundry SDK の一部です。
言語 | ドキュメンテーション | パッケージ | 例 |
---|---|---|---|
C# | リファレンス | azure-ai-inference (NuGet) を する | C# の例 |
ジャワ | リファレンス | azure-ai-inference (Maven) を する | Java の例 |
JavaScript | リファレンス | @azure/ai-inference (npm) | JavaScript の例 |
ニシキヘビ | リファレンス | azure-ai-inference (PyPi) の | Python の例 |
資格
次のセクションでは、API によって公開される機能の一部について説明します。
モダリティ
この API は、開発者が次のモダリティに対して予測を使用する方法を示します。
- 情報の取得: エンドポイントの下にデプロイされたモデルに関する情報を返します。
- テキスト埋め込み: 入力テキストを表す埋め込みベクターを作成します。
- チャットの完了: 指定されたチャット会話のモデル応答を作成します。
- 画像埋め込み: 入力テキストと画像を表す埋め込みベクターを作成します。
拡張性
Azure AI モデル推論 API は、モデルがサブスクライブできる一連のモダリティとパラメーターを指定します。 ただし、一部のモデルには、API によって示される機能が追加されている場合があります。 このような場合、API を使用すると、開発者はそれらをペイロードに追加のパラメーターとして渡すことができます。
ヘッダー extra-parameters: pass-through
設定すると、API は不明なパラメーターを基になるモデルに直接渡そうとします。 モデルがそのパラメーターを処理できる場合、要求は完了します。
次の例は、Azure AI モデル推論 API で指定されていない、Mistral-Large でサポート safe_prompt
パラメーターを渡す要求を示しています。
要求
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: pass-through
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" },
"safe_prompt": true
}
手記
extra-parameters
の既定値は error
であり、ペイロードに追加のパラメーターが指定された場合にエラーが返されます。 または、extra-parameters: drop
を設定して、要求内の不明なパラメーターを削除することもできます。 この機能は、モデルではサポートされないことがわかっているが、要求を完了する必要がある追加のパラメーターを使用して要求を送信する場合に使用します。 この一般的な例は、パラメーター seed
示しています。
さまざまな機能セットを持つモデル
Azure AI モデル推論 API は、一般的な一連の機能を示しますが、各モデルで実装するかどうかは決めることができます。 モデルが特定のパラメーターをサポートできない場合は、特定のエラーが返されます。
次の例は、パラメーター reponse_format
を示し、JSON
形式で応答を要求するチャット完了要求の応答を示しています。 この例では、モデルはそのような機能をサポートしていないため、エラー 422 がユーザーに返されます。
要求
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "json_object" },
}
応答
{
"status": 422,
"code": "parameter_not_supported",
"detail": {
"loc": [ "body", "response_format" ],
"input": "json_object"
},
"message": "One of the parameters contain invalid values."
}
先端
プロパティ details.loc
を調べて、問題のあるパラメーターの場所を理解し、details.input
して要求で渡された値を確認できます。
コンテンツの安全性
Azure AI モデル推論 API では、Azure AI Content Safety がサポートされます。 Azure AI Content Safety をオンにしてデプロイを使用する場合、入力と出力は、有害なコンテンツの出力の検出と防止を目的とした分類モデルのアンサンブルを通過します。 コンテンツ フィルタリング (プレビュー) システムは、入力プロンプトと出力入力候補の両方で、有害な可能性があるコンテンツの特定のカテゴリを検出し、アクションを実行します。
次の例は、コンテンツの安全性をトリガーしたチャット完了要求の応答を示しています。
要求
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
}
],
"temperature": 0,
"top_p": 1,
}
応答
{
"status": 400,
"code": "content_filter",
"message": "The response was filtered",
"param": "messages",
"type": null
}
はじめ
Azure AI モデル推論 API は、Azure AI Services リソースで使用できます。 Azure サブスクリプションで、Azure AI モデル推論 またはサービスのインスタンス用にリソースを作成して構成他の Azure 製品と同じ方法で開始できます。 要件が異なる複数のチームがある場合は、必要な数のリソースを作成し、個別に構成できます。
Azure AI Services リソースを作成したら、API 呼び出しを開始する前にモデルをデプロイする必要があります。 既定では、モデルは使用できないため、どのモデルから開始するかを制御できます。 Azure AI モデル推論 で最初のモデル デプロイを作成するチュートリアルを参照してください。