什麼是 Azure 認知服務容器?

Azure 認知服務提供數個 Docker 容器,讓您可於內部部署使用 Azure 中可用的相同 API。 使用這些容器可讓您基於符合合規性、安全性或其他作業原因,有彈性地將認知服務帶入您的資料。 目前 Azure 認知服務中僅有一部分提供容器支援。

容器化是發佈軟體的方法,它會將應用程式或服務 (包括其相依性 & 設定) 一起封裝成容器映像。 在只需要小幅修改或不修改的情況下,便可將容器映像部署在容器主機上。 容器之間彼此隔離,也與基礎作業系統隔離,且磁碟使用量比虛擬機器更小。 容器可以從容器映像具現化以進行短期工作,並於不再需要時移除。

功能與優點

  • 不可變的基礎結構:讓 DevOps 小組能夠利用一組一致且可靠的已知系統參數,同時能夠適應變更。 容器可讓您在可預測的生態系統內彈性地進行樞紐分析,並避免設定漂移。
  • 對資料的控制:選擇認知服務處理資料的位置。 如果您無法將資料傳送至雲端,但需要存取認知服務 API,這是不可或缺的。 支援混合式環境中的一致性,橫跨資料、管理、身分識別及安全性。
  • 對模型更新的控制:針對部署於其解決方案中的模型,提供版本控制和更新上的彈性。
  • 可攜式架構:建立可部署至 Azure、內部部署及邊緣的可攜式應用程式架構。 您可以將容器直接部署至 Azure Kubernetes ServiceAzure 容器執行個體,或是已部署至 Azure StackKubernetes 叢集。 如需詳細資訊,請參閱將 Kubernetes 部署至 Azure Stack
  • 高輸送量/低延遲:讓認知服務在鄰近客戶應用程式邏輯和資料的實體位置執行,為客戶提供針對高輸送量及低延遲需求進行調整的能力。 容器不會限制每秒交易 (TPS),而且如果您提供必要的硬體資源,可以相應增加和相應放大來處理要求。
  • 擴充性:隨著 Kubernetes 等容器化和容器協調流程軟體的普及,擴充性成為技術進步的關鍵。 應用程式開發以可調整的叢集為建構基礎,可滿足高可用性。

Azure 認知服務中的容器

Azure 認知服務容器能提供下列 Docker 容器集合,每個容器都包含 Azure 認知服務的服務功能子集。 您可以在下列表格中找到指令和映像位置。 也提供容器映像的清單。

注意

請參閱已套用 AI Services 表格辨識器安裝和執行表格辨識器容器容器指示和影像位置。

決策容器

服務 容器 Description 可用性
異常偵測器 異常偵測器 (映像) Anomaly Detector API 可讓您透過機器學習,監視和偵測時間序列資料中的異常狀況。 正式推出

語言容器

服務 容器 Description 可用性
LUIS LUIS (影像) 將已定型或發佈的 Language Understanding 模型 (也稱為 LUIS 應用程式) 載入 Docker 容器中,並提供從容器的 API 端點存取查詢預測的權限。 您可以從容器收集查詢記錄,並將這些記錄重新上傳至 LUIS 入口網站,以改善應用程式的預測精確度。 正式推出。
此容器也可以在已中斷連線的環境中執行
語言服務 關鍵片語擷取 (影像) 擷取關鍵片語來識別重點。 例如,若輸入文字為 "The food was delicious and there were wonderful staff",API 即會傳回主要討論要點:"food" 和 "wonderful staff"。 正式推出。
此容器也可以在已中斷連線的環境中執行
語言服務 文字語言偵測 (映像) 偵測輸入文字是以何種語言撰寫的,並針對要求所提交的每份文件回報單一語言代碼,最多可達 120 種語言。 語言代碼各配有一個分數,表示分數的強度。 正式推出。
此容器也可以在已中斷連線的環境中執行
語言服務 情感分析 (影像) 分析原始文字以尋找正面或負面情感的線索。 此版本的情感分析會針對每份文件及其中的句子傳回情感標籤 (例如 正面負面)。 正式推出。
此容器也可以在已中斷連線的環境中執行
語言服務 健康情況的文字分析 從非結構化臨床文字中將醫療資訊解壓縮並加上標籤。 正式推出
翻譯工具 翻譯工具 以數種語言和方言翻譯文字。 正式推出。 閘道 - 要求存取
此容器也可以在已中斷連線的環境中執行

語音容器

注意

若要使用語音容器,您將需要完成線上要求表單

服務 容器 Description 可用性
語音服務 API 語音轉文字 (映像) 連續的即時語音謄寫成文字。 正式推出。
此容器也可以在已中斷連線的環境中執行
語音服務 API 自訂語音轉換文字 (映像) 使用自訂模型將即時語音轉譯為文字。 正式推出
語音服務 API 神經文字轉換語音 (映像) 使用深度神經網路技術將文字轉換成自然發音語音,使語音合成更自然。 正式推出。
容器也可以在已中斷連線的環境中執行
語音服務 API 語音語言偵測 (映像) 判斷說話音訊的語言。 閘道預覽

視覺容器

服務 容器 Description 可用性
電腦視覺 讀取 OCR (映像) 讀取 OCR 容器可讓您從影像和文件中擷取列印和手寫的文字,並支援 JPEG、PNG、BMP、PDF 和 TIFF 檔案格式。 如需詳細資訊,請參閱 讀取 API 文件 正式推出。 此容器也可以在已中斷連線的環境中執行
空間分析 空間分析 (映像) 分析即時串流影片,以瞭解實體環境中人與人之間的空間關聯性、其移動和與物件的互動。 預覽

此外,由多服務資源提供的認知服務支援某些容器。 您可以建立單一的「認知服務」全方位資源,並在支援的服務之間使用相同的計費金鑰來執行下列服務:

  • 電腦視覺
  • LUIS
  • 語言服務

必要條件

您必須滿足下列必要條件才能使用 Azure 認知服務容器:

Docker 引擎:您必須在本機安裝 Docker 引擎。 Docker 提供可在 macOS \(英文\)、Linux \(英文\) 和 Windows \(英文\) 上設定 Docker 環境的套件。 在 Windows 上,必須將 Docker 設定為支援 Linux 容器。 您也可以將 Docker 容器直接部署至 Azure Kubernetes ServiceAzure 容器執行個體

Docker 必須設定為允許容器與 Azure 連線,以及傳送帳單資料至 Azure。

對 Microsoft Container Registry 和 Docker 的熟悉度:您應具備對 Microsoft Container Registry 和 Docker 概念 (例如登錄、存放庫、容器和容器映像等) 的基本了解,以及基本 docker 命令的知識。

如需 Docker 和容器基本概念的入門,請參閱 Docker 概觀 \(英文\)。

個別的容器可能也會有各自的需求,包括伺服器和記憶體配置需求。

Azure 認知服務容器安全性

當您在開發應用程式時,安全性應為主要焦點。 安全性的重要性為是否成功的衡量標準。 當您在架構包含認知服務容器的軟體解決方案時,請務必瞭解您的限制和可用的功能。 如需網路安全性的詳細資訊,請參閱設定 Azure 認知服務虛擬網路

重要

根據預設,認知服務容器 API 不具備安全性。 這是因為容器通常作為 Pod 的一部分執行,而 Pod 是由網路橋接器從外部保護。 不過,您可以啟用驗證,其運作方式與存取雲端式認知服務時所使用的驗證相同。

下圖說明預設和非安全性的方法:

容器安全性

作為替代且安全的方法,認知服務容器的取用者可以使用正面元件增強容器,讓容器端點維持私人使用。 讓我們看看使用 Istio 做為輸入閘道的案例。 Istio 支援 HTTPS/TLS 和用戶端憑證驗證。 在此案例中,Istio 前端會公開容器存取權,並呈現事先以 Istio 核准的用戶端憑證。

Nginx 是同類別中另一種常用的選擇。 Istio 和 Nginx 都可作為服務網格,並提供額外的功能,包括負載平衡、路由和速率控制等。

容器網路服務

需要有認知服務容器,才能提交計量資訊供計費用途。 若無法允許列出認知服務容器所仰賴的各種網路通道,將會導致容器無法運作。

允許列出認知服務網域和連接埠

主機應允許列出連接埠 443 和下列網域:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

停用深度封包檢查

深度封包檢查 (DPI) 是一種資料處理方式,會詳細檢查透過電腦網路傳送的資料,而且通常會依檢查結果來採取封鎖、重新路由傳送或記錄等動作。

停用認知服務容器建立在 Microsoft 伺服器的安全通道 DPI。 若無法這樣做,將會導致容器無法正常運作。

開發人員範例

開發人員範例可從我們的 GitHub 存放庫取得。

後續步驟

深入瞭解您可以搭配認知服務使用的 容器配方

安裝並探索由 Azure 認知服務中的容器所提供的功能: