共用方式為


匯入 Azure OpenAI API

適用於:所有 APIM 階層

本文示範兩個選項,可將 Azure OpenAI 服務 API 匯入 Azure APIM 執行個體做為 REST API:

必要條件

  • 現有的 API 管理執行個體。 若您還沒有執行個體,請加以建立

  • 在所需的 Azure 訂用帳戶中,授與 Azure OpenAI 的存取權。 您可以填妥 https://aka.ms/oai/access 的表單,以申請 Azure OpenAI 的存取權。 如有問題,請在此存放庫中提出問題來與我們連絡。

  • 已部署模型的 Azure OpenAI 資源。 如需模型部署的詳細資訊,請參閱資源部署指南

    記下部署的識別碼 (名稱)。 當您在 APIM 中測試匯入的 API 時,將需要用到它。

  • 要從 APIM 執行個體授與 Azure OpenAI 資源存取權的權限。

選項 1。 從 Azure OpenAI 服務匯入 API

您可以從 Azure OpenAI 服務將 Azure OpenAI API 直接匯入至 APIM。 當您匯入 API 時,APIM 會自動設定:

  • 每個 Azure OpenAI REST API 端點的作業。
  • 系統指派的身分識別,具有存取 Azure OpenAI 資源的必要權限。
  • 將 API 要求導向至 Azure OpenAI 服務端點的後端資源和 set-backend-service 原則。
  • authentication-managed-identity 原則可使用執行個體的系統指派身分識別向 Azure OpenAI 資源進行驗證。
  • (選擇性) 可協助您監視及管理 Azure OpenAI API 所取用權杖的原則。

若要將 Azure OpenAI API 匯入 APIM 中:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。

  2. 在左側功能表 的 [API] 底下,選取 [API]>[+ 新增 API]

  3. 在 [從 Azure 資源建立] 底下,選取 [Azure OpenAI 服務]

    在入口網站中從 Azure OpenAI 服務建立 API 的螢幕擷取畫面。

  4. 在 [基本] 索引標籤上:

    1. 選取您想要匯入的 Azure OpenAI 資源。

    2. 選擇性地選取 Azure OpenAI API 版本。 如果您未選取其中一個,預設會使用最新的生產就緒 REST API 版本。

    3. 輸入 API 的 [顯示名稱] 和選擇性 [描述]

    4. 在 [基底 URL] 中,附加 APIM 執行個體用來存取 Azure OpenAI API 端點的路徑。 如果您啟用 [確定 OpenAI SDK 相容性] (建議),則會將 /openai 自動附加至基底 URL。

      例如,如果您的 APIM 閘道端點是 https://contoso.azure-api.net,請設定類似於 https://contoso.azure-api.net/my-openai-api/openai 的基底 URL

    5. 選擇性地選取一或多個要與 API 建立關聯的產品。 選取 [下一步]。

  5. 在 [原則] 索引標籤上,選擇性地啟用原則來監視及管理 Azure OpenAI API 權杖取用。 如果選取,請輸入設定或接受定義 API 的 azure-openai-token-limitazure-openai-emit-token-metric 原則的預設值。 您也可以稍後設定或更新原則設定。 選取 [檢閱 + 建立] 。

  6. 驗證設定之後,請選取 [建立]

選項 2。 將 OpenAPI 規格匯入 APIM

或者,手動下載 Azure OpenAI REST API 的 OpenAPI 規格,並將其新增至 APIM 做為 OpenAPI API。

下載 OpenAPI 規格

下載 Azure OpenAI REST API 的 OpenAPI 規格,例如 2024-02-01 GA 版本

  1. 在文字編輯器中,開啟您下載的規格檔案。

  2. 在規格的 servers 元素中,以您 Azure OpenAI 資源端點的名稱取代規格中 urldefault 端點的預留位置值。 例如,如果您的 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-02-01

將 OpenAPI 規格匯入 APIM

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。
  2. 在左側功能表中,選取 [API] > [+ 新增 API]
  3. 在 [定義新的 API] 底下,選取 [OpenAPI]。 輸入 API 的 [顯示名稱] 和 [名稱]
  4. 輸入結尾為 /openaiAPI URL 尾碼,以存取 APIM 執行個體中的 Azure OpenAI API 端點。 範例:my-openai-api/openai
  5. 選取 建立

API 會匯入並顯示 OpenAPI 規格中的作業。

設定對 Azure OpenAI API 的驗證

若要向 Azure OpenAI API 進行驗證,您可以提供 API 金鑰或受控識別。 如果您將 Azure OpenAI API 直接匯入 APIM 執行個體中,則會自動設定使用 APIM 執行個體的受控識別進行驗證。

如果您已從其 OpenAPI 規格新增 Azure OpenAI API,則必須設定驗證。 如需使用 APIM 原則設定驗證的詳細資訊,請參閱對 Azure OpenAI API 進行驗證和授權

測試 Azure OpenAI API

若要確保您的 Azure OpenAI API 如預期般運作,請在 API 管理主控台中加以測試。 您必須提供 Azure OpenAI 資源中設定的模型部署識別碼 (名稱) 以測試 API。

  1. 選取您在上一個步驟中建立的 API。

  2. 選取 [測試] 索引標籤。

  3. 選取與您在 Azure OpenAI 資源中所部署模型相容的作業。 頁面會顯示參數和標頭的欄位。

  4. 在 [範本參數] 中,輸入下列值:

    • deployment-id - Azure OpenAI 服務中部署的識別碼
    • api-version - 有效的 Azure OpenAI API 版本,例如您匯入 API 時選取的 API 版本。 在入口網站中測試 Azure OpenAI 服務 API 的螢幕擷取畫面。
  5. 視需要輸入其他參數和標頭。 視作業而定,您可能需要設定或更新要求本文

    注意

    在測試主控台中,API 管理會自動填入 Ocp-Apim-Subscription-Key 標頭,並設定內建所有存取訂用帳戶的訂用帳戶金鑰。 此金鑰可讓您存取 API 管理執行個體中的每個 API。 (選擇性) 選取 [HTTP 要求] 旁的「眼睛」圖示以顯示 Ocp-Apim-Subscription-Key 標頭。

  6. 請選取傳送

    測試成功時,後端會以成功的 HTTP 回應碼和某些資料進行回應。 附加至回應的是權杖使用方式資料,可協助您監視及管理 Azure OpenAI API 耗用量。 入口網站的 API 回應中權杖使用量資料的螢幕擷取畫面。

Azure OpenAI API 的快取原則

除了您可以在匯入 Azure OpenAI 服務 API 時設定的 azure-openai-token-limitazure-openai-emit-token-metric 原則之外,APIM 還提供下列快取原則,可協助您最佳化效能,並減少 Azure OpenAI API 的延遲:

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