GhatGPT已经渗透到了我的工作生活当中,但是由于不明觉厉的原因,OpenAi并没有对中国地区提供服务,甚至连香港也如此,难免让人唏嘘。
目前使用的各种设备工具基本都支持自定义API地址,但这些设备环境很难统一保证,只能换个思路,比如说解除官方的地区限制;先把所有API请求发到私有服务器,再由私有服务器转发到官方。
私有服务器肯定需要在不受限制的地区,比如日本 美国 新加坡... 早期官方只有美国有两台服务器,但经过多次的故障考验目前已经接入了Cloudflare,经过实际测试,虽然接入了CF但是我们依旧可以再次进行反代。
在配置之前,肯定需要保证服务器已经安装好Caddy,如果没有请看这里。
代理配置
里面的地址api-openai.proxy.com是演示域名请酌情修改;该配置只代理了/v1/chat/completions
这个请求路径,如果不需要可以移除。
{
"admin": {
"disabled": true
},
"logging": {
"logs": {
"default": {
"writer": {
"output": "file",
"filename": "/var/log/caddy/access.log"
},
"level": "INFO"
}
}
},
"apps": {
"http": {
"http_port": 80,
"https_port": 443,
"servers": {
"http": {
"listen": [
":443"
],
"routes": [
{
"match": [
{
"host": [
"api-openai.proxy.com"
],
"path": [
"/v1/chat/completions"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "api.openai.com:443"
}
],
"headers": {
"request": {
"set": {
"Host": [
"api.openai.com"
]
}
}
},
"transport": {
"protocol": "http",
"tls": {
"server_name": "api.openai.com",
"insecure_skip_verify": false
}
}
}
]
}
]
}
}
}
}
}
保存配置重启Caddy,手动打开地址 https://api-openai.proxy.com/v1/chat/completions
,能正常打开则说明代理成功,再把接口配置到需要使用的设备工具即可。