15
2024
07
19:22:22

一个免费的使用 GPT-4 API 的方案

本文介绍的 GPT-4 API 目前还只能调用 /v1/chat/completions 以及 /v1/models 和 v1/embeddings 接口。至于 v1/audio/speech 、 v1/fine_tuning 、 v1/files 、 v1/images 、 v1/moderations 等接口是不支持的。但是胜在免费,而且其文字能力确实强大而又出众。

本文只需要用到一个仓库,是 Yanyutin753 开发的 gpt4-copilot-java ,目前还没有放出源码,只能在 Release 中下载打包好的 fat jar 包运行或者直接 docker 运行使用。

感谢始皇提供的 Cocopilot 以及公车 ghu_ThisIsARealFreeCopilotKeyByCoCopilot (已失效)。

部署

docker 运行过于简单,这里不再赘述。大致说明一下 fat jar 直接运行的方法:

mac" style="transition: color 0.2s ease 0s, background 0.2s ease 0s, box-shadow 0.2s ease 0s, border-color 0.2s ease 0s; position: relative; box-sizing: border-box; margin: 1.4rem 0px 1.8rem; box-shadow: rgba(0, 0, 0, 0.4) 0px 0.8rem 2rem 0px; color: rgb(80, 80, 92); font-family: Optima-Regular, Optima, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 15.2px; letter-spacing: 0.2px; text-align: justify; text-wrap: wrap; background-color: rgb(255, 255, 255);">
BASH
1
2
3
4
5
6
# 下载 fat jar 包
curl -L -o gpt4-copilot-java.jar "https://github.com/Yanyutin753/gpt4-copilot-java/releases/download/v0.0.3/gpt4-copilot-java-0.0.3.jar"
# 测试运行,把 PORT 改为自己喜欢的端口,最后的 server.servlet.context-path 参数可以改成自己喜欢的尾缀
java -jar gpt4-copilot-java.jar --server.port=PORT --server.servlet.context-path=/
# 加入 pm2 管理
pm2 start java --name gpt4-copilot-java -- -jar gpt4-copilot-java.jar --server.port=PORT --server.servlet.context-path=/

使用

不妨设 gpt4-copilot-java 运行的地址为 https://your_gpt4-copilot-java.com 。使用公车作为 API Key 进行请求:

BASH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 请求 /v1/chat/comletions 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/chat/completions' \
 --header "Content-Type: application/json" \
 --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot" \
 --data '{
   "model": "gpt-4",
   "messages": [
     {
       "role": "system",
       "content": "You are a helpful assistant."
     },
     {
       "role": "user",
       "content": "鲁迅打周树人"
     }
   ]
 }'
BASH
1
2
3
4
5
6
7
8
9
# 请求 v1/embeddings 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/embeddings' \
 --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot" \
 --header "Content-Type: application/json" \
 --data '{
   "input": "鲁迅打周树人...",
   "model": "text-embedding-ada-002",
   "encoding_format": "float"
 }'
BASH
1
2
3
# 请求 /v1/models 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/models' \
 --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot"

即为 https://your_gpt4-copilot-java.com/cocopilot 做 API BASE URL ,再使用 ghu_ThisIsARealFreeCopilotKeyByCoCopilot 做 API Key 请求即可。为了使用方便,可以与上一篇博客一样接入 One-api 进行使用。



lvguanjun/copilot_to_chatgpt4

如果你需要同时薅很多家 copilot 中转商,又不希望同时搭多个 gpt4-copilot-java ,那么可以使用 lvguanjun/copilot_to_chatgpt4 这个仓库。

首先,为了防止被人白嫖,也为了自己的IP安全,可以先搭建一个 HTTP 代理:

JSON
1
2
3
4
5
6
7
8
{
 "rewrites": [
   { "source": "/proxy/:match/:url*", "destination": "https://:match/:url*" },
   { "source": "/proxy/:match/:url*/", "destination": "https://:match/:url*/" },
   { "source": "/httpproxy/:match/:url*", "destination": "http://:match/:url*" },
   { "source": "/httpproxy/:match/:url*/", "destination": "http://:match/:url*/" }
 ]
}

在 GitHub 中新建一个仓库,仓库中新建名为 vercel.json 的文件,并填入以上内容。再去 Vercel 中新建 Project ,选择刚刚新建的这个仓库即可。这样你就获得了一个由 Vercel 提供的通用 HTTP 代理,只需要在你需要访问的地址前加上https://your-vercel-project.vercel.app/proxy/即可通过 Vercel 代理访问目标地址,如https://proxy-nineninesix.vercel.app/proxy/www.google.com即为通过 Vercel 访问https://www.google.com

接下来,我以 Serv00 免费 FreeBSD 主机为例记录 lvguanjun/copilot_to_chatgpt4 的部署过程:

首先在 Panel 中放行一个端口,然后将仓库代码克隆到 Serv00 上:

BASH
1
git clone -b endpoint https://github.com/lvguanjun/copilot_to_chatgpt4 c2g4 && cd c2g4

接着按照源仓库的README准备虚拟环境:

BASH
1
2
3
4
5
python3 -m venv venv
source venv/bin/activate
# 由于 Serv00 免费用户的使用限制,在这里必须使用cpuset命令进行依赖安装,不然装不上。
cpuset -l 0 pip install -r requirements.txt
cp config.py.sample config.py

接着使用 Panel 自带的编辑器或者 vim 编辑 config.py 的内容,主要修改WHITE_TOKEN_URLS的值:

BASH
1
2
# 切记不要带 /proxy 路径,该仓库不支持识别此路径,直接用 /* 覆盖全路径即可。
WHITE_TOKEN_URLS = "https://your-vercel-project.vercel.app/*"

保存后,新建一个启动脚本,方便使用 pm2 管理:

BASH
1
2
3
4
5
6
7
cat > run.sh << EOF
#!/bin/bash
source venv/bin/activate
# 记得将下一行的 PORT 替换为自己放行的端口
uvicorn main:app --host 0.0.0.0 --port PORT
deactivate
EOF

测试运行:

BASH
1
chmod +x run.sh && bash run.sh

使用pm2管理运行:

BASH
1
chmod +x run.sh && ~/.npm-global/bin/pm2 start ./run.sh --name copilot_to_chatgpt4

拼接Key的规则:https://your-vercel-project.app/proxy/地址||秘钥,如https://your-vercel-project.app/proxy/1.1.1.1/copilot_internal/v2/token||mxY5Oc8i8qUHoaiyfgeiuqgefoufmdZwyUqJmlz+MVIXNOabdfkhdaqL0tkQyajSOihkkP/tXbvBUMZhQE08GTfGW4p9GdSHRaNLijJCNVc=.kJfupjFfQeriLXvBDGiA7g==




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/7125.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: