使用ChatGPT或者Github Copilot转换成OpenAI API
2023年真的是AI的元年。在这一年,ChatGPT席卷了整个互联网,Github Copilot也在开发者社区掀起了一阵热潮。由于OpenAI API的价格昂贵,很多人都在寻找替代方案。本文将介绍如何使用ChatGPT或者Github Copilot来转换成OpenAI API。
截止2024年01月13号。目前转换出openai api有两种可用方案:
- 通过
Github Copilot
转换 - 通过
ChatGPT
对话转换
以上两种方案都是通过官方的接口逆向而来,并不代表能够一直使用下去。 只是说在你开通了Github Copilot
或者ChatGPT Plus
的情况下,可以通过这两种方式来转换成OpenAI API。
通过Github Copilot转换(推荐)
推荐使用Github Copilot
来转换的原因是价格上更加的实惠,只需要10美元一个月,就可以使用Github Copilot Chat
。
官方本来是只有GPT3.5
的代码补全的,但是后面突然可以使用Github Copilot Chat
,简直太良心了,希望以后Chat功能不会额外收费。
使用的开源项目是: copilot-gpt4-service
安装
这个项目用法也非常简单,使用docker一键启用,然后就可以通过http://localhost:8080
来访问了。
docker run -d \
--name copilot-gpt4-service \
--restart always \
-p 8080:8080 \
-e HOST=0.0.0.0 \
aaamoon/copilot-gpt4-service:latest
注意,上面只是启动了一个代理转发服务,实际使用的时候还需要自己获取到Copilot Token
,然后在请求的时候带上这个Token。
获取 Github Copilot Plugin Token 的方式目前有两种方式:
- 通过安装 Github Copilot CLI 授权获取(推荐)。
- 通过第三方接口授权获取,不推荐,因为不安全。
配置
通过 Github Copilot CLI 授权获取配置
Linux/MacOS平台获取
# 如下脚本会自动安装 Github Copilot CLI 并通过授权获取 Github Copilot Plugin Token
bash -c "$(curl -fsSL https://raw.githubusercontent.com/aaamoon/copilot-gpt4-service/master/shells/get_copilot_token.sh)"
Windows 平台获取
下载这个批处理文件, get_copilot_token.bat ,然后双击运行即可。
使用方法
使用获取到的ghu_xxxxx作为COPILOT_TOKEN,然后通过http://localhost:8080
来访问, 以下是bash的例子:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $COPILOT_TOKEN" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
通过ChatGPT转换
因为ChatGPT Plus
收费比Github Copilot
贵两倍,所以优先级靠后。
安装
这里面使用的开源项目是ninja。ninja同样是使用docker一键启动,然后就可以通过http://localhost:7999
来访问了。
docker run --rm -it -p 7999:7999 --name=ninja \
-e LOG=info \
-v ~/.gpt4/:/root/.gpt4/ \
ghcr.io/gngpp/ninja:latest run
使用方法
- 使用的时候需要先获取到
ChatGPT Plus
的Token,然后在请求的时候带上这个Token。 访问: https://chat.openai.com/api/auth/session 就能看到自己的access token了。 - 需用通过网页聊天窗口触发一次GPT 4的聊天,获取到
arkose token
。 具体方法如下:- ChatGPT 官网发送一次 GPT-4 会话消息,浏览器 F12 下载 https://tcr9i.chat.openai.com/fc/gt2/public_key/35536E1E-65B4-4D96-9D97-6ADB7EFF8147 接口的HAR日志记录文件,
- 使用启动参数 —arkose-gpt4-har-dir 指定HAR目录路径使用(不指定路径则使用默认路径~/.gpt4,可直接上传更新HAR),同理GPT-3.5和其他类型也是一样方法。支持WebUI上传更新HAR,请求路径:/har/upload,可选上传身份验证参数:—arkose-har-upload-key
最后访问方法如下:
curl http://localhost:7999/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
总结
得到API接口之后,你就有非常高的自由度了,比如丢到很多第三方chat客户端。例如:opencat、chatx之类的。体验怎么都吊打官方的ChatGPT界面。