声明
根据中国互联网办理规则,未经同意的外国网站在中国大陆是无法直接拜访的。如果您想在中国搭建一个外国镜像网站,需要先取得相关的审批和许可,并恪守中国的互联网办理法规。
恪守相关法律法规,包含但不限于不传播违法信息、不从事不合法活动等。
此外,还需要考虑网站内容和技术方面的问题,如网站安全性、用户隐私维护、服务器稳定性等。需要留意的是,即使网站已存案,也要根据当地的互联网办理规则进行合规运营。
一、ChatGPT的API官方调用办法
import openai
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[("role": "user","content": "Tell the world about the ChatGPT API in the style of a pirate."1]
print(completion)
由于一些特殊原因,ChatGPT的API在国内是不行拜访的。如果想要拜访的话需要一些魔法。
二、ChatGPT的API国内拜访办法
用过Python的小伙伴应该都知道,python第三方库官方源是最难用,往往最好用的是国内的镜像网站,比如清华镜像源,淘宝镜像源等。同理CSDN上也有许多github的加速计划,让我们能快速拜访指定的github项目地址。
所以,理论来讲我们也能够存案后请求做国内chatapi的镜像。例如此镜像:ai.bo-e.com/
话不多说,直接开端说办法。这儿只讲一下api的拜访办法,详细的服务都能够在这个基础上展开。
2.1 租一个海外服务器
这个是最稳妥的办法,国内的阿里云,腾讯云,华为云都有海外服务器租赁服务。办法
海外服务器有自己共同的优势,便是服务器网络在海外,能够无魔法直接拜访chatgpt的api,而且我们还能够在国内拜访这些服务器不必忧虑被墙。
可是服务器的拜访速度不好说,我一开端买的印度的服务器拜访速度感人,xshell都有点卡,换成韩国的才好一点。当然我仅仅按量租了一个1核2G,带宽很小的用来试验,或许好一点的服务器网络也会好一点。
fastapi布置代码
from fastapi import FastAPI
import openai
import os
import time
from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_headers=["*"],
)
class TextData(BaseModel):
model: str
key: str
text: str
@app.post("/chatapi")
def chatapi(text_data: TextData):
model = text_data.model
key = text_data.key
text = text_data.text
openai.api_key = key # 这儿放入你的key,我这>里躲藏了
completion = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": text}])
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"request---",text)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"result---", completion["choices"][0]["message"]["content"])
return completion
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
履行此py文件,即可经过服务器ip:8000端口拜访。
2.2 使用ssr署理
如果自己手上有一个署理,那能够在自己已有的国内服务器上做一个大局署理。这个非常适合我这种已有署理,已有国内服务器而且不想花冤枉钱再租一个国外服务器的选手。
一般的署理在windows系统都挺好用的,可是很少有在linux服务器的使用办法。刚好,我的服务器要是换系统的话要花一笔冤枉钱,没办法,只能探究在linux布置ssr署理的办法了。
2.2.1 linux布置署理办法
参阅github.com/TyrantLucif…
这个教程比较模糊,根据我的实践经验,按照以下过程操作即可,
- 有自己的ssr署理链接。
2.
shadowsocksr-cli --add-url SUBSCRIBE_URL
增加ssr订阅链接,SUBSCRIBE_URL为订阅链接地址 注:如果订阅链接中有&符号,请用””将链接括起来
shadowsocksr-cli --list-url
打印当时已有订阅链接
shadowsocksr-cli -l
>选择connect为对钩,delay延迟比较低的节点。打印当时节点列表
5.shadowsocksr-cli -s SSR_NODE_ID
启动Shadowsocks署理,SSR_NODE_ID为节点ID,可从打印列表中取得;如果不指定 -p 参数,那么默许署理启动在本地1080端口
shadowsocksr-cli -p PORT
指定端口,一般与 -s –start 一起使用
一般来说便是用默许端口即可。
2.2.2 Linux终端设置署理办法
- 终端设置署理
export ALL_PROXY=socks5://127.0.0.1:1080
- 检查署理是否设置成功
curl http://ip-api.com/json/?lang=zh-CN
- 取消终端署理
unset ALL_PROXY
- 如果想要愈加便利的使用快捷命令,将以下内容添加到你家目录中的
.bashrc
中,然后履行source ~/.bashrc
alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"
alias ip="curl http://ip-api.com/json/?lang=zh-CN"
这样以下几个命令就会实现如下功能:
setproxy 敞开署理
unsetproxy 关闭署理
ip 检查ip归属地
然后便是setproxy。
ip即可试验是否树立成功。
2.2.3 报错处理
如果中途报错,能够参阅以下我找到的处理办法。 tcprelay.py[行:272] – [_create_encryptor] – 错误:在端口 60000 创立加密器失利 问题 #69 暴君路西法/ssr-command…
详细办法便是装两个库即可。
yum install epel-release -y
yum install libsodium -y
2.2.4 fastapi布置代码(仅加了一个署理办法)
from fastapi import FastAPI
import openai
import os
import time
from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware
os.environ["HTTP_PROXY"] = "socks5h://127.0.0.1:1080"
os.environ["HTTPS_PROXY"] = "socks5h://127.0.0.1:1080"
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_headers=["*"],
)
class TextData(BaseModel):
model: str
key: str
text: str
@app.post("/chatapi")
def chatapi(text_data: TextData):
model = text_data.model
key = text_data.key
text = text_data.text
openai.api_key = key
# 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 # 这儿放入你的key,我这>里躲藏了
completion = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": text}])
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"request---",text)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"result---", completion["choices"][0]["message"]["content"])
return completion
# 001bgq1w3n1QTZ2vQ54w3UhF151bgq1H
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
2.3 自建署理办法
还有一种情况,也是以后我要做的便是找几个小伙伴合租一个海外服务器自建署理。 yukaiji/buildVpn: 图文教程搭建一个vpn (github.com)
然后经过阿里云的severless布置api进一步降低成本。有心动的小伙伴能够联络下。
留意,售卖署理违法,请不要走上违法犯罪的道路上。
三、ChatGPT的镜像web
github有个开源的chatgpt镜像web。能够做个参阅
github.com/yuezk/chatg…
现在这个我还没来得及布置。可是各位狱友,如果在国内的服务器内想要做一个chatgpt镜像,一定一定一定要存案啊。
我自己也根据我的api做了一个简陋的镜像。 Chat API (zhijianpark.top)
还有一个我正在存案,仍处于被封状况的域名。不合法阻断156 (chatapi.work)
本文正在参加「金石计划」