chatGPT:12.12 之后更新的 chatGPT 的本地部署和接口调用,解决 response 403

文章目录

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

本文链接:https://my.lmcjl.com/post/6584.html

展开阅读全文

4 评论

留下您的评论.