次の方法で共有


Azure OpenAI API をインポートする

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

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

前提条件

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

  • 目的の Azure サブスクリプション内の Azure OpenAI に付与されたアクセス権。 Azure OpenAI へのアクセスを申請するには、https://aka.ms/oai/access のフォームに入力してください。 問題がある場合は、このリポジトリで問題をオープンしてお問い合わせください。

  • モデルがデプロイされた Azure OpenAI リソース。 モデル デプロイの詳細については、リソース デプロイ ガイドを参照してください。

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

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

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

Azure OpenAI API は、Azure OpenAI Service から API Management に直接インポートできます。 API をインポートすると、API Management によって自動的に次の構成が行われます。

  • 各 Azure OpenAI REST API エンドポイントの操作。
  • Azure OpenAI リソースにアクセスするために必要なアクセス許可が与えられたシステム割り当て ID。
  • API 要求を Azure OpenAI Service エンドポイントに送信するバックエンド リソースと set-backend-service ポリシー。
  • インスタンスのシステム割り当て ID を使用して Azure OpenAI リソースに対して認証できる authentication-managed-identity ポリシー。
  • (必要に応じて) Azure OpenAI API によるトークン使用量の監視と管理に役立つポリシー。

Azure OpenAI API を API Management にインポートするには、次のようにします。

  1. Azure portal で、API Management インスタンスに移動します。

  2. 左側のメニューの [API] で、[API]>[+ API の追加] を選択します。

  3. [Azure リソースから作成] で、[Azure OpenAI Service] を選択します。

    ポータルで Azure OpenAI Service から API を作成するスクリーンショット。

  4. [基本] タブで、次の操作を行います。

    1. インポートする Azure OpenAI リソースを選択します。

    2. 必要に応じて、Azure OpenAI API のバージョンを選択します。 どれかを選択しないと、運用環境に対応した最新の REST API バージョンが既定で使用されます。

    3. API の表示名と、必要に応じて説明を入力します。

    4. [ベース URL] に、API Management インスタンスから Azure OpenAI API エンドポイントへのアクセスに使用するパスを追加します。 [OpenAI SDK の互換性を確保する] (推奨) を有効にした場合、ベース URL に /openai が自動的に追加されます。

      たとえば、API Management ゲートウェイ エンドポイントが https://contoso.azure-api.net である場合、[ベース URL]https://contoso.azure-api.net/my-openai-api/openai のように設定します。

    5. 必要に応じて、API に関連付ける 1 つ以上の製品を選択します。 [次へ] を選択します。

  5. [ポリシー] タブで、必要に応じて、Azure OpenAI API トークンの使用量を監視および管理するポリシーを有効にします。 選択した場合は、設定を入力するか、API の azure-openai-token-limit および azure-openai-emit-token-metric ポリシーを定義する既定値をそのまま使用します。 後でポリシー構成を設定または更新することもできます。 [確認および作成] を選択します。

  6. 設定が検証されたら、[作成] を選択します。

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

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

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

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

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

  2. 仕様の servers 要素で、Azure OpenAI Service エンドポイント名を仕様の url および default エンドポイントのプレースホルダー値に置き換えます。 たとえば、Azure OpenAI Service エンドポイントが 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-02-01

OpenAPI 仕様を API Management に追加する

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

API は OpenAPI 仕様からインポートされ、操作が表示されます。

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

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

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

Azure OpenAI API をテストする

Azure OpenAI API が期待どおりに動作していることを確認するには、API Management テスト コンソールでテストします。 API をテストするには、Azure OpenAI リソースに構成されているモデル デプロイ ID (名前) を指定する必要があります。

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

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

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

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

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

    Note

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

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

    テストが成功すると、バックエンドは成功した HTTP 応答コードと一部のデータで応答します。 応答に追加されるのは、Azure OpenAI API の使用量を監視および管理するのに役立つトークン使用状況データです。 ポータルでの API 応答のトークン使用状況データのスクリーンショット。

Azure OpenAI API のキャッシュ ポリシー

API Management には、Azure OpenAI Service API のインポート時に構成できる azure-openai-token-limit および azure-openai-emit-token-metric ポリシーに加えて、Azure OpenAI API のパフォーマンスの最適化と待機時間の短縮に役立つ次のキャッシュ ポリシーが用意されています。

  • azure-openai-semantic-cache-store
  • azure-openai-semantic-cache-lookup