建立和部署 Azure OpenAI 服務資源

本文說明如何開始使用 Azure OpenAI 服務,並提供建立資源及部署模型的逐步指示。 您可以使用數種不同的方式在 Azure 中建立資源:

  • Azure 入口網站
  • REST API、Azure CLI、PowerShell 或客戶端連結庫
  • Azure Resource Manager (ARM) 範本

在本文中,您會檢閱在 Azure 入口網站 和 Azure CLI 中建立和部署資源的範例。

必要條件

注意

目前,您必須提交應用程式以存取 Azure OpenAI 服務。 若要申請存取權限,請填寫此表單。 如果您需要協助,請在此存放庫上提出問題以連絡 Microsoft。

建立資源

下列步驟示範如何在 Azure 入口網站 中建立 Azure OpenAI 資源。

識別資源

  1. 在 Azure 入口網站 中使用您的 Azure 訂用帳戶登入。

  2. 選取 [建立資源 ],然後搜尋 Azure OpenAI。 當您找到服務時,請選取 [ 建立]。

    顯示如何在 Azure 入口網站 中建立新 Azure OpenAI 服務資源的螢幕快照。

  3. 在 [建立 Azure OpenAI] 頁面上,提供 [基本] 索引標籤上欄位的下列資訊:

    欄位 描述
    訂用帳戶 Azure OpenAI 服務上線應用程式中所使用的 Azure 訂用帳戶。
    資源群組 要包含 Azure OpenAI 資源的 Azure 資源群組。 您可以建立新的群組或使用預先存在的群組。
    區域 實例的位置。 不同的位置可能會造成延遲,但不會影響資源的運行時間可用性。
    名稱 Azure OpenAI 服務資源的描述性名稱,例如 MyOpenAIResource
    定價層 資源的定價層。 目前,只有標準層可供 Azure OpenAI 服務使用。 如需定價的詳細資訊, 請造訪 Azure OpenAI 定價頁面

    顯示如何在 Azure 入口網站 中設定 Azure OpenAI 資源的螢幕快照。

  4. 選取 [下一步]。

設定網路安全性

[網络] 索引標籤提供安全性類型的三個選項:

  • 選項 1: 所有網路,包括因特網,都可以存取此資源。
  • 選項 2: 選取的網路,為您的 Azure AI 服務資源設定網路安全性。
  • 選項3: 已停用,沒有網路可以存取此資源。您可以設定私人端點連線,以獨佔方式存取此資源。

此螢幕快照顯示 Azure 入口網站 中 Azure OpenAI 資源的網路安全性選項。

視您選取的選項而定,您可能需要提供其他資訊。

選項 1:允許所有網路

第一個選項允許所有網路,包括因特網,存取您的資源。 此選項為預設設定。 此選項不需要額外的設定。

選項2:僅允許特定網路

第二個選項可讓您識別可存取資源的特定網路。 當您選取此選項時,頁面會更新以包含下列必要欄位:

欄位 描述
虛擬網路 指定允許存取資源的虛擬網路。 您可以在 Azure 入口網站 中編輯預設的虛擬網路名稱。
子網路 指定允許存取資源的子網。 您可以在 Azure 入口網站 中編輯預設子網名稱。

顯示如何設定 Azure OpenAI 資源網路安全性以僅允許特定網路的螢幕快照。

[防火牆] 區段提供選擇性的 [位址範圍] 字段,可讓您用來設定資源的防火牆設定。

選項3:停用網路存取

第三個選項可讓您停用資源的網路存取。 當您選取此選項時,頁面會更新以包含 私人端點 數據表。

顯示如何在 Azure 入口網站 中停用 Azure OpenAI 資源網路安全性的螢幕快照。

您可以選擇新增私人端點以存取您的資源。 選取 [ 新增私人端點],然後完成端點組態。

確認設定並建立資源

  1. 選取 [ 下一步 ],並視需要為您的資源設定任何 標籤

  2. 選取 [下一步 ] 以移至程序的最後階段: 檢閱 + 提交

  3. 確認您的組態設定,然後選取 [ 建立]。

當有新的資源可用時,Azure 入口網站 會顯示通知。

部署模型

您必須先部署模型,才能產生文字或推斷。 您可以從 Azure OpenAI Studio 中的數個可用模型之一中選取。

若要部署模型,請遵循下列步驟:

  1. 登入 Azure OpenAI Studio

  2. 選擇要使用的訂用帳戶和 Azure OpenAI 資源,然後選取 [ 使用資源]。

  3. 在 [管理] 底下,選取 [部署]。

  4. 選取 [ 建立新的部署 ],然後設定下列欄位:

    欄位 描述
    選取模型 模型供應情形因區域而異 如需每個區域可用的模型清單,請參閱 模型摘要數據表和區域可用性
    部署名稱 請仔細選擇名稱。 部署名稱會用於您的程式代碼中,以使用用戶端連結庫和 REST API 來呼叫模型。
    進階選項 (選擇性) 您可以視需要為資源設定選擇性的進階設定。
    - 針對內容 篩選,將內容篩選指派給您的部署。
    - 針對每 分鐘令牌速率限制,調整每分鐘令牌 (TPM) 以設定部署的有效速率限制。 您可以使用 [配額] 功能表,隨時修改此值。 動態配額 可讓您在有額外的容量可用時利用更多配額。
  5. 從下拉式清單中選取模型。

  6. 輸入部署名稱以識別模型。

    重要

    當您透過 API 存取模型時,您必須參考部署名稱,而不是 API 呼叫中的基礎模型名稱,這是 OpenAI 與 Azure OpenAI 之間的其中一個主要 差異 。 OpenAI 只需要模型名稱。 即使使用模型參數,Azure OpenAI 一律需要部署名稱。 在我們的檔中,我們通常會有一些範例,其中部署名稱會表示為與模型名稱相同,以協助指出哪個模型適用於特定 API 端點。 您的部署名稱最終可以遵循最適合使用案例的任何命名慣例。

  7. 針對您的第一個部署,將 [ 進階] 選項 保留為預設值。

  8. 選取 建立

部署數據表會顯示對應至新建立模型的新專案。

部署完成時,您的模型部署狀態會變更為 成功

必要條件

注意

目前,您必須提交應用程式以存取 Azure OpenAI 服務。 若要申請存取權限,請填寫此表單。 如果您需要協助,請在此存放庫上提出問題以連絡 Microsoft。

登入 Azure CLI

登入 Azure CLI,或在下列步驟中選取 [開啟 Cloudshell]。

建立 Azure 資源群組

若要建立 Azure OpenAI 資源,您需要 Azure 資源群組。 當您透過 Azure CLI 建立新的資源時,您也可以建立新的資源群組,或指示 Azure 使用現有的群組。 下列範例示範如何使用 az group create 命令建立名為 OAIResourceGroup的新資源群組。 資源群組會在美國東部位置建立。

az group create \
--name OAIResourceGroup \
--location eastus

建立資源

使用 az cognitiveservices account create 命令在資源群組中建立 Azure OpenAI 資源。 在下列範例中,您會在 OAIResourceGroup 資源群組中建立名為 MyOpenAIResource 的資源。 當您嘗試此範例時,請更新程式代碼,以使用資源群組和資源名稱所需的值,以及您的 Azure 訂用帳戶標識碼 <訂用帳戶標識碼>

az cognitiveservices account create \
--name MyOpenAIResource \
--resource-group OAIResourceGroup \
--location eastus \
--kind OpenAI \
--sku s0 \
--subscription <subscriptionID>

擷取資源的相關信息

建立資源之後,您可以使用不同的命令來尋找 Azure OpenAI 服務實例的實用資訊。 下列範例示範如何擷取 REST API 端點基底 URL 和新資源的存取密鑰。

取得端點 URL

使用 az cognitiveservices account show 命令來擷取資源的 REST API 端點基底 URL。 在此範例中,我們會透過 jq JSON 處理器將命令輸出導向,以找出 .properties.endpoint 值。

當您嘗試此範例時,請更新程序代碼,以使用資源群組 myResourceGroupName> 和資源 <myResourceName> 的值。<

az cognitiveservices account show \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .properties.endpoint

取得主要 API 金鑰

若要擷取資源的存取密鑰,請使用 az cognitiveservices account keys list 命令。 在此範例中,我們會透過 jq JSON 處理器將命令輸出導向,以找出 .key1 值。

當您嘗試此範例時,請更新程序代碼,以使用資源群組和資源的值。

az cognitiveservices account keys list \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .key1

部署模型

若要部署模型,請使用 az cognitiveservices account deployment create 命令。 在下列範例中,您會部署模型的實例 text-embedding-ada-002 ,並將其命名 為 MyModel。 當您嘗試此範例時,請更新程序代碼,以使用資源群組和資源的值。 您不需要變更 model-versionmodel-formatsku-capacitysku-name 值。

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel \
--model-name text-embedding-ada-002 \
--model-version "1"  \
--model-format OpenAI \
--sku-capacity "1" \
--sku-name "Standard"

重要

當您透過 API 存取模型時,您必須參考部署名稱,而不是 API 呼叫中的基礎模型名稱,這是 OpenAI 與 Azure OpenAI 之間的其中一個主要 差異 。 OpenAI 只需要模型名稱。 即使使用模型參數,Azure OpenAI 一律需要部署名稱。 在我們的檔中,我們通常會有一些範例,其中部署名稱會表示為與模型名稱相同,以協助指出哪個模型適用於特定 API 端點。 您的部署名稱最終可以遵循最適合使用案例的任何命名慣例。

從您的資源刪除模型

您可以使用 az cognitiveservices account deployment delete 命令,刪除從資源部署的任何模型。 在下列範例中,您會刪除名為 MyModel 的模型。 當您嘗試此範例時,請更新程序代碼,以使用資源群組、資源和已部署模型的值。

az cognitiveservices account deployment delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel

刪除資源

如果您想要在這些練習之後清除,您可以透過 Azure CLI 刪除資源來移除 Azure OpenAI 資源。 您也可以刪除資源群組。 如果您選擇刪除資源群組,也會刪除群組中包含的所有資源。

若要移除資源群組及其相關聯的資源,請使用 az cognitiveservices account delete 命令。

如果您不打算繼續使用這些練習中建立的資源,請執行下列命令來刪除您的資源群組。 請務必更新範例程序代碼,以使用資源群組和資源的值。

az cognitiveservices account delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName>

必要條件

注意

目前,您必須提交應用程式以存取 Azure OpenAI 服務。 若要申請存取權限,請填寫此表單。 如果您需要協助,請在此存放庫上提出問題以連絡 Microsoft。

登入 Azure PowerShell

登入 Azure PowerShell,或在下列步驟中選取 [開啟 Cloudshell]。

建立 Azure 資源群組

若要建立 Azure OpenAI 資源,您需要 Azure 資源群組。 當您透過 Azure PowerShell 建立新的資源時,您也可以建立新的資源群組,或指示 Azure 使用現有的群組。 下列範例示範如何使用 New-AzResourceGroup 命令建立名為 OAIResourceGroup 的新資源群組。 資源群組會在美國東部位置建立。

New-AzResourceGroup -Name OAIResourceGroup -Location eastus

建立資源

使用 New-AzCognitiveServicesAccount 命令在資源群組中建立 Azure OpenAI 資源。 在下列範例中,您會在 OAIResourceGroup 資源群組中建立名為 MyOpenAIResource 的資源。 當您嘗試此範例時,請更新程式代碼,以使用資源群組和資源名稱所需的值,以及您的 Azure 訂用帳戶標識碼 <訂用帳戶標識碼>

New-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource -Type OpenAI -SkuName S0 -Location eastus

擷取資源的相關信息

建立資源之後,您可以使用不同的命令來尋找 Azure OpenAI 服務實例的實用資訊。 下列範例示範如何擷取 REST API 端點基底 URL 和新資源的存取密鑰。

取得端點 URL

使用 Get-AzCognitiveServicesAccount 命令來擷取資源的 REST API 端點基底 URL。 在此範例中,我們會透過 Select-Object Cmdlet 將命令輸出導向,以找出 endpoint 值。

當您嘗試此範例時,請更新程序代碼,以使用資源群組 <myResourceGroupName> 和資源 <myResourceName>的值。

Get-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource |
  Select-Object -Property endpoint

取得主要 API 金鑰

若要擷取資源的存取密鑰,請使用 Get-AzCognitiveServicesAccountKey 命令。 在此範例中,我們會透過 Select-Object Cmdlet 將命令輸出導向,以找出 Key1 值。

當您嘗試此範例時,請更新程序代碼,以使用資源群組和資源的值。

Get-AzCognitiveServicesAccountKey -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup |
  Select-Object -Property Key1

部署模型

若要部署模型,請使用 New-AzCognitiveServicesAccountDeployment 命令。 在下列範例中,您會部署模型的實例 text-embedding-ada-002 ,並將其命名 為 MyModel。 當您嘗試此範例時,請更新程序代碼,以使用資源群組和資源的值。 您不需要變更 model-versionmodel-formatsku-capacitysku-name 值。

$model = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentModel' -Property @{
    Name = 'text-embedding-ada-002'
    Version = '2'
    Format = 'OpenAI'
}

$properties = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentProperties' -Property @{
    Model = $model
}

$sku = New-Object -TypeName "Microsoft.Azure.Management.CognitiveServices.Models.Sku" -Property @{
    Name = 'Standard'
    Capacity = '1'
}

New-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel -Properties $properties -Sku $sku

重要

當您透過 API 存取模型時,您必須參考部署名稱,而不是 API 呼叫中的基礎模型名稱,這是 OpenAI 與 Azure OpenAI 之間的其中一個主要 差異 。 OpenAI 只需要模型名稱。 即使使用模型參數,Azure OpenAI 一律需要部署名稱。 在我們的檔中,我們通常會有一些範例,其中部署名稱會表示為與模型名稱相同,以協助指出哪個模型適用於特定 API 端點。 您的部署名稱最終可以遵循最適合使用案例的任何命名慣例。

從您的資源刪除模型

您可以使用 Remove-AzCognitiveServicesAccountDeployment 命令,刪除從資源部署的任何模型。 在下列範例中,您會刪除名為 MyModel 的模型。 當您嘗試此範例時,請更新程序代碼,以使用資源群組、資源和已部署模型的值。

Remove-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel

刪除資源

如果您想要在這些練習之後清除,您可以透過 Azure PowerShell 刪除資源來移除 Azure OpenAI 資源。 您也可以刪除資源群組。 如果您選擇刪除資源群組,也會刪除群組中包含的所有資源。

若要移除資源群組及其相關聯的資源,請使用 Remove-AzCognitiveServicesAccount 命令。

如果您不打算繼續使用這些練習中建立的資源,請執行下列命令來刪除您的資源群組。 請務必更新範例程序代碼,以使用資源群組和資源的值。

Remove-AzCognitiveServicesAccount -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup

下一步