基于开源项目 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 的应用, 比如以下几个应用:
- 元AI微信小程序 https://gitee.com/e0cia/
- ChatGPT-Next-Web https://github.com/Yidadaa/ChatGPT-Next-Web
- 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 账号的困难,可以选择直接购买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
参与讨论