你是否平常忙到没空交朋友?用交友软件时,如果同时跟多个人聊天,时常会担心没能即时回覆每个人,因此错过了彼此?在 ChatGPT 问世后,这些问题都不用担心了。让 ChatGPT 帮你自动回覆讯息,从此不再错过任何一个机会。有了 ChatGPT 下一个约会大师就是你。
在这篇文章中,我们将会一步步教你如何把 ChatGPT 串接到 Tinder(交友软件) 上面去,让你即使忙碌不担心漏回讯息。透过我们已经做好的专案基底,你只需要简单的复制与修改,不会写程式也能轻松完成串接流程,让 ChatGPT 从过去的聊天记录去推测要帮你回覆什么。最后也会说明可以如何透过一些参数的设定,来客制化 ChatGPT 的回覆频率、回覆长度,以及满足什么条件时才帮你回覆。
如果你是会写程式的工程师,你可以进一步把使用者的背景资讯接入,甚至可以透过去图像相关的模型,去侦测图片,让 ChatGPT 提供更适切的回应。
先来看看 Demo
在开始串接前,我们先看 Demo,可以看到,程式会依照每一个聊天室过往聊天的内容,帮你直接回覆给你的聊天对象。举例来说,我这边预先下的指令语句为:
请你学习 [Sender] 的说话方式,试着在下面的对话中回覆 [Receiver] ,总回覆字数不要大于 50 个字,最后要用问题结尾。并且回覆的语言是 [Sender] 常用的语言
其中, [Sender]
为自己 [Receiver]
为对方,因此要修改的人,可以修改这一段内容,可以新增一些双方的背景资讯、或者可以和 ChatGPT 说,你的回话风格像是怎么样子 (例如:热情、体贴,或是高冷),让 ChatGPT 依照你的想要营造出的人设给予回覆。
串接步骤
取得 Token
- OpenAI Token
- 在 OpenAI 平台中注册/登入帐号 → 首次注册需要填写基本资讯
- 右上方有一个头像,点入后选择
View API keys
- 点选中间的
Create new secret key
⚠️ 每支 API 有免费额度,也有其限制,详情请看 OpenAI Pricing
- Tinder Token
- 登入 Tinder
- 按下
右键
->检查
->网路
-> 挑选任一只 Request -> 寻找 Request 里的x-auth-token
专案设置
- Fork Github 专案
- 注册/登入 GitHub
- 进入ChatGPT-Tinder-Bot
- 点选
Star
支持开发者 - 点选
Fork
复制全部的程式码到自己的仓库
- 部署(免费空间)
- 进入 replit
- 点选
Sign Up
直接用Github
帐号登入并授权 -> 按下Skip
跳过初始化设定 - 进入后中间主页的部分点选
Create
-> 跳出框,点选右上角Import from Github
- 若尚未加入 Github 仓库,则点选连结
Connect GitHub to import your private repos.
-> 勾选Only select repositories
-> 选择ChatGPT-Tinder-Bot
- 回到第四步,此时
Github URL
可以选择ChatGPT-Tinder-Bot
专案 -> 点击Import from Github
。
专案执行
- 环境变数设定
- 接续上一步
Import
完成后在Replit
的专案管理页面左下方Tools
点击Secrets
。 - 右方按下
Got it
后,即可新增环境变数,需新增:
- OpenAI API Token:
- key:
OPENAI_API
- value:
[由上方步骤一取得] sk-FoXXXX
- key:
- 欲选择的模型:
- key:
OPENAI_MODEL_ENGINE
- value:
gpt-3.5-turbo
- key:
- ChatGPT 要讓助理扮演的角色詞(目前官方无释出更多的使用方法,由玩家自行测试
- key:
SYSTEM_MESSAGE
- value:
You are a helpful assistant.
- key:
- Tinder Token:
- key:
TINDER_TOKEN
- value:
[由上方步骤一取得] MTA3NXXX
- key:
- 接续上一步
- 开始执行
- 点击上方的
Run
- 成功后右边画面会显示
Hello. I am alive!
,并将画面中上方的网址复制下来,下一步骤会用到
- 点击上方的
⚠️ 若一小时内没有任何请求,则程式会中断,因此需要下步骤
- CronJob 定时发送请求
- 注册/登入 cron-job.org
- 进入后面板右上方选择
CREATE CRONJOB
Title
输入ChatGPT-Tinder-Bot
,网址输入上一步骤的网址- 下方则每
5 分钟
打一次 - 按下
CREATE
常见问题与说明
回覆的时间点为?
- 预设是每五分钟扫一次,若发现对方尚未回覆则会略过;若超过一天对方无回覆,则才会再次留言,但这可以透过调整参数来客制化
如何客制化调整?
- 在
main.py
中,27 行的scheduled_job
可以调整多久回覆一次 - 在
main.py
中,34 行的for
可以调整要回覆多少聊天室内容 - 在
main.py
中,47 行的if
可以调整什么样的状况才会回应讯息
如何加入更多资讯?
/src/dialog.py
中,有一个prefix
,可以将资讯加入其中,像是你可以训练机器人,说明你的回应风格是什么类型,因此希望他照着你的回应风格去做回应。