發表文章

目前顯示的是 1月, 2021的文章

透過容器化使用LUIS在地端進行語意分析

圖片
透過容器化使用LUIS在地端進行語意分析 應該大家都知道,微軟從幾年前開始,推出了一系列的AI服務,稱為Cognitive Services,內容包含可以識別人臉、辨識圖片內容的電腦視覺,可以即時聽寫(語音轉文字)或輸出(文字轉語音)的Speech API,可以透過類神經網路翻譯的Translator API,還有可以讓chat bot認得用戶輸入的文字的LUIS與QnA…等。 這些服務在雲端上固然方便好用,但每次上課都會有學員問到,可不可以把模型匯出然後在on-premise環境做辨識? 一般會有這種需求不外乎兩個理由,其一是速度,另一個更重要的則是安全性,因為客戶往往不希望要辨識的圖像或文字透過網際網路被傳遞到遠端的伺服器中。 可以嗎? 是的。現在,透過容器化技術,你可以這麼做了。 如今大部分的cognitive services都開始支援容器化的應用方式。我們可以從雲端下載LUIS run-time的image,然後把在雲端上訓練好的模型下載後,透過Container技術在客戶端(用戶端)在on-premise環境做辨識。 怎麼做呢? 其實很簡單。 首先,透過docker command下載雲端上的LUIS run-time(如果在windows上使用,必須安裝好docker desktop): 完成後,從https://www.luis.ai/網站上把訓練好的luis模型也下載下來: 你應該會下載到一個.gz檔案。 接著建立兩個資料夾,分別是 C:\input 與 C:\output ,用別的路徑當然也可以,後面的docker run指令配合著修改即可。 把剛才下在好的.gz檔案放入 input 資料價,請注意如果需要時要調整檔名,檔名格式為 LUISAppID_PRODUCTION.gz : 上述都準備完成後,請執行剛才下載的 docker image: 上面docker run指令的格式為: docker run --rm -it -p 127.0.0.1:5000:5000 --memory 4g --cpus 2 ` --mount type=bind,src=c:\input,target=/input ` --mount type=bind,src=c:\out