1:起因
目前ChatGPT
如火如荼, 但是GPT3.5
的模型能力有限,很多人选择开通GPT Plus
来使用GPT4
功能。
目前,GPT PLUS
用户可以使用以下模型:
- GPT 3.5
- 优点:速度快,适合一般的需求。
- 缺点:模型参数较少,回答不够智能。
- GPT 4
- 优点:模型参数多,回答更智能,上下文理解更强。
- 缺点:有次数限制, 25次/3小时,
对英文理解能力强于中文
,如果中文回答较烂,可以尝试英文。
- GPT 4 - Browsing
- 优点:添加了联网功能, 同上
- 缺点:同上
GPT 4 - Plugin
- 优点:各种千奇百怪的插件,其中文献检索功能较为不错,同上
- 缺点:同上
5.18日 OpenAI
推出IOS的APP版本,其中对于plus用户可以无限次数的使用GPT4
模型。在登录IOS的过程中发现OpenAI
在其中内嵌了一个网页,推测可以通过逆向功能实现网页版无限使用。
2:具体实现
在IOS
设备使用无限次数的GPT4后会留下历史记录:
推测可能是调用了不同的模型, 决定采取浏览器抓包的方式来实现。
具体实现步骤
什么是浏览器抓包:
浏览器抓包 是一种网络调试方法,主要用于观察并分析浏览器和服务器之间的网络交互过程。具体来说,就是在浏览器发送请求和接收响应的过程中,捕获并记录网络数据包的过程。
抓包的用途
- 调试网络问题:开发者可以使用抓包工具检查请求和响应的详细信息,如HTTP头,内容,以及错误代码,等等,从而查找问题的来源。
- 网络性能优化:通过抓包,我们可以观察网页加载的具体过程,以及每个请求所需的时间,这对于网络优化和性能提升非常有帮助。
- 网络安全:抓包工具也常被用于检测网络安全问题,如未加密的数据,或是恶意的网络活动。
如何进行浏览器抓包
- 使用浏览器的开发者工具:大部分现代浏览器都内置了开发者工具,可以直接进行网络抓包。例如,在 Chrome 浏览器中,只需打开“开发者工具”(F12或右键点击页面然后选择”检查”),然后选择”Network”标签,就可以看到网络请求的详细信息。
- 使用抓包工具:除了浏览器自带的工具,还有一些专业的抓包工具,如 Wireshark,Fiddler,Charles 等,这些工具功能更强大,能捕获更多类型的网络数据包。
如何进行浏览器抓包
本人的使用的浏览器为Edge
浏览器, Chrome
浏览器同理, 在浏览器中按下F12
键打开调试工具,选择网络这一项。
然后清空历史的记录(点击上方的圆圈符号), 然后当你在ChatGPT
的网页版发送信息后, 在右侧的网络调试工具便可以看到你调用时发送的信息。比如说这里我们调用的是GPT4模型。
当然,Mac同理,由于该APP
只能在IOS
设备上使用, 所以我借用了舍友的MAC
进行了抓包,最后发现IOS设备无限使用的模型为gpt-4-mobile
。 现在我们已经获取了我们所需要的所有内容了。现在就可以开始编写脚本来实现了。
- 脚本编写
很多人觉得编写脚本代码是一键很难的事,但是有GPT-4
的帮助后,其实不然,询问如何编写,他便可以很轻松的给出代码:
稍加修改,便得到了第一版可以运行的代码:
// ==UserScript==
// @name 无限GPT4
// @namespace https://github.com/linkedlist771
// @description 无限使用GPT4
// @license MIT
// @include *
// @version 1
// @grant none
// ==/UserScript==
(function() {
'use strict';
let realFetch = window.fetch;
window.fetch = function(url, init) {
if (init && init.method === 'POST') {
let data = JSON.parse(init.body);
if (data.hasOwnProperty('model')) {
data.model = 'gpt-4-mobile';
init.body = JSON.stringify(data);
}
}
return realFetch(url, init);
};
})()
现在这个代码已经可以正常运行了,在启动后,询问区别GPT4和3.5的问题,可以得到正确的答案,而且会看历史记录可以发现模型已经被修改了。确实为GPT4。
在LShang001和Seto的建议后, 对代码的部分部分逻辑进行了订正,xuzihanshsjnsn 帮忙完成了UI部分的设计。 基于此完成了第四版
脚本,开启后有一个按钮,通过选择可以控制目前是否开启。
总结
至此,我们完成了如何通过抓包找到模型然后编写JS代码进行实现无限次数的GPT4模型调用,如果觉得写的不错可以给项目点个赞捏, **给大家磕头了ლ(´ڡ`ლ)**。