1. 程式人生 > >Azure Cognitive Service 訪問優化

Azure Cognitive Service 訪問優化

進行 找到 了解 服務器 其中 提取 cep services 體驗

目前 MSFT 很多 Cognitive Service 在 China Azure 還沒有落地,所以很多小夥伴只能使用國際版的 Azure 提供的 Cognitive 服務。但是這樣存在兩個問題,1. 使用體驗,因為需要通過 Internet 進行調用,訪問延遲及質量得不到保證。2. 有些 Cognitive 服務並不是所有 Global Azure 的 Region 都有落地,使得優化空間受限。今天咱們一起來分享一個優化結構的方案,通過將 API 網關前置放在 China Azure 的 Region 內,將 API 調用近源的引入的 Azure, 然後通過 Azure 內部網絡來優化加持 Glocal Azure Cognitive 服務的質量。這裏前置的 API 網關采用 Azure 上面的 API Management 服務來做,好處在於它是一款 PaaS 服務,快速簡單易用且用戶無需維護虛擬服務器。廢話不說,擼袖子開幹。

1. 創建 API Management

進入 China Azure Portal 主頁,選擇 API 管理服務

技術分享圖片

選擇添加

技術分享圖片

輸入 API 管理服務名稱等必要信息

技術分享圖片

點擊創建。

2. 配置 API 管理服務

點擊步驟1創建的 API 管理服務,選擇 API

技術分享圖片

創建 Blank API 空白 API

技術分享圖片

填入 API 信息並創建, 其中 Web service URL 為後端真實 Cognitive 服務的 API 地址,起獲取可以參閱 Cognitive 相關手冊了解獲取方法,本文以 US Central 的 Custom Vision 服務為例

技術分享圖片

選擇上一步創建的 API 並點擊 Add operation,為 Operation 命名,並提供相應 Operation 的 URL,後續調用此 Operation 的完整 URL 就是上一步的 Web Service URL + operation URL。所以此處其實是將 Custom Vision 的 URL 進行了拆解,從中提取 Web Service URL 和 Operation URL,此步驟演示的 Custom Vision 的預測 URL。

技術分享圖片

設置 Http 請求 Header, 每一個 Cognitive 服務的 Restful API 接口對於 HTTP 請求的 Header 都是有明確要求的,可參閱 https://southcentralus.dev.cognitive.microsoft.com/docs/services/450e4ba4d72542e889d93fd7b8e960de/operations/5a6264bc40d86a0ef8b2c28f 。這裏按照 Custom Vision 要求的 Haed 進行填寫,這樣當請求送往 API 管理服務時,這些 Header 將被自動添加到請求中。這裏的 prediction-key 由 Custom Vision 配置頁面獲取。

技術分享圖片

設置 Request, 此部分在定義 HTTP 請求中 Body 的格式,當不滿足格式的時候,請求將不被處理。本文以 Custom Vision 為例,可按照手冊 https://southcentralus.dev.cognitive.microsoft.com/docs/services/450e4ba4d72542e889d93fd7b8e960de/operations/5a6264bc40d86a0ef8b2c28f 找到 Body 格式要求。

技術分享圖片

3. 配置產品

API 創建完畢後,其實並沒有使能,在 API 管理服務中,需要將 API 放置在產品下才可以實現使能發布。

選擇產品

技術分享圖片

選擇 Unlimited 並選擇添加 API

技術分享圖片

將前面創建的 Cognitive API 加入,至此所有跟 Custom Vision Predict API 在 API 管理服務上已經配置完成,此時可以開始測試試用

4. 測試 API 配置

選擇 API,選擇 Cognitive API,選擇 Predict operation,選擇 Test

技術分享圖片

填入修改測試請求信息,並發送

技術分享圖片

查看請求返回,當非 200 返回碼時可以結合 Trace 進行問題定位。

技術分享圖片

5. 比較 API 管理服務方式和直接 Internet 調用 US Central Costom Vision 預測 API 的質量和體驗。

通過腳本分別在上述場景模擬100次請求調用,比較請求完成時間。明顯的發現從縱坐標延遲的表現和100次調用的抖動穩定性來看,API 管理服務的方式很好的提升了訪問質量和體驗。

技術分享圖片

如果小夥伴你之前也有類似的困惑,那就可以開始動手優化加持自己的 Azure Global Cognitive 服務啦。

參考資料 :

Custom Vision API Reference : https://southcentralus.dev.cognitive.microsoft.com/docs/services/450e4ba4d72542e889d93fd7b8e960de/operations/5a6264bc40d86a0ef8b2c290

API 管理服務手冊:https://docs.azure.cn/zh-cn/api-management/api-management-key-concepts

Azure Cognitive Service 訪問優化