輕鬆建立具有 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就是這麼簡單。🥂

留言

這個網誌中的熱門文章

在POC或迷你專案中使用 LiteDB

使用Qdrant向量資料庫實作語意相似度比對

專業的價值...

讓 LINE Bot 對談機器人顯示 "Loading..." 動畫

使用 Airtable 在小型需求上取代傳統資料庫