エンドポイントにモデルをデプロイする
生成 AI アプリを開発する場合、言語モデルをアプリケーションに統合する必要があります。 言語モデルを使用できるようにするには、モデルをデプロイする必要があります。 まず、モデルをデプロイする理由を理解した上で、Azure AI Foundry で言語モデルをデプロイする方法を見てみましょう。
モデルをデプロイする理由を理解する
従来の機械学習モデルのような言語モデルは、何らかの入力に基づいて出力を生成するように設計されています。 モデルを活用するには、モデルに入力を送信し、モデルがそれを処理したら、出力をどこかで視覚化できるソリューションが必要です。
生成 AI アプリには、ユーザーからの入力 (多くの場合、質問の形式) を想定するチャット アプリケーションがあります。 モデルには、その入力を処理し、チャット アプリケーションを通じてユーザーに送り返すことができる応答を生成することを期待します。 入力データを処理して出力データを生成できる言語モデルを統合するには、モデルをエンドポイントにデプロイする必要があります。
エンドポイントは、デプロイされたモデルまたはサービスにアクセスできる特定の URL です。 それは、ユーザーがモデルに要求を送信し、結果を受け取るためのゲートウェイとして機能します。 通常、各モデル デプロイにはそれに固有のエンドポイントがあり、さまざまなアプリケーションは API (アプリケーション プログラミング インターフェイス) を介してモデルと通信できます。
Azure AI Foundry でモデル カタログから言語モデルをデプロイすると、ターゲット URI (Uniform Resource Identifier) と一意のキーで構成されるエンドポイントが取得されます。 たとえば、デプロイされた GPT-3.5 モデルのターゲット URI は次のようになります。
https://ai-aihubdevdemo.openai.azure.com/openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-03-15-preview
URI は、AI ハブ名とデプロイされたモデル名を含み、モデルで行うことを指定します。 この例の GPT-3.5 モデルは、チャットの入力候補に使われています。
デプロイされたモデルを保護するため、各デプロイにはキーが付属しています。 ユーザーは、認証のためのキーも指定した場合にのみ、ターゲット URI との間での要求の送受信を認可されます。
デプロイされたモデルを使うには、通常、API 呼び出しを行います。 API の呼び出しは、Python や C# などのコード、または Azure AI Foundry や Postman などのツールを使用して行うことができます。 API 呼び出しには、API を使用したモデルのエンドポイントへの要求の送信が含まれます。 要求には、通常、モデルで処理する入力データが含まれます。 その後、モデルはデータを処理して、結果を含む応答を返します。 このようにして、アプリケーションでデプロイされたモデルと対話して、その機能を利用できます。
モデルをデプロイする理由がわかったので、Azure AI Foundry でのデプロイ オプションについて調べてみましょう。
Azure AI Foundry を使用して言語モデルをデプロイする
Azure AI Foundry を使用して言語モデルをデプロイする場合、デプロイするモデルに応じて、いくつかの種類を使用できます。
アクティビティ | Azure OpenAI のモデル | サーバーレス API としてデプロイされたモデル (従量課金制) | マネージド コンピューティングを使用してデプロイされたモデル |
---|---|---|---|
モデルをデプロイする | いいえ。Azure OpenAI モデルをプロジェクトにデプロイしても課金されません。 | はい。エンドポイントの最小インフラストラクチャごとに課金されます。 | はい。モデルをホストするインフラストラクチャに対して課金されます。 |
エンドポイントを呼び出す | はい。トークンの使用量に基づいて課金されます。 | はい。トークンの使用量に基づいて課金されます。 | なし。 |