【GPT-3 LINE BOT】(4) 来人啊~ 上程式码 啦~~

Google Apps Script 内部档案分布

我将只会附上 主程式码(doPost) 与 chatGPT_api() 的部分

主程式原始码(doPost)

ChatGPT_ACCESS_TOKEN = // OpenAI 的 API token keysCHANNEL_ACCESS_TOKEN = // 你的 line bot tokenfunction doPost(e) {  //从接收到的讯息中取出 replyToken 和发送的讯息文字资讯   var msg = JSON.parse(e.postData.contents);  var replyToken = msg.events[0].replyToken;  var type = msg.events[0].type;  var userid = msg.events[0].source.userId;  var groupid = msg.events[0].source.groupId;  // 只接收纯文字的讯息  if (type == 'message' && msg.events[0].message.text != null) {    var userMessage = msg.events[0].message.text;  }  else { return 0 }  // 帮使用者输入的文字后面加入结束字元  send_msg = userMessage + "###"  // 虽然这样会消耗很多的 token 数,但经过我测试,这样比起调高 max_tokens 还可以更快的得到 API 的回覆答案  // 重複的向 GPT API 传送讯息,直到没有接收到任何东西(这样即可突破 4000 token 的限制)  do {    response = chatGPT_api(send_msg)    receive_msg = JSON.parse(response.getContentText())["choices"][0]["text"]    send_msg = send_msg + receive_msg    check_end = receive_msg.length == 0    console.log(send_msg)  } while (!check_end)  // 把讯息过筛不需要的换行字元后用LINE传回给使用者  reply = send_msg.replace(userMessage, "").replace("###", "")  console.log(reply)  while (reply[0] == "\n") { reply = reply.replace("\n", "") }  reply_message(replyToken, [{ 'type': 'text', 'text': reply }])  // reply_message(replyToken, reply_flex(reply))  // 预留使用flex传送讯息的程式码}

chatGPT_api()

// 可以自行改动各项参数function chatGPT_api(message) {  return UrlFetchApp.fetch('https://api.openai.com/v1/engines/text-davinci-003/completions', {    'method': 'post',    'headers': {      'Content-Type': 'application/json',      'Authorization': 'Bearer ' + ChatGPT_ACCESS_TOKEN,    },    'payload': JSON.stringify({      temperature: 0.9,      max_tokens: 256,      top_p: 1,      frequency_penalty: 2,      presence_penalty: 0.6,      prompt: message,      stop: ["###"],    }),  })}

程式码(网址)

部分简单重複的内容就不在这边说明,但我都放在连结里面

https://script.google.com/d/1LdBtvb8nhSLnjpw0Goqr6Zyk4Ixl_QFDU3Hlkw7Z7gAIPEk8eUBaUSY7/edit?usp=sharing


参考资料

全部都是这光头歪国人他教我的
How to create GPT-3 apps in Google Sheets – Free Tutorial

另外当初在做的时候也有看到其他有趣的创作者,给大家参考

国内大神 memochou1993 做的超强 LINE BOT (这四篇必看)
GPT AI Assistant
[ 分享 ] 如何创建类似 ChatGPT 的 Line Bot 聊天机器人 !
[ 分享 ] 真的是 ChatGPT ! Line Bot 4.0 聊天机器人升级版 !
快速建立AI + LINEBOT 聊天机器人 【GPT + Linebot串接】 [免写程式]国外大神 Debug 神器
ChatGPT Adrenaline无痛使用 ChatGPT (不受 API KEY 限制)
Lightweight version of ChatGPT
C# 无痛使用 ChatGPT其他应用
如何开发一个「LINE Bot 群组聊天摘要生成器」

最后

由于 OpenAI 所开放的 API 在三个月内只有100K的令牌(token)可以使用,又加上我自己玩一玩就已经用掉三分之一了,所以我若大家有想要玩的,可以自己 copy 我的 code 来创作喔!~~ (抱歉 我就是穷逼免费仔另外提醒一下,很多的创作大部分都是要用自己的 API KEY ,所以只能使用三个月,无痛使用的方式才是能免费的使用 ChatGPT 喔~
若以上有任何的错误都欢迎留言跟我说我会非常感谢你的(ノ>ω<)ノ

【GPT-3 LINE BOT】 系列

(1) 介绍 ChatGPT & GPT-3
(2) 玩坏 ChatGPT LINE BOT
(3) 创建属于自己的 ChatGPT LINE BOT
(4) 来人啊~ 上程式码 啦~~
(5) 同场加映:介绍 Hugging Face 及 Meta AI BlenderBot
(6) 同场加映:Hugging Face 串接 LINE BOT
(7) 同场加映:用 Python & Google Apps Script 玩 Hugging Face


接案 (☛´∀`*)☛ LINE ID:albert20699

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章