次の方法で共有


Azure AI Model Inference API | Azure Machine Learning

Azure AI Model Inference は、基本モデルの共通の機能セットを公開する API であり、開発者がさまざまなモデルセットからの予測を一定かつ一貫した方法で利用するために使用できます。 開発者は、使用している基になるコードを変更することなく、Azure AI Studio にデプロイされたさまざまなモデルと対話できます。

メリット

言語モデルなどの基本モデルは、近年、実に顕著な進歩を遂げています。 これらの進歩は、自然言語処理やコンピューター ビジョンなど、さまざまな分野に革命をもたらしており、チャットボット、仮想アシスタント、言語翻訳サービスなどのアプリケーションを有効にしています。

基本モデルは特定のドメインに優れていますが、一定の機能セットがありません。 一部のモデルは特定のタスクにより適しており、同じタスク全体であっても、モデルによっては、問題に 1 つの方法でアプローチするものもあれば、別の方法でアプローチするものもあります。 開発者は、以下を可能にするために適切なジョブに適切なモデルを使用し、この多様性の利点を得ることができます。

  • 特定のダウンストリーム タスクのパフォーマンスを向上させる。
  • より簡単なタスクにより効率的なモデルを使用する。
  • 特定のタスクでより迅速に実行できるより小さなモデルを使用する。
  • 複数のモデルを作成してインテリジェントなエクスペリエンスを開発する。

基本モデルを統一した方法で利用することで、開発者は移植性を犠牲にしたり、基となるコードを変更したりすることなく、これらすべての利点を実現できます。

可用性

Azure AI Model Inference API は次のモデルで使用できます。

サーバーレス API エンドポイントにデプロイされたモデル:

この 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 は内部で使用されます。