基于开源项目 ONE-API

已经失效

目前由站长本人自费维护。


OPENAI API 中转/代理


由于 OpenAI 及 GFW 的双重限制,国内开发者无法访问 OpenAI 的 API,现提供代理服务地址供开发者免费使用。

✅ 使用本站的反向代理地址,直接替换官方的 https://api.openai.com
支持官方所有v1接口。

⚠️ 本站不会通过任何方式获取任何请求信息用于其他用途。同时也不会对您的 KEY 进行保留。请放心使用。

🚨 请勿使用魔法上网的方式用你的 ApiKey 去调用 api.openai.com 的接口,否则大概率会被 OpenAI 封号!

本站提供两种使用OPENAI的方式,分别是使用本站的中转api和key以及使用本站的反向代理地址和官方的key

1. 使用本站的中转api和key :https://oneapi.eunu.eu.org/

目前已经支持 3.5 (4k 和 16k)模型。

由于出现批量注册,刷取额度的现象,需要注册使用,并且限制额度,注册本站即赠送50000 tokens,tokens扣除方式和openai官方一致. 额度不够可以点击这里进行补充。有个小门槛,脚本刷的太猛了。

1.1 使用方法

针对普通用户

推荐使用第三方开发者开发的基于 OpenAI 的应用, 比如以下几个应用:

  1. 元AI微信小程序 https://gitee.com/e0cia/
  2. ChatGPT-Next-Web https://github.com/Yidadaa/ChatGPT-Next-Web
  3. OpenAI-Translator

你只需要在渠道页面中添加你的 API Key,之后在令牌页面中新增访问令牌。

之后就可以使用你的令牌访问 One API 了,使用方式与 OpenAI API 一致。

你需要在各种用到 OpenAI API 的地方设置 API Base 为你的 One API 的部署地址,例如:https://openai.justsong.cn,API Key 则为你在 One API 中生成的令牌。

注意,具体的 API Base 的格式取决于你所使用的客户端。

针对开发者
推荐大家直接根据 OpenAI 官方的接口文档开发你的程序。

你只需要将官方接口域名替换为 https://oneapi.eunu.eu.org 即可在国内网络环境下直接调用,支持SSE。并且将你的 OpenAI ApiKey 放在请求头中的 Authorization 字段中,例如将:

https://api.openai.com/v1/chat/completions

改成

https://oneapi.eunu.eu.org/v1/chat/completions

接口URL、请求参数、响应报文等全部与OpenAI官方一致,请直接参考 OpenAI 官方文档 。

# 测试聊天

curl https://oneapi.eunu.eu.org/v1/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer <oneapi-令牌>"
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'

# 响应结果

{
"id": "chatcmpl-7iL6jy6jT8ePzH1XKeGSylC1ExEOK",
"object": "chat.completion",
"created": 1690801925,
"model": "gpt-3.5-turbo-0613",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I assist you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 19,
"completion_tokens": 9,
"total_tokens": 28
}
}
# 测试生成图片
curl https://oneapi.eunu.eu.org/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <oneapi-令牌>" \
  -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"
    }
  ]
}

1.2 如何实现连续对话?

有很多用户问如何实现连续聊天,官方文档其实写的很清楚 https://platform.openai.com/docs/guides/chat/introduction
下面是官方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为user是用户发送的内容,role为assistant是AI回答的内容。

OpenAI本身是没有记忆的,如果你不告诉他你之前说了什么以及他之前回答了什么,那么他只会根据你最近一次发送的内容进行回答。

所以,要想实现“连续对话”,每次发送消息时,你需要将你之前发送的内容(user)以及OpenAI之前返回的内容(assistant),再结合你本次想发送的内容(user) 按 时序 组合成一个 messages[] 数组,然后再将这个数组发送给OpenAI就行了,就是这么简单。

有一点需要注意,这样虽然可以实现“连续对话”,但势必造成每次发送的消息内容会非常多,而OpenAI是按字数计费的,所以消耗tokens会非常多,这个需要注意。

2. 使用本站提供的反向代理服务

2.1 🔔 获取APIKEY

注册 OpenAI 账号,获取你的 ApiKey,过程略。

考虑国内注册 OpenAI 账号的困难,可以选择直接购买openai账号,点击购买

2.2 使用方式同上,你只需要将官方接口域名 https://api.openai.com替换为 下面的反向代理地址 即可在国内网络环境下直接调用,支持SSE。 APIKEY使用官方的即可。

3. 本站提供的反向代理URL

https://qun575451625.yapichat.top

https://575451625.yapichat.top

https://api.yapichat.top

https://chatqpi-qun575451625.yapichat.top

https://aapi.yapichat.top

https://api.aiyuan.me/v1