国内只是墙了 vercel 本身的域名,但是自定义域名没有墙,因此做了代理并绑定域名之后就可以用自己的域名在国内直连 openai api 了。
理论上也可以代理其他被墙的站点。
-
访问 openai api 时,将 "api.openai.com" 换成你的自定义域名,例如
const host = 'YOUR DOMAIN' const url = `https://${host}/v1/chat/completions`
-
可参考 OPENAI API 官方文档
官方文档中文翻译(部分过时,仅供参考)
-
在其他 chatgpt 项目中,可以将变量 "OPENAI_API_BASE_URL" 设置为你的域名
以下代码均由 Postman 生成
cURL
curl --location 'https://YOUR DOMAIN(改成你的域名)/v1/chat/completions' \
--header 'Authorization: Bearer sk-xxxxxxxxxxxxx(改成你的APIKEY)' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}
'
Python - Requests
import requests
import json
url = "https://YOUR DOMAIN(改成你的域名)/v1/chat/completions"
payload = json.dumps({
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你好"
}
]
})
headers = {
'Authorization': 'Bearer sk-xxxxxxxxxxxxx(改成你的APIKEY)',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
NodeJs - Axios
const axios = require('axios');
let data = JSON.stringify({
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://YOUR DOMAIN(改成你的域名)/v1/chat/completions',
headers: {
'Authorization': 'Bearer sk-xxxxxxxxxxxxx(改成你的APIKEY)',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
JavaScript - Fetch
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer sk-xxxxxxxxxxxxx(改成你的APIKEY)");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://YOUR DOMAIN(改成你的域名)/v1/chat/completions", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
-
点击一键部署按钮
-
进入到项目里之后,依次点击 Settings -> Domains,然后添加你的域名。添加的域名类型有两种,一种是一级域名(xxxx.com)和二级域名(openai.xxxx.com),我个人推荐使用二级域名,因为一级域名一般用来做网站展示用,只能有一个,而二级域名可以有无限个(只要你有一个域名就可以自己创建无限个二级域名)
-
接下来会分两种情况,分为一级域名和二级域名,都有教程,以阿里云为例(其他厂商也是差不多的配置,很简单的)
🎉接下来就可以愉快地使用 openai api 啦~
有问题可以 在此 留言