使用 Azure Vision API 之 奇怪錯誤訊息
最近 AI 很紅,連帶著 Azure AI 詢問度也很高。最近很多企業客戶紛紛參與Azure的 AI 教育訓練。這個訓練課程中, Computer Vision 也是重點之一。
其實 Azure 上的 Computer Vision 功能很強,模型也都封裝好放上雲端,可以透過REST API的方式進行呼叫,從2016年起,我們就在 Blog 上多次介紹過這個 API,相關文章可以參考這裡。
但這一陣子頻繁的帶著學員操作,看到學員在使用postman呼叫API時,常發生許多有趣的bug,整理一下,和大家一起分享。
要使用Computer Vision,你只需要申請好一組 endpoint,並且取得 key 即可,這很簡單:
從文件上可以看到,使用此API,可以辨識人臉、取得圖片說明、判斷成人圖片,因此你使用了底下這樣的呼叫,可是卻硬生生地得到 HTTP 400 的錯誤:
如果你對 Azure AI 熟悉的話不妨挑戰一下,先停在這邊,看看上面這個呼叫指令可能有什麼錯?
從訊息看起來是 NotSupportedVisualFeature
但你放大觀察VisualFeature
的部分,看起來也沒啥問題:
哪怎麼回事?
結果發現,網址列多一個空白:
這樣也不行? 對,這樣也不行。
另外學員常常也碰到的錯誤像是收到 404,但 endpoint 明明正確:
結果是,http method用錯:
從Get改為POST問題就解決了。
至於什麼把本來該放在 Header 的 key 錯放到 parameter 結果收到 401 的錯誤,也是見怪不怪了:
這些都很簡單,但是稍微注意一下,會減少你走冤枉路的時間。畢竟,平常工作已經很累了,把時間花在這種 debug 事情上,有些冤枉了。
我們在透過程式碼呼叫雲端的API前,我都建議同仁先用 postman
測試一下,如果測不過,就先別急著寫程式了,先搞定API,測通了再寫code,往往事半功倍,否則如果從程式碼開始卡關,你會debug的更辛苦。😆
留言