OpenAI API 代理

发布时间 2023-05-30 13:36:27作者: Journey&Flower

由于 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

注册 OpenAI 账号,获取你的 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官网查看,目前别无他法。

主要用到以下两个接口,请自行封装:

  1. 查询账号授权总金额 (system_hard_limit_usd)

    GET https://api.openai-proxy.com/v1/dashboard/billing/subscription

  2. 查询最近N天的用量 (total_usage)

    GET https://api.openai-proxy.com/v1/dashboard/billing/usage?start_date=2023-03-01&end_date=2023-05-01

  3. 计算账户余额

    balance ≈ system_hard_limit_usd - total_usage

注意,请求上面两个接口时也需要在 header 里面传递你的 apiKey

提供一个本人封装的查询余额接口给不会开发的小朋友,浏览器打开下面链接,把后面的apiKey改成你自己的就行了。

https://api.openai-proxy.com/pro/balance?apiKey=sk-xxxxxxxx

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 Stars
ChatGPT-Next-Web https://github.com/Yidadaa/ChatGPT-Next-Web Stars
ChatGPT-Web https://github.com/Chanzhaoyu/chatgpt-web Stars

? 强烈建议有条件的企业用户自行搭建代理服务,更加安全稳定,本服务器资源有限,请留给有需要的人。

?‍? 本站提供 有偿 搭建服务,如有需要请联系TG @json8888 或下方邮箱。

联系TG @json8888

TG频道:https://t.me/openai_proxy

邮箱:wangph.2020@gmail.com

上线时间:2023-03-08

更新时间:2023-05-08

转载:https://www.openai-proxy.com/