API 文档请查看 👉 https://openai-proxy.apifox.cn
openai-proxy
是为中国用户提供的一个方案,目前可以帮你解决的问题有:
- ✅ OpenAI API 请求超时
- ✅ OpenAI API 不支持查询费用消耗量
- ✅ Claude API 还在等待列表中
- ✅ Google Bard 没有提供 API
- 。。。
现在您只需要将 https://api.openai.com
替换成 https://openai.aihey.cc/openai
即可食用
# openai api
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
# 替换后
curl https://openai.aihey.cc/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
自从 2023 年 04 月份开始,
https://api.openai.com/dashboard/billing/credit_grants
只能通过网页登录生成的 session id 来请求,而 key (sk-*****
) 的方式将无效。不过您可以通过下述两个方式来请求。
缺点:
- 可能和网页端显示的数据存在差异(这个不知道为啥,有了解的小伙伴欢迎在 ISSUES 指出)
# 指定统计开始日期和结束日期
curl https://openai.aihey.cc/openai/billing/credit_grants?start_date=2022-05-10&end_date=2023-05-10 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-***********"
# 不指定参数,默认统计最近 90 天的数据
curl https://openai.aihey.cc/openai/billing/credit_grants \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-**********"
缺点:
- 首次需要去网页端获取(按 F12 后刷新网页)
- 可能随时会失效(但目前来看只要网页端不退出登录,
sensitive_id
时效都比较长)
curl https://openai.aihey.cc/openai/billing/credit_grants\
-H "Content-Type: application/json" \
-H "Authorization: Bearer sess-*****"
- 访问 claude.ai 创建账号(暂时只有美国和英国 IP 可访问)
- 从网页端拿到 orgId
- 从网页端拿到 sessionKey
curl -X GET 'https://openai.aihey.cc/claude/organizations/dca2a902-a463-41f0-88cb-b047deb40178/chat_conversations' \
--header 'Accept: */*' \
--header 'Content-Type: application/json' \
--header 'Cookie: sessionKey=sk-***********'
curl -X POST 'https://openai.aihey.cc/claude/append_message' \
--header 'Accept: text/event-stream' \
--header 'Cookie: sessionKey=sk-***********' \
--header 'Content-Type: application/json' \
--data-raw '{
"completion": {
"prompt": "hello",
"timezone": "Asia/Shanghai",
"model": "claude-2"
},
"organization_uuid": "dca2a902-a463-41f0-88cb-b047deb40178",
"conversation_uuid": "5446798e-0e11-4e8f-994c-3d8386f01bd6",
"text": "hello",
"attachments": []
}'
已经支持类似 gpt 的请求格式,如果你使用的第三方插件支持自定义 OpenAI 地址,现在可以直接将 https://api.openai.com
替换成 http://openai.aihey.cc/claude/{organization_uuid}
curl -X POST 'https://openai.aihey.cc/claude/dca2a902-a463-41f0-88cb-b047deb40178/v1/chat/completions' \
--header 'Accept: */*' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your-sessionKey' \
--data-raw '{
"model":"gpt-3.5-turbo",
"messages": [
{"role": "user", "content":"hello"}
],
"stream": false
}'
更多接口请参考 https://openai-proxy.apifox.cn/doc-2721086
承诺:当 Google Bard 官方开放 API 时,将替换为官方 API 请求
官方 API 申请:https://www.googlecloudcommunity.com/gc/AI-ML/Google-Bard-API/m-p/538517
借助 PawanOsman/GoogleBard 现成的封装,现支持通过 api 请求 Google Bard
curl -X POST https://openai.aihey.cc/google/bard \
-H "Content-Type: application/json" \
-H "Cookie: __Secure-1PSID=*****;__Secure-1PSIDTS=*******" \
-d '{
"prompt": "hello"
}'
__Secure-1PSID
获取方式如下图,网页端打开 Google Bard 后,F12 查看 Cookies。__Secure-1PSIDTS
获取方式同理
你可以使用以下任一方式进行部署,之后只需将前文中的 https://openai.aihey.cc
替换成你自己的即可
注意:vercel 免费版本对函数执行时间存在限制,具体可参考 #10
如果你希望也能在国内正常访问,可以试试域名解析的方案
首先请准备一个域名
去域名服务商添加 CNAME
cname-china.vercel-dns.com
可参考: https://mp.weixin.qq.com/s/qbyKE_Uf_3xbWWqFKidreA
docker run -itd --name openai-proxy -p 13000:3000 unickcheng/openai-proxy
# 查看服务
docker ps -a
如果你熟悉 docker compose,可参考 docker-compose.yml 文件,使用 docker compose up -d
命令来启动服务
不会,但也不要放下警惕。市面上也有很多同类开源的优秀产品,都不会恶意地盗用使用者的 key,遗憾的是,这并不代表全部。因此,在使用第三方平台的产品,尽量使用一个定期更新的 key。
如果有条件的话,建议参考前面内容自行部署,如果遇到问题,可在 Issues 中提问。
因为想入门 Next.js,所以就有了这个项目。
另外,这里只是提供一个方案,对于 API 请求速度并没得到多少提升,自行部署还需要额外提供域名,似乎听着就嫌麻烦。
- 如果你是名爱折腾的开发者,或许也可以尝试 Nginx、Cloudflare 等方案
- 如果你希望有个直接拿来用的方案,那么请放心大胆地白嫖
- https://vercel.com/docs
- https://nextjs.org/docs
- https://platform.openai.com/docs/api-reference
- https://github.com/PawanOsman/GoogleBard
- https://github.com/vercel-labs/ai
- https://claude.ai
- https://github.com/Danny-Dasilva/CycleTLS