共用方式為


安裝並執行具名實體辨識容器

容器可讓您在自己的基礎結構上裝載具名實體辨識 API。 如果您的安全性或資料控管需求無法藉由從遠端呼叫具名實體辨識來滿足,則容器可能是不錯的選擇。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

使用具名實體辨識辨識器容器之前,您必須符合下列必要條件。

  • 如果您沒有 Azure 訂閱,請建立免費帳戶
  • 主機電腦上已安裝了 Docker。 Docker 必須設定為允許容器與 Azure 連線,以及傳送帳單資料至 Azure。
    • 在 Windows 上,也必須將 Docker 設定為支援 Linux 容器。
    • 您應該對 Docker 概念有基本的了解。
  • 語言資源

收集必要參數

所有 Azure AI 容器都需要三個主要參數。 Microsoft 軟體授權條款必須具有「接受」值。 也需要端點 URI 和 API 金鑰。

端點 URI

{ENDPOINT_URI} 值可在相對應 Azure AI 服務資源的 Azure 入口網站 [概觀] 頁面上取得。 移至 [概觀] 頁面,並將滑鼠停留在端點上方,然後會出現 [複製至剪貼簿] 圖示。 複製端點,並將其用在需要之處。

顯示收集端點 URI 供稍後使用的螢幕擷取畫面。

索引鍵

{API_KEY} 值可用來啟動容器,並可在相對應 Azure AI 服務資源的 Azure 入口網站 [金鑰] 頁面上取得。 移至 [金鑰] 頁面,然後選取 [複製至剪貼簿] 圖示。

顯示取得兩個金鑰之一供稍後使用的螢幕擷取畫面。

重要

這些訂用帳戶金鑰可用於存取 Azure AI 服務 API。 請不要共用您的金鑰。 安全地儲存金鑰。 例如,使用 Azure Key Vault。 我們也建議您定期重新產生這些金鑰。 呼叫 API 只需一把金鑰。 重新產生第一個金鑰時,您可以使用第二個金鑰繼續存取服務。

主機電腦的需求和建議

主機是執行 Docker 容器的 x64 型電腦。 它可以是您內部部署的電腦,或是在 Azure 中裝載服務的 Docker,例如:

下表描述可用容器的最低和建議規格。 每個 CPU 核心都必須是至少 2.6 GHz 或更快。

建議搭配 AVX-512 指令集使用 CPU,以獲得最佳體驗 (效能和正確性)。

最低主機規格 建議的主機規格
具名實體辨識 1 核心,2GB 記憶體 4 核心,8GB 記憶體

CPU 核心和記憶體會對應至 --cpus--memory 設定,以作為 docker run 命令的一部分使用。

使用 docker pull 取得容器映像

您可以在 mcr.microsoft.com 容器登錄聯盟上找到具名實體辨識容器映像。 其位於 azure-cognitive-services/textanalytics/ 存放庫內,並命名為 ner。 完整的容器映像名稱為 mcr.microsoft.com/azure-cognitive-services/textanalytics/ner

若要使用最新版本的容器,您可以使用 latest 標籤 (適用於英文)。 您也可以使用 MCR 上的標籤,找到支援語言的完整容器清單。

最新的具名實體辨識容器提供數種語言。 若要下載英文容器的容器,請使用下列命令。

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/ner:latest

提示

您可以使用 docker images \(英文\) 命令來列出已下載的容器映像。 例如,下列命令會列出每個已下載之容器映像的識別碼、存放庫和標籤,並將它格式化為表格:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

透過 docker run 執行容器

一旦容器位於主機電腦後,請使用 docker run 命令執行容器。 容器會繼續執行,直到您將其停止為止。 請將下列預留位置取代為您自己的值:

重要

  • 以下幾節的 Docker 命令會使用反斜線 \ 作為行接續字元。 請根據您主機作業系統的需求加以替換或移除。
  • 必須指定 EulaBillingApiKey 選項以執行容器,否則容器將不會啟動。 如需詳細資訊,請參閱帳單

若要執行具名實體辨識容器,請執行下列 docker run 命令。 請將下列預留位置取代為您自己的值:

預留位置 格式或範例
{API_KEY} 語言資源的金鑰。 在 Azure 入口網站上,您可以在資源的 [金鑰和端點] 頁面上找到金鑰。 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} 用來存取 API 的端點。 在 Azure 入口網站上,您可以在資源的 [金鑰和端點] 頁面上找到金鑰。 https://<your-custom-subdomain>.cognitiveservices.azure.com
{IMAGE_TAG} 影像標記,代表您要執行之容器的語言。 請確定這與您使用的 docker pull 命令相符。 latest
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/ner:{IMAGE_TAG} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

此命令:

  • 從容器映像具名實體辨識容器
  • 配置一個 CPU 核心和 8 GB 的記憶體
  • 公開 TCP 連接埠 5000,並為容器配置虛擬 TTY
  • 在容器結束之後自動將其移除。 容器映像仍可在主機電腦上使用。

在相同主機上執行多個容器

如果您打算使用公開的連接埠執行多個容器,請務必使用不同的公開連接埠來執行每個容器。 例如,在連接埠 5000 上執行第一個容器,以及在連接埠 5001 上執行第二個容器。

您可以讓此容器和不同的 Azure AI 服務容器在主機上一起執行。 您也可以針對相同的 Azure AI 服務容器執行多個容器。

查詢容器的預測端點

容器會提供以 REST 為基礎的查詢預測端點 API。

請對容器 API 使用主機 http://localhost:5000

驗證容器正在執行

有數種方式可驗證容器正在執行。 找出有問題容器的外部 IP 位址和公開的連接埠,然後開啟您最愛的網頁瀏覽器。 使用下列各項要求 URL,以驗證容器是否正在執行。 此處列出的範例要求 URL 為 http://localhost:5000,但您的特定容器可能會有所不同。 請務必依賴您容器的「外部 IP」 位址和公開的連接埠。

要求 URL 目的
http://localhost:5000/ 容器會提供首頁。
http://localhost:5000/ready 以 GET 提出要求,此 URL 將會驗證容器是否已準備好接受對模型的查詢。 此要求可用來進行 Kubernetes 活躍度和整備度探查 \(英文\)。
http://localhost:5000/status 也會以 GET 提出要求,此 URL 會在不需進行端點查詢的同時,確認用來啟動容器的 API 金鑰是否有效。 此要求可用來進行 Kubernetes 活躍度和整備度探查 \(英文\)。
http://localhost:5000/swagger 容器會為端點提供一組完整的文件和立即試用功能。 使用此功能,您可以將自己的設定輸入至以 Web 為基礎的 HTML 表單並進行查詢,而無須撰寫任何程式碼。 當查詢傳回時,會提供範例 CURL 命令來示範所需的 HTTP 標頭和本文格式。

容器的首頁

如需如何呼叫 NER 的資訊,請參閱我們的指南

執行與網際網路中斷連線的容器

若要使用此與網際網路中斷連線的容器,您必須先填寫申請表並購買承諾用量方案來要求存取權。 如需詳細資訊,請參閱「在中斷連線環境中使用 Docker 容器」

如果您已獲核准執行與網際網路中斷連線的容器,請使用下列範例顯示您會使用之 docker run 命令的格式設定以及預留位置值。 以您自己的值取代這些預留位置值。

docker run 命令中的 DownloadLicense=True 參數會下載授權檔案,讓您的 Docker 容器可在未連線至網際網路時執行。 其也包含到期日,在此日期之後,授權檔案將無效,以致無法執行容器。 您只能搭配已獲核准的適當容器使用授權檔案。 例如,您無法將語音轉換文字容器的授權檔案和文件智慧容器搭配使用。

預留位置 格式或範例
{IMAGE} 您想要使用的容器映像。 mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} 將下載並掛接授權的路徑。 /host/license:/path/to/license/directory
{ENDPOINT_URI} 用於驗證服務要求的端點。 在 Azure 入口網站上,您可以在資源的 [金鑰和端點] 頁面上找到金鑰。 https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} 文字分析資源的索引鍵。 在 Azure 入口網站上,您可以在資源的 [金鑰和端點] 頁面上找到金鑰。 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} 容器本機檔案系統上的授權資料夾位置。 /path/to/license/directory
docker run --rm -it -p 5000:5000 \ 
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY} 

一旦下載了授權檔案,您就可以在已中斷連線的環境中執行容器。 下列範例會顯示您將使用的 docker run 命令格式,以及預留位置值。 以您自己的值取代這些預留位置值。

無論在何處執行容器,授權檔案都必須掛接到該容器,而且授權資料夾在該容器本機檔案系統上的位置必須是使用 Mounts:License= 指定的。 也須指定輸出掛接,才能寫入帳單使用記錄。

預留位置 格式或範例
{IMAGE} 您想要使用的容器映像。 mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} 要為您容器配置的適當記憶體大小。 4g
{NUMBER_CPUS} 要為您容器配置的適當 CPU 數目。 4
{LICENSE_MOUNT} 將尋找並掛接授權的路徑。 /host/license:/path/to/license/directory
{OUTPUT_PATH} 用於記錄使用量記錄的輸出路徑。 /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} 容器本機檔案系統上的授權資料夾位置。 /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} 容器本機檔案系統上的輸出資料夾位置。 /path/to/output/directory
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \ 
-v {LICENSE_MOUNT} \ 
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}

停止容器

若要關閉容器,請在容器執行所在的命令列環境中,選取 [Ctrl+C]

疑難排解

如果您在啟用輸出掛接和記錄的情況下執行容器,容器將會產生記錄檔,有助於排解在啟動或執行容器時所發生的問題。

提示

如需疑難排解的詳細資訊和指導,請參閱 Azure AI 容器常見問題集 (FAQ)

計費

具名實體辨識容器會使用您 Azure 帳戶上的語言資源,將計費資訊傳送到 Azure。

針對容器的查詢,會以 ApiKey 參數使用的 Azure 資源定價層來計費。

Azure AI 服務容器若未連線至計量或計費端點,即無法獲得執行的授權。 您必須讓容器隨時都能與計量端點進行帳單資訊的通訊。 Azure AI 服務容器不會將客戶資料 (例如正在分析的影像或文字) 傳送給 Microsoft。

連接到 Azure

容器需要計費引數值才能執行。 這些值讓容器能夠連線到計費端點。 容器會每隔 10 到 15 分鐘回報使用量。 如果容器未在允許的時間範圍內連線到 Azure,容器會繼續執行,但在還原計費端點之前不會提供查詢。 以 10 到 15 分鐘的相同時間間隔嘗試連線 10 次。 如果無法在 10 次嘗試內連線到計費端點,容器會停止處理要求。 請參閱「Azure AI 服務容器常見問題集」,以獲得需傳送哪些資訊給 Microsoft 以供計費的範例。

計費引數

當下列三個選項都填入了有效值時,docker run 命令將會啟動容器:

選項 描述
ApiKey Azure AI 服務資源的 API 金鑰,用於追蹤計費資訊。
此選項值必須設定為已佈建 Billing 指定資源的 API 金鑰。
Billing Azure AI 服務資源的端點,用於追蹤計費資訊。
此選項的值必須設定為已佈建 Azure 資源的端點 URI。
Eula 表示您接受容器的授權。
此選項的值必須設定為接受

如需這些選項的詳細資訊,請參閱設定容器

摘要

在本文中,您已了解下載、安裝及執行具名實體辨識容器的概念和工作流程。 摘要中:

  • 具名實體辨識會提供適用於 Docker 的 Linux 容器
  • 容器映像可從 Microsoft Container Registry (MCR) 下載取得。
  • 容器映像是在 Docker 中執行。
  • 將容器具現化時,您必須指定帳單資訊。

重要

Azure AI 容器若未連線至用於計量的 Azure,即無法獲得執行的授權。 客戶必須啟用容器以持續與計量服務進行帳單資訊的通訊。 Azure AI 容器不會將客戶資料 (例如正在分析的文字) 傳送給 Microsoft。

下一步