OpenAI API 代理
由于 OpenAI 及 GFW 的双重限制,国内用户无法访问 OpenAI 的 API,现提供代理服务地址供开发者 免费 使用。
✅ 代理地址:https://api.openai-proxy.com,支持OpenAI官方所有接口。本服务只做代理中转,不会保存任何数据!
😄 直接将官方接口域名 api.openai.com
替换为 api.openai-proxy.com
即可在国内网络环境下直接调用,支持SSE。
如代理域名被墙,请关注TG频道查看备用域名:https://t.me/openai_proxy
如果本代理服务对你有帮助,可以 赞助 作者一瓶水,非常感谢!
不太方便加微信,赞助的用户如有需要可联系TG @json8888
1. 🔑 获取ApiKey
2. 🐞 测试代理服务
把下列命令中的 <your_openai_api_key> 替换为你自己的 api_key
# 测试聊天补全命令
curl https://api.openai-proxy.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_openai_api_key>" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
# 响应结果
{
"id": "chatcmpl-21lvNzPaxlsQJh0BEIb9DqoO0pZUY",
"object": "chat.completion",
"created": 1680656905,
"model": "gpt-3.5-turbo-0301",
"usage": {
"prompt_tokens": 10,
"completion_tokens": 10,
"total_tokens": 20
},
"choices": [
{
"message": {
"role": "assistant",
"content": "Hello there! How can I assist you today?"
},
"finish_reason": "stop",
"index": 0
}
]
}
# 测试图片生成命令
curl https://api.openai-proxy.com/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_openai_api_key>" \
-d '{
"prompt": "A bikini girl",
"n": 2,
"size": "512x512"
}'
# 响应结果
{
"created": 1680705608,
"data": [
{
"url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-xxxxxxx"
},
{
"url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-xxxxxxx"
}
]
}
3. 💬 连续对话模式
有很多朋友发邮件问如何实现连续聊天,官方文档其实写的很清楚 https://platform.openai.com/docs/guides/chat/introduction
Chat models take a series of messages as input, and return a model-generated message as output.
聊天模型将一系列消息作为输入,并返回模型生成的消息作为输出。
下面是官方Python语言实现连续聊天的代码示例,主要看这个 messges 数组:
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
)
role为system可以限定AI的角色,role为user是用户发送的内容,role为assistant是AI回答的内容。
OpenAI本身是没有记忆的,如果你不告诉他你之前说了什么以及他之前回答了什么,那么他只会根据你最近一次发送的内容进行回答。
所以,要想实现“连续对话”,每次发送消息时,你需要将你之前发送的内容(user)以及OpenAI之前返回的内容(assistant),再结合你本次想发送的内容(user) 按 时序 组合成一个 messages[] 数组,然后再将这个数组发送给OpenAI就行了,就是这么简单。
有一点需要注意,这样虽然可以实现“连续对话”,但势必造成每次发送的消息内容会非常多,而OpenAI是按字数计费的,所以请自行权衡每次应该携带的数量。
4. 💹 查询账户余额
原OpenAI官方后台查询余额的接口由于被用户滥用,官方给撤销了,现有一个折中的方式去计算账户余额。逻辑是先得到OpenAI给你账户授权的总金额,然后减去最近90天你账户消耗的金额,得到的即为账户可用余额。如果你的账号已使用超过90天,此计算方式会存在误差,如果想知道准确的数据,请登录OpenAI官网查看,目前别无他法。
主要用到以下两个接口,请自行封装:
-
查询账号授权总金额 (system_hard_limit_usd)
GET https://api.openai-proxy.com/v1/dashboard/billing/subscription
-
查询最近N天的用量 (total_usage)
GET https://api.openai-proxy.com/v1/dashboard/billing/usage?start_date=2023-03-01&end_date=2023-05-01
-
计算账户余额
balance ≈ system_hard_limit_usd - total_usage
注意,请求上面两个接口时也需要在 header 里面传递你的 apiKey
提供一个本人封装的查询余额接口给不会开发的小朋友,浏览器打开下面链接,把后面的apiKey改成你自己的就行了。
5. ℹ️ 接口速率限制
速率限制以两种方式度量:RPM(每分钟请求数)和 TPM(每分钟令牌数)。
该限制为OpenAI官方限制,OpenAI可能会根据用户的使用情况动态调整限制规则。
TYPE | 1 TPM EQUALS |
---|---|
davinci | 1 token per minute |
curie | 25 tokens per minute |
babbage | 100 tokens per minute |
ada | 200 tokens per minute |
TEXT & EMBEDDING | CHAT | CODEX | EDIT | IMAGE | AUDIO | |
---|---|---|---|---|---|---|
Free trial users | 3 RPM 150,000 TPM | 3 RPM 40,000 TPM | 3 RPM 40,000 TPM | 3 RPM 150,000 TPM | 5 images / min | 3 RPM |
Pay-as-you-o users (first 48 hours) | 60 RPM 250,000 TPM | 60 RPM 60,000 TPM | 20 RPM 40,000 TPM | 20 RPM 150,000 TPM | 50 images / min | 50 RPM |
Pay-as-you-go users (after 48 hours) | 3,500 RPM 350,000 TPM | 3,500 RPM 90,000 TPM | 20 RPM 40,000 TPM | 20 RPM 150,000 TPM | 50 images / min | 50 RPM |
TYPE (beta) | LIMIT |
---|---|
GPT-4 / GPT-4-0314 | 40k TPM and 200 RPM |
GPT-4-32k / GPT-4-32k-0314 | 80k TPM and 400 RPM |
官方文档地址:https://platform.openai.com/docs/guides/rate-limits/overview
我们拿 /v1/chat/completions 接口举例:
免费用户 每分钟请求数原来是 20次/分钟, 现在改为了 3次/分钟。
付费用户 在付费后48小时内请求数为 60次/分钟,48小时后为 3500次/分钟。
6 . ⭐️ 优秀开源项目
以下开源项目支持配置代理地址,你可以直接把 https://api.openai-proxy.com
设为其代理接口地址(base_url),这样就直接可以在国内网络环境下使用。
名称 | Github地址 | Stars |
---|---|---|
OpenAI-Translator | https://github.com/yetone/openai-translator | |
ChatGPT-Next-Web | https://github.com/Yidadaa/ChatGPT-Next-Web | |
ChatGPT-Web | https://github.com/Chanzhaoyu/chatgpt-web |
🌴 强烈建议有条件的企业用户自行搭建代理服务,更加安全稳定,本服务器资源有限,请留给有需要的人。
👨💻 本站提供 有偿 搭建服务,如有需要请联系TG @json8888 或下方邮箱。
联系TG @json8888
TG频道:https://t.me/openai_proxy
上线时间:2023-03-08
更新时间:2023-05-08
转载:https://www.openai-proxy.com/
转载:https://github.com/JourneyFlower/MaxKB/wiki/2.3-AI模型管理