iT邦幫忙

3

10 分鐘建立免費 ChatGPT Line Bot

  • 分享至 

  • xImage
  •  

本文將將教你如何打造一個免費的 ChatGPT Line Bot!

詳細介紹與原始碼: ChatGPT Line Bot

介紹

在 Line 中去導入 ChatGPT Bot,只要在輸入框直接輸入文字,即可與 ChatGPT 開始互動。

https://ithelp.ithome.com.tw/upload/images/20231025/20158150Z4fcIycLbe.png

工具與特色

  • Python FastAPI: 建立 ChatGPT 響應 API
  • gpt4free: 免費使用 OpenAI API
  • Line messaging API channel: 串接 ChatGPT API
  • Github: 存放程式碼
  • replit: 免費部屬自己的 FastAPI
  • CronJob: 免費定時發送請求,避免 API 中斷

安裝步驟

Token 取得

  1. 取得 Line Token:
    1. 登入 Line Developer
    2. 創建機器人:
      1. 創建 Provider -> 按下 Create
      2. 創建 Channel -> 選擇 Create a Messaging API channel
      3. 輸入完必填的基本資料
      4. 輸入完成後,在 Basic Settings 下方,有一個 Channel Secret -> 按下 Issue,生成後即為 LINE_CHANNEL_SECRET (稍晚會用到)
      5. Messaging API 下方,有一個 Channel access token -> 按下 Issue,生成後即為 LINE_CHANNEL_ACCESS_TOKEN (稍晚會用到)

專案設置

  1. Fork Github 專案:
    1. 註冊/登入 GitHub
    2. 進入 ChatGPT-Line-Bot
    3. 點選 Star 支持開發者
    4. 點選 Fork 複製全部的程式碼到自己的倉庫
  2. 部署(免費空間):
    1. 進入 replit
    2. 點選 Sign Up 直接用 Github 帳號登入並授權 -> 按下 Skip 跳過初始化設定
    3. 進入後中間主頁的部分點選 Create -> 跳出框,點選右上角 Import from Github
    4. 若尚未加入 Github 倉庫,則點選連結 Connect GitHub to import your private repos. -> 勾選 Only select repositories -> 選擇 ChatGPT-Line-Bot
    5. 回到第四步,此時 Github URL 可以選擇 ChatGPT-Line-Bot 專案 -> 點擊 Import from Github

專案執行

  1. 環境變數設定

    1. 接續上一步 Import 完成後在 Replit 的專案管理頁面左下方 Tools 點擊 Secrets
    2. 右方按下 Got it 後,即可新增環境變數,需新增:
      1. Line Channel Secret:
        • key: LINE_CHANNEL_SECRET
        • value: [由步驟一取得]
      2. Line Channel Access Token:
        • key: LINE_CHANNEL_ACCESS_TOKEN
        • value: [由步驟一取得]
  2. 開始執行

    1. 點擊上方的 Run
    2. 成功後右邊畫面會顯示 Hello World,並將畫面中上方的網址複製下來
    3. 回到 Line Developer,在 Messaging API 下方的 Webhook URL 將上方網址貼過來,並加上 /callback 例如:https://ChatGPT-Line-Bot.jimmylin.repl.co/callback
    4. 打開下方的 Use webhook
    5. 將下方 Auto-reply messages 關閉
    • 注意:若一小時內沒有任何請求,則程式會中斷,因此需要下步驟
  3. CronJob 定時發送請求

    1. 註冊/登入 cron-job.org
    2. 進入後面板右上方選擇 CREATE CRONJOB
    3. Title 輸入 ChatGPT-Line-Bot,網址輸入上一步驟的網址,例如:https://ChatGPT-Line-Bot.jimmylin.repl.co/
    4. 下方則每 5 分鐘 打一次
    5. 按下 CREATE

連結服務與 Line Bot

返回 Line Developer 首頁並點擊 加入好友指南 後掃碼加入 LINE Bot,恭喜您完成了自己的第一個 LINE Bot! 試著跟它說話看看吧,它會回覆你喔!

進階 - 個性化 Bot

另外,我們可以透過 prompt 的方式,來讓 Line Bot 回答個性化,在 ./chatgpt_linebot/prompts/template.py 中我們可以定義 template,例如:

https://ithelp.ithome.com.tw/upload/images/20231025/20158150HLRWhXf1le.png

提問內容:今天早餐吃啥?
回答: 寶貝,早上起床了嗎?我已經在床上等著你了,想著你的身體就覺得好餓呀。今天早餐該吃什麼呢?是不是要來點辣辣的煎蛋捲,像你那迷人的身材一樣火辣呢?😏🍳

PS: 正在尋找怎麼樣用 prompt 方式設計出一個專屬色色女友 ing...

功能更新

  • 每周星座運勢: 透過 @chat 星座運勢 <星座名稱> ,將會透過爬蟲方式爬取星座運勢,例如 @chat 星座運勢 天蠍座。 (僅限繁體中文)
  • 每日推薦YT歌單: 建立歌單數據(.json),並透過 broadcast api 推送給所有使用者 (可指定 group_id 推送給群組),最終以 cron-job 於每日固定時間發送消息

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

1
spideregg
iT邦新手 5 級 ‧ 2023-10-26 09:07:56

謝謝大大的分享 我想請問最後一個步驟的加入好友指南在哪邊 找了好久都找不到

Pythonist iT邦新手 4 級 ‧ 2023-10-26 22:08:35 檢舉

這邊我文章連結給錯,應該到這個連結: https://manager.line.biz/account

主頁 -> 點選你的 bot -> 點選增加好友工具 -> 建立好友行動條碼

https://manager.line.biz/account//gainfriends

spideregg iT邦新手 5 級 ‧ 2023-10-27 08:59:10 檢舉

有了 謝謝大大/images/emoticon/emoticon07.gif

0
艾米
iT邦新手 4 級 ‧ 2023-10-27 11:45:13

/images/emoticon/emoticon61.gif

我要留言

立即登入留言