文章目录
- 问题
- 源代码改动
- Session token 的获取
- cf_clearance 的获取
- user-agent 的获取
- 将 config.json.sample 内容修改并移动位置
- 附注:
- 环境配置
- python >= 3.7
- 特别提示
- playwright & cf_clearance
- revChatGPT 版本
- httpx
- OpenAIAuth
- 删除 import 中的错误
- 后记
问题
- 因为 chatgpt 在 12.12 号更新了版本,因此整个源代码中增加了通过
session_token,cf_clearance,user_agent来访问接口的最新方式 - 因此我们要做的主要就是两件事:
- 重新下载源代码
- 重新配置环境
- 如果你之前看过我关于初代 chatgpt 在本地运行并调用接口的文章,那么你需要两篇文章结合起来看,如果你没看过上一篇文章,建议你先去读一下之前 那篇,因为很多基础操作我不会在这里重新描述一遍。
源代码改动
- 首先下载最新的源代码
- 通过在
config.json文件中指定这三个字段的值来获得访问的身份,下面我会描述如何获得这三个字段:session tokencf_clearanceuser_agent
Session token 的获取
- 跟上一篇文章中的完全一样
cf_clearance 的获取
- 和 cookie 的位置很接近了
检查(F12) -> Application -> cf_clearance

user-agent 的获取

- 点击
chat之后会有一个request head拉到底然后复制user-agent

将 config.json.sample 内容修改并移动位置
- 原本
config.json.sample的位置是直接在项目目录下面,我们首先打开它,将其中的内容按照上面的三个字段填写进去:

- 然后将这个
config.json.sample的名称改成config.json - 最后将
config.json移动到revChatGPT文件夹下面

附注:
- 虽然这里给出了
cf_clearance和user-agent的获取方式,但是有人在github上反映只用session_token即可,其他的两个字段程序会自动从浏览器中获取,因此,不需要自己往里填充。 - 所以最终
config.json中还是只需要session_token即可:

环境配置
python >= 3.7
- 首先是
python版本,最初的chatgpt你用python3.6完全应付的来,但是在 12.12 之后的版本中,新加入了playwright和cf_clearance这两个包,需要python版本>=3.7- 针对这种情况如果你之前已经按照我上一篇文章创建了 conda 的环境,那么你只需在conda 环境中升级一下 python 的版本,即
conda install python=3.7
- 针对这种情况如果你之前已经按照我上一篇文章创建了 conda 的环境,那么你只需在conda 环境中升级一下 python 的版本,即
特别提示
- 如果你是用的是
pycharm这种集成开发工具,由于你的 python 版本更新了,那么你这个环境需要从新链接一下,否则程序无法运行。链接的方式也很简单就是把编译器重新加载一下,我是macos,你们按照自己的设备来调整:

playwright & cf_clearance
-
接下来就是安装:
# 第一句话装 python-package 这样就可以用 python 来调用软件 playwright 的功能pip install playwright# 第二句话下载应用 playwright 客户端应用,118Mplaywright installpip install cf_clearance -
如果你python版本是
3.7以下,在安装playwright的时候就会直接报这个错误:
ERROR: Could not find a version that satisfies the requirement playwright (from versions: none)
ERROR: No matching distribution found for playwright

revChatGPT 版本
- 如果是 desktop 的环境或者 server 上的环境是不同的,这一点特别注意点
- 我在自己的 desktop 上用,所以是
pip install revChatGPT==0.0.42.1

httpx
pip install httpx
OpenAIAuth
pip install OpenAIAuth
删除 import 中的错误
- 在
__main__.py中这个多余的前缀revChatGPT.删除

后记
- 目前 chatGPT 的 github 项目没有保证通过这种方式就一定能够解决问题,但是他们目前做了这样的改进,大家可以按照自己的需求部署,后面怎么样还要看官方给的消息
- 错误基本就是这种,很无奈,等官方进一步发文

本文链接:https://my.lmcjl.com/post/6584.html
展开阅读全文
4 评论