次の方法で共有


Azure OpenAI API をインポートする

適用対象: すべての API Management レベル

Foundry Models の Azure OpenAI にデプロイされた AI モデル エンドポイントを、REST API として API Management インスタンスにインポートできます。 API Management で AI ゲートウェイ ポリシーやその他の機能を使用して、統合を簡素化し、監視性を向上させ、モデル エンドポイントの制御を強化します。

この記事では、Azure OpenAI API を REST API として Azure API Management インスタンスにインポートする 2 つのオプションを示します。

API Management での LLM API の管理の詳細については、以下を参照してください。

前提条件

  • 既存の API Management インスタンスがある。 まだない場合は、作成してください

  • (Microsoft Foundry からのインポートの場合)Azure OpenAI モデルがデプロイされた Microsoft Foundry プロジェクト。 Azure OpenAI でのモデルデプロイの詳細については、 リソース デプロイ ガイドを参照してください。

    デプロイの ID (名前) を書き留めておきます。 API Management でインポートされた API をテストするときに必要になります。

  • API Management インスタンスから Azure OpenAI リソースへのアクセス権を付与するアクセス許可。

オプション 1. Microsoft Foundry から OpenAI API をインポートする

Azure OpenAI モデルのデプロイは、Microsoft Foundry から API Management に直接インポートできます。 詳細については、「 Microsoft Foundry API のインポート」を参照してください。

API をインポートする場合:

  • Azure OpenAI モデルのデプロイをホストする Microsoft Foundry サービスを指定します。
  • Azure OpenAI クライアント互換性オプションを指定します。 このオプションでは、 /openai エンドポイントを使用して API Management API を構成します。

オプション 2. OpenAPI 仕様を API Management に追加する

または、Azure OpenAI REST API の OpenAPI 仕様を手動でダウンロードし、OpenAPI API として API Management に追加します。

OpenAPI の仕様をダウンロードする

2024-10-21 GA バージョンなど、Azure OpenAI REST API の OpenAPI 仕様をダウンロードします。

  1. テキスト エディターで、ダウンロードした仕様ファイルを開きます。

  2. 仕様の servers 要素で、azure OpenAI エンドポイントの名前を、 url エンドポイントと default エンドポイントのプレースホルダー値に置き換えます。 たとえば、Azure OpenAI エンドポイントが contoso.openai.azure.comされている場合は、 servers 要素を次の値で更新します。

    • url: https://contoso.openai.azure.com/openai
    • 既定の エンドポイント: contoso.openai.azure.com
    [...]
    "servers": [
        {
          "url": "https://contoso.openai.azure.com/openai",
          "variables": {
            "endpoint": {
              "default": "contoso.openai.azure.com"
            }
          }
        }
      ],
    [...]
    
  3. 仕様の API version の値を書き留めておきます。 API をテストするために必要です。 例: 2024-10-21

OpenAPI 仕様を API Management に追加する

  1. Azure portal で、API Management インスタンスに移動します。
  2. 左側のメニューで、[API]>[+ API の追加] を選択します。
  3. [新しい API の定義] で、[OpenAPI] を選択します。 API の [表示名][名前] を入力します。
  4. API Management インスタンス内の Azure OpenAI API エンドポイントにアクセスするために、 で終わる /openaiを入力します。 たとえば、 my-openai-api/openaiと指定します。
  5. [作成] を選択します

API Management は API をインポートし、OpenAPI 仕様からの操作を表示します。

Azure OpenAI API への認証を構成する

Azure OpenAI API に対して認証するには、API キーを指定するか、マネージド ID を使用します。 Microsoft Foundry から直接 Azure OpenAI API をインポートした場合、API Management インスタンスのマネージド ID を使用した認証が自動的に構成されます。

OpenAPI 仕様から Azure OpenAI API を追加した場合は、認証を構成する必要があります。 API Management ポリシーを使用した認証の構成の詳細については、「 LLM API の認証と承認」を参照してください。

Azure OpenAI API をテストする

Azure OpenAI API が期待どおりに動作することを確認するには、API Management テスト コンソールでテストします。 Microsoft Foundry プロジェクト リソースで構成したモデル デプロイ ID (名前) と、API をテストするための API バージョンを指定する必要があります。

  1. 前の手順で作成した API を選びます。

  2. [テスト] タブを選びます。

  3. Azure OpenAI リソースにデプロイしたモデルと互換性のある操作を選択します。 ページにパラメーターとヘッダーのフィールドが表示されます。

  4. [テンプレート パラメーター] に、次の値を入力します。

    • deployment-id - Microsoft Foundry での Azure OpenAI モデル デプロイの ID
    • api-version - API をインポートしたときに選択した API バージョンなど、有効な Azure OpenAI API バージョン。 ポータルでの Azure OpenAI API のテストのスクリーンショット。
  5. 必要に応じて、他のパラメーターとヘッダーを入力します。 操作とモデルによっては、 要求本文の構成または更新が必要になる場合があります。 たとえば、チャット完了操作の基本的な要求本文を次に示します。

    {
      "model": "any",
      "messages": [
        {
          "role": "user",
          "content": "Help me plan a vacation trip to Paris."
        }
      ],
      "max_tokens": 100
    }
    

    テスト コンソールで、API Management によって Ocp-Apim-Subscription-Key ヘッダーが自動的に追加され、組み込みの オール アクセス サブスクリプションのサブスクリプション キーが設定されます。 このキーを使用すると、API Management インスタンス内のすべての API にアクセスできます。 必要に応じて 、Ocp-Apim-Subscription-Key ヘッダーを表示するには、 HTTP 要求の横にある "目" アイコンを選択します。

  6. [Send] を選択します。

    テストが成功すると、バックエンドは成功した HTTP 応答コードといくつかのデータで応答します。 応答には、Azure OpenAI API トークンの使用量を監視および管理するのに役立つトークン使用状況データが含まれます。

    ポータルでの API 応答のトークン使用状況データのスクリーンショット。