Skip to main content

Command Palette

Search for a command to run...

Azure Bot Service - 聊天機器人教學 - Node.js - 03

Updated
1 min read
Azure Bot Service - 聊天機器人教學 - Node.js - 03

將聊天機器人發行到遠端並透過模擬器測試

在上一篇可以在本地端測試寫好的聊天機器人,不過可以在本地端測試 OK,不代表在 Server 上就會活的好好的,有可能因為組態的不同而導致應用程式出現錯誤,所以我們還是需要發行到遠端後進行測試

1 - 1. 設定 Azure Bot Service 連線資訊

在遠端的聊天機器人為了安全,必需要設定 Microsoft App IDMicrosoft App Password 才能進行連線

首先先打開 Portal 到已經建立完成的 Azure Bot Service 並到 Setting 視窗

Azure Bot Service Portal

點選『Microsoft App ID』旁的『Manage』連結,會連結到管理 Microsoft App ID 與 Microsoft App Password 頁面

Azure Bot Service 登錄

點選『產生新密碼』得到新的應用程式密碼,應用程式密碼只會顯示一次,務必保存下來,忘記就只能產生新的

產生新密碼

1 - 2. 將連線資訊填入程式

設定完帳號密碼後,要將此資訊填入程式的設定內

這邊我們使用 dotenv-extended作為讀取設定檔的工具,執行以下指令來安裝 npm 套件

npm install dotenv-extended

安裝完畢後,新增一檔案:.env,並填入相關資訊如下

然後於程式中引用 dotenv-extended,並在需要設定資訊的地方讀取相關資訊

到這邊程式部分就已完成,將其發行到遠端

2. 發行應用程式

現在要將已經寫好的聊天機器人應用程式發行到遠端以便跟聊天平台溝通,Azure Bot Service 需要以 https 作為開頭的網址為端點,所以這邊使用 Azure Web App 作為承載平台,假設已經完成建立 Web App,可以透過 ZipDeploy 的方式來部署,可參考:Azure Web App 使用 Zip 進行部署

Deploy

3. 使用模擬器進行測試

因為我們已將聊天機器人部署到遠端,本機電腦通常都擁有防火牆保護,在此況下無法從外界接收 ad-hoc 要求,所以需要用 Tunneling 透過橋接的方式繞過防火牆將 ad-hoc 要求從外網傳到本機

BotFramework-Emulator 以與 ngrok 整合,不過並沒有直接包含ngrok,所以需要先下載 ngrok,下載完畢後會得到一執行檔(Windows 與 Mac 均是)

ngrok 執行檔

打開 BotFramework-Emulator 點選『右上方』直線三點打開選單並選擇設定,於 『path to ngrok』中設定 ngrok 執行檔的路徑,按下『Save』

設定 ngrok 路徑

這樣就設定完畢,皆下來就是連線到遠端的聊天機器人

輸入連線資訊

輸入完畢後按下『CONNECT』,這樣就可以開始測試遠端的聊天機器人

Connect

More from this blog

Career-Ops 安裝與設定 — 用 AI 來幫你篩職缺、客製履歷

最近在看新的工作機會,光是瀏覽職缺、比對 JD、調整履歷就花了不少時間。 後來找到 Career-Ops 這個開源專案 作者 santifer 用這套系統篩了 740 多個職缺、產出 100 多份客製化履歷,最後拿到 Head of Applied AI 的 offer。 看起來蠻有意思的,所以我就在 Windows 上實際裝了一輪,這篇就來把整個安裝和設定的過程記錄下來。 我這邊搭配的 AI 後

Apr 12, 20265 min read
Career-Ops 安裝與設定 — 用 AI 來幫你篩職缺、客製履歷

讓 LLM 自動化你的 N8N 工作流程:n8n-mcp-server 安裝指南

前言 網路上一大堆都是在介紹如何在 N8N 裡面用 MCP 來呼叫其他工具,但是更多時候我希望 LLM 能直接幫我寫好或是修改 N8N 的工作流程 所以這篇就來介紹如何設定與使用 n8n-mcp-server 來讓 LLM 幫忙操控 N8N 在 GitHub 上有不少的 n8n-mcp-server,經過一下下的簡單搜索,我決定使用這個專案: n8n-mcp-server 原因在於說這個專案的實作提供了基本上所有需要編輯工作流程的功能,以下就來記錄安裝過程 MCP Server 設定 首先當然...

May 28, 20253 min read

[IT 鐵人賽] ASP.NET Core 與 Log 紀錄和追蹤的愛恨交織 - Day 05 - Elmah - 02

.NET Core Logging- Elmah 02 上一篇我們提到了基本的使用方式,接下來的這一篇我們就來講講要怎麼把 Log 放到不同的儲存體上,以及如何過濾 Log Log 儲存方式 我們先來看這些 Log 倒底存在哪裡,目前共有三種儲存方式,如下: MemoryErrorLog — store errors in memory 預設為使用此方式,簡單來說就是將錯誤 Log 都存在記憶體裡,所以只要應用程式一重新啟動,Log 就沒了;但是也是最方便的方式,只是要注意如果 Log 太...

Oct 20, 20182 min read
[IT 鐵人賽] ASP.NET Core 與 Log 紀錄和追蹤的愛恨交織 - Day 05 - Elmah - 02

[IT 鐵人賽] ASP.NET Core 與 Log 紀錄和追蹤的愛恨交織 - Day 04 - Elmah - 01

.NET Core Logging- Elmah 01 Elmah 是我最一開始使用的 Log 工具,基本上它的功能就是將應用程式所有發生的錯誤記錄下來,不需要改變程式架構,而且又有介面可以觀看,十分的方便;它從 WebForm 時代就有了,到了 MVC 也是運作的很好,那這邊就來介紹一下 Elmah 要如何在 ASP.NET Core 中使用 (.NET Core 也可使用)。 不過很可惜的,目前並沒有釋出官方的 Elmah for .NET Core,不過有一個新專案: ElmahCore...

Oct 19, 20181 min read
[IT 鐵人賽] ASP.NET Core 與 Log 紀錄和追蹤的愛恨交織 - Day 04 - Elmah - 01

[IT 鐵人賽] Azure Data Service - Day 04 - Cognitive Service - 辨識 - Video Indexer

Azure Data Service - Day 04 - Cognitive Service - Vision - Video Indexer 前面幾篇都是介紹靜態影像的辨識與分析,那這篇就來到針對影片來做處理。 Cognitive Service 針對影片辨識的部分提供了:Video Indexer 它整合了許多功能,在這邊列出一些比較重要的功能: 語系偵測 可以自動偵測出這個影片是屬於哪個語系,目前支援: English, Spanish, French, German, Italia...

Oct 19, 20181 min read
[IT 鐵人賽] Azure Data Service - Day 04 - Cognitive Service - 辨識 - Video Indexer

BrainBurst, HeadFirst

45 posts

學習學到老,撞牆撞到腦. A lifelong quest—with forehead dents.