輕鬆建立具有 ChatGPT AI能力的LINE Bot
ChatGPT 也紅了好一陣子,大部分開發人員應該也知道,如果要把ChatGPT的能力整合到自己的專案當中,可以透過 Open AI 所提供的API(或是微軟提供的Azure OpenAI API)。
我們開發LINE Bot也是,想做一個具有ChatGPT能力的LINE Bot非常簡單。如果你是C#開發人員,甚至可以直接用套件和範本來完成。
你可以先用 .net 6 以上的環境建立 WebAPI專案:
md testgptbot
cd testgptbot
dotnet new webapi
完成後,請一併執行 LineBotSDK和LineWebHook範本的安裝:
dotnet add package linebotsdk
dotnet new install isRock.Template.LineWebHook
dotnet new linewebhook
執行後你會看到底下畫面:
這時開啟專案,會看到這些範本內容,主要是LineBotChatGPTWebHookController 這隻:
這隻是寫好的 LINE Bot 範本,同時支援 OpenAI API 和 微軟的Azure OpenAI API。如果您熟悉LINE Bot的開發,只需要把25行的Channel Access Token換掉,順便把 20 行的 Admin User ID換掉(這是處理發生例外的訊息用的),這樣主程式就完成了。Channel Access Token和Admin User ID這些資訊你可以從LINE Developers Console(https://developers.line.biz/console)找到:
為了讓這個 LINE Bot 可以支援 OpenAI API,我們把需要一個 OpenAI的API Key,這個Key可以從OpenAI的開發人員後台(API keys - OpenAI API)看到:
有了這些資訊之後,只需要把剛才LineBotChatGPTWebHookController 這隻程式碼中的 117 行調整成 return ChatGPT.CallOpenAIChatAPI(…),並填入剛才取得的key:
將其運行起來之後,你就可以跟這隻 LINE Bot互動了:
你會發現,有了 ChatGPT加持,它現在可以輕易的回答任何問題。但由於我們在 prompt 中,設定這隻 LINE Bot是 “專業的客戶服務人員” ,因此針對我們提的以巴問題,它的回答顯得婉轉又不失禮貌。
好啦,建立一支支援 AI 的 LINE Bot就是這麼簡單。🥂
留言