Azure AI Model Inference API | Azure Machine Learning
Azure AI Model Inference は、基本モデルの共通の機能セットを公開する API であり、開発者がさまざまなモデルセットからの予測を一定かつ一貫した方法で利用するために使用できます。 開発者は、使用している基になるコードを変更することなく、Azure AI Studio にデプロイされたさまざまなモデルと対話できます。
メリット
言語モデルなどの基本モデルは、近年、実に顕著な進歩を遂げています。 これらの進歩は、自然言語処理やコンピューター ビジョンなど、さまざまな分野に革命をもたらしており、チャットボット、仮想アシスタント、言語翻訳サービスなどのアプリケーションを有効にしています。
基本モデルは特定のドメインに優れていますが、一定の機能セットがありません。 一部のモデルは特定のタスクにより適しており、同じタスク全体であっても、モデルによっては、問題に 1 つの方法でアプローチするものもあれば、別の方法でアプローチするものもあります。 開発者は、以下を可能にするために適切なジョブに適切なモデルを使用し、この多様性の利点を得ることができます。
- 特定のダウンストリーム タスクのパフォーマンスを向上させる。
- より簡単なタスクにより効率的なモデルを使用する。
- 特定のタスクでより迅速に実行できるより小さなモデルを使用する。
- 複数のモデルを作成してインテリジェントなエクスペリエンスを開発する。
基本モデルを統一した方法で利用することで、開発者は移植性を犠牲にしたり、基となるコードを変更したりすることなく、これらすべての利点を実現できます。
可用性
Azure AI Model Inference API は次のモデルで使用できます。
サーバーレス API エンドポイントにデプロイされたモデル:
- Cohere Embed V3 ファミリのモデル
- Cohere Command R ファミリのモデル
- Meta Llama 2 チャット ファミリのモデル
- Meta Llama 3 instruct ファミリのモデル
- Mistral-Small
- Mistral-Large
- Phi-3 ファミリのモデル
この API は、Azure OpenAI モデルのデプロイと互換性があります。
機能
次のセクションでは、この API で公開される機能の一部について説明します。 この API の完全な仕様については、リファレンス セクションを参照してください。
モダリティ
この API は、開発者が次のモダリティに対して予測を使用する方法を示します。
- 情報の取得: エンドポイントの下にデプロイされたモデルに関する情報を返します。
- テキスト埋め込み: 入力テキストを表す埋め込みベクトルを作成します。
- テキスト入力候補: 指定されたプロンプトとパラメーターの入力候補を作成します。
- チャットの入力候補: 指定されたチャット会話のモデル応答を作成します。
- 画像埋め込み: 入力テキストと画像を表す埋め込みベクトルを作成します。
機能拡張
Azure AI Model Inference API では、モデルがサブスクライブできる一連のモダリティとパラメーターが指定されます。 ただし、一部のモデルには、API によって示される機能が追加されている場合があります。 このような場合、この API を使用すると、開発者はそれらをペイロードに追加のパラメーターとして渡すことができます。
ヘッダー extra-parameters: allow
を設定することで、この API は不明なパラメーターを基になるモデルに直接渡そうとします。 モデルでそのパラメーターを処理できる場合、要求は完了します。
次の例は、Azure AI Model Inference API で指定されていない、Mistral-Large でサポートされる safe_prompt
パラメーターを渡す要求を示しています。
Request
POST /chat/completions?api-version=2024-04-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: allow
{
"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: drop
を設定することもできます。 この機能は、モデルではサポートされないことがわかっている追加のパラメーターを使用して要求を送信することになったが、この要求をどうしても完了する必要がある場合に使用します。 この一般的な例では、seed
パラメーターを示しています。
さまざまな機能セットを持つモデル
Azure AI Model Inference API は一般的な機能セットを示しますが、各モデルでそれらを実装するかどうかを決めることができます。 モデルで特定のパラメーターをサポートできない場合は、特定のエラーが返されます。
次の例は、パラメーター reponse_format
を示し、JSON
形式で応答を要求するチャット入力候補要求の応答を示しています。 この例では、モデルでそのような機能はサポートされていないため、エラー 422 がユーザーに返されます。
Request
POST /chat/completions?api-version=2024-04-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 をオンにしてデプロイを使用する場合、入力と出力は、有害なコンテンツの出力を検出して防ぐことを目的とした一連の分類モデルを通過します。 コンテンツ フィルタリング システムは、入力プロンプトと (出力される) 入力候補の両方で、有害な可能性があるコンテンツ特有のカテゴリを検出し、アクションを実行します。
次の例は、コンテンツの安全性をトリガーしたチャット入力候補要求に対する応答を示しています。
Request
POST /chat/completions?api-version=2024-04-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 Model Inference API は現在、サーバーレス API エンドポイントとしてデプロイされたモデルでサポートされています。 サポートされているモデルのいずれかを、新しいサーバーレス API エンドポイントにデプロイして作業を開始します。 その後、次の方法で API を使用できます。
評価を実行するために、またはプロンプト フローを使用して構築する際に、Azure AI Model Inference API を使用できます。 サーバーレス API エンドポイントへのサーバーレス モデル接続を作成し、その予測を使用します。 Azure AI Model Inference API は内部で使用されます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示