chatGPT:12.12 之后更新的 chatGPT 的本地部署和接口调用,解决 response 403 (无法连接openai服务器)问题
Posted 暖仔会飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chatGPT:12.12 之后更新的 chatGPT 的本地部署和接口调用,解决 response 403 (无法连接openai服务器)问题相关的知识,希望对你有一定的参考价值。
文章目录
问题
- 因为 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 项目没有保证通过这种方式就一定能够解决问题,但是他们目前做了这样的改进,大家可以按照自己的需求部署,后面怎么样还要看官方给的消息
- 错误基本就是这种,很无奈,等官方进一步发文
关于ChatGPT的一些信息,我画了一张思维导图
最近发现思维导图的形式对我梳理和记忆知识很有帮助,对于目前最火的ChatGPT,我也简单整理了一些信息,可以帮助有兴趣的人初步了解一下ChatGPT的概况。
最近发现思维导图的形式对我梳理和记忆知识很有帮助,对于目前最火的ChatGPT,我也简单整理了一些信息,可以帮助有兴趣的人初步了解一下ChatGPT的概况,包括:
- ChatGPT是什么
- ChatGPT能做什么
- ChatGPT可能是怎么训练的
- ChatGPT可能的训练/服务成本
- ChatGPT模型的历史
- ChatGPT存在的问题,等等。
我中度使用了一个多月ChatGPT,日常主要用来翻译、不同语言的代码迁移、信息查询、文字润色等,它对文字的理解能力基本上和人类没有区别了,大多数时候都能提供很有信息量的回答,当然,有时也会出现错误的答案、不存在的API、或者虚构的内容,但总的来说,已经非常令人惊艳。也许,将来我们回望历史的时候,此刻,已经是通用型人工智能的曙光初露了。
(如果有小伙伴还没有使用过ChatGPT,强烈建议大家亲身试用一下。我搭了一个免费的小跳板,可以直接访问ChatGPT,不需要魔法上网,有兴趣可以关注公众号“后厂村思维导图馆”(下面有二维码)向我索要。)
以上是关于chatGPT:12.12 之后更新的 chatGPT 的本地部署和接口调用,解决 response 403 (无法连接openai服务器)问题的主要内容,如果未能解决你的问题,请参考以下文章