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_clearanceuser-agent 的获取方式,但是有人在 github反映只用 session_token 即可,其他的两个字段程序会自动从浏览器中获取,因此,不需要自己往里填充。
  • 所以最终 config.json 中还是只需要 session_token 即可:

环境配置

python >= 3.7

  • 首先是 python 版本,最初的 chatgpt 你用 python3.6 完全应付的来,但是在 12.12 之后的版本中,新加入了 playwrightcf_clearance 这两个包,需要 python 版本 >=3.7
    • 针对这种情况如果你之前已经按照我上一篇文章创建了 conda 的环境,那么你只需在conda 环境中升级一下 python 的版本,即 conda install python=3.7

特别提示

  • 如果你是用的是 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服务器)问题的主要内容,如果未能解决你的问题,请参考以下文章

ChatGPT可以改变哪些行业?

关于ChatGPT的一些信息,我画了一张思维导图

中美ChatGPT的商业化分野

不敲代码用ChatGPT开发一个App

ChatGPT:为什么它对所有行业都如此重要,它会杀死谷歌吗?

好玩多了,chatGPT接入微信公众号方法总结(绝对可行)