文章目录
- 问题
- 源代码改动
- 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 token
cf_clearance
user_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 客户端应用,118M playwright install
pip 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 项目没有保证通过这种方式就一定能够解决问题,但是他们目前做了这样的改进,大家可以按照自己的需求部署,后面怎么样还要看官方给的消息
- 错误基本就是这种,很无奈,等官方进一步发文