To ChatGPT:让你更加随意地使用所有ChatGPT应用
阅读原文时间:2023年08月18日阅读:6

现在其实已经有很多在线的llm服务了,当然也存在许多开源部署方案,但是不知道大家有没有发现一个问题,目前基于ChatGPT开发的应用,都是使用的OpenAI的接口。换句话说,如果没有OpenAI账号,就没有办法使用这些应用。但是其实这些应用并不是强依赖于OpenAI的接口,其他的在线llm服务也是可以的,如claude、cohere等,自己部署的模型当然也行。

假如有这么一个东西,可以让你不再受限于只能使用OpenAI接口,相信工作问题将可以更快解决,早早下班指日可待。受于claude-to-chatgpt启发,于是我决定做一个这样的项目,to-chatgpt,让我们可以更加随意自由地使用所有ChatGPT应用!!!

使用之前,需要保证当前服务可以访问相关的llm服务,比如说claude、cohere都有区域限制。至于这么处理这个限制,github上有很多方案,搜索一下就知道了,提示只能这么多了。

adapter 参数

值得注意的是,目前有两种适配器,一种是异步的,一种是同步的。 决定使用哪个类别的因素是当前访问在线LLM服务的sdk。如果提供了异步接口,则优先考虑异步实现。

通过-a指定适配器,目前已经实现的适配器包括了:

异步适配器

  • claude,使用 anthropic-sdk-python 实现。 活期账户需要申请,成功后可免费使用,供个人日常使用。
  • cohere,使用 cohere-python 实现。 只需要注册一个账号,个人就可以免费使用,但是有频率限制,一分钟五次。
  • new_bing,使用 EdgeGPT 实现,EdgeGPT 是微软 Bing Chat AI 的逆向工程 API。 因为目前new bing没有提供官方sdk,所以这种方式不稳定。

同步适配器

  • bard,使用 Bard 实现,是 Google Bard 的逆向工程 API,不稳定。

如果想在 ChatGPT 应用程序中使用 cohere api,你只需要启动服务,如:

python app.py -a cohere

还有一点需要注意的是,因为有些API是非异步的,比如现在的bard,需要运行app_sync.py文件,比如:

python app_sync.py -a bard

源码运行

git clone https://github.com/SimFG/to-chatgpt
cd to-chatgpt

pip install poetry
poetry install
python app.py -a new_bing

docker 运行

docker pull simfg/to_chatgpt:latest

docker run -d -p 8000:8000 simfg/to_chatgpt:0.1

指定adapter运行

docker run -d -p 8000:8000 simfg/to_chatgpt:latest poetry run python app.py -a new_bing

如果发现服务没有正常响应,可以查看服务控制台是否有错误输出,很可能访问llm服务有问题。

如果要指定服务的端口,可以使用-p参数。

将chatgpt应用中的openai base url设置为服务地址。 一般这个选项在openai api key附近。

不同的适配器有不同的使用方法,说明如下。

  • claude

    启动服务后,在需要OPENAI_API_KEY的地方指定claude服务的api key。

  • cohere

    启动服务后,在需要OPENAI_API_KEY的地方指定cohere服务的api key。

  • new_bing

    不需要设置,但不稳定。

  • bard

    启动服务后,在需要OPENAI_API_KEY的地方指定__Secure-1PSID cookie。

cookie获取方式

  • F12 控制台
  • 复制值
    • 会话:转到应用程序 → Cookie → __Secure-1PSID。 复制该 cookie 的值。

更多细节:Bard

如果你认为项目不错,帮忙Github star and star,感谢感谢