iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0

5-1 前言

https://ithelp.ithome.com.tw/upload/images/20240811/20046160g3qOQO9Vd6.png
如第一章所述,NLP 的主要工作涵蓋以下幾個方面:

  • 文字摘要
  • 資訊擷取
  • 問答系統
  • 文字分類
  • 對話系統
  • 程式碼生成
  • 推理

實作標的

前四項工作通常會以外掛系統的形式進行,本章將以實作 Chrome Extension 為目標,涵蓋以下功能:

  • 文字摘要
  • 資訊擷取
  • 問答系統
  • 文字分類

對話系統自然是要能夠充當文字客服系統,而在台灣,最多人使用的訊息應用程式是 LINE,因此實作 LINE Bot 是不可或缺的應用。

LINE Bot 實作

然而,要讓 LINE Bot 正常運行,必須要有後端解決方案。雖然在開發階段可以本地運行並對外連網,但在 GenAI 協作時代裡,設斷點逐行 debug 的需求並沒有那麼強烈。更多時候,開發者會將錯誤訊息直接貼給 LLMs 來查找並修改出可以運行的程式碼。

本章流程如下:

  1. 使用 Google Apps Script(GAS)調用 Gemini API
  2. 將 GAS 設為 LINE Bot 的 Webhook
  3. 要求 LLMs 將上述功能整合在一起

Chrome Extension 實作

Chrome Extension 顧名思義就是 Chrome 的外掛,可以藉由 Extension 的功能取得使用者所瀏覽的網頁內容,進而實現以下功能:

  • 文字摘要
  • 資訊擷取
  • 問答系統
  • 文字分類

透過撰寫 Prompt Instruction,這些功能都可以在 Chrome Extension 中實現,為用戶提供便捷高效的操作體驗。

5-2-2 GAS to be webhook of LINE bot

那 LNE Bot 的後端解決方案就直接請 LLMs 寫 範例程式

用 GAS 寫 LINE Bot

在 Google Apps Script (GAS) 上開發 LINE Bot 是一個有趣且強大的方式來利用雲端平台。以下是建立 LINE Bot 的基本步驟:

  1. 建立 LINE Messaging API 服務
    • 前往 LINE Developers Console
    • 創建一個新的提供者 (Provider) 和一個新的 Messaging API 渠道 (Channel)。
    • 記錄你的 Channel Secret 和 Channel Access Token。
  2. 設定 Google Apps Script 專案
  3. 撰寫程式碼
    • 在 Google Apps Script 編輯器中,撰寫以下程式碼來處理 LINE 的 Webhook 請求:
var LINE_CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'; // 請填入你的 Channel Access Token

function doPost(e) {
  var contents = JSON.parse(e.postData.contents);
  var events = contents.events;

  for (var i = 0; i < events.length; i++) {
    var event = events[i];
    if (event.type == 'message' && event.message.type == 'text') {
      var replyToken = event.replyToken;
      var userMessage = event.message.text;
      var replyMessage = handleUserMessage(userMessage);
      replyToUser(replyToken, replyMessage);
    }
  }
}

function handleUserMessage(message) {
  // 根據用戶消息進行處理,這裡簡單回覆相同消息
  return message;
}

function replyToUser(replyToken, message) {
  var url = '<https://api.line.me/v2/bot/message/reply>';
  var payload = {
    replyToken: replyToken,
    messages: [{
      type: 'text',
      text: message
    }]
  };

  var options = {
    method: 'post',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ' + LINE_CHANNEL_ACCESS_TOKEN
    },
    payload: JSON.stringify(payload)
  };

  UrlFetchApp.fetch(url, options);
}

  1. 部署 Web App
    • 在 Google Apps Script 編輯器中,點擊 部署 > 新部署
    • 選擇 Web 應用程式
    • 設定執行應用程式的人為 任何人
    • 部署並取得 Web App 的 URL。
  2. 設定 LINE Webhook
    • 回到 LINE Developers Console,在你的 Messaging API 頁面中找到 Webhook 設定。
    • 將 Webhook URL 設為剛才部署的 Google Apps Script Web App URL,並啟用 Webhook。
  3. 測試你的 LINE Bot
    • 在 LINE 中添加你的 Bot 為好友,並發送訊息以測試。

這些步驟應該能幫助你建立一個基本的 LINE Bot。如果你需要進一步的功能,如處理圖片、位置或其他類型的消息,可以擴展 handleUserMessage 函數以支援這些功能。

有需要進一步的細節或特定功能嗎?

測試

看能否作為 LINE Bot 後端解決方案


上一篇
4-7 call Gemini Nano API in Gemini Canary 金絲雀
下一篇
5-2-1 GAS call Gemini API
系列文
運用生成式 AI 服務 所提供的API 實做應用開發(以Gemini及ChatGPT為例)23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言