声明

根据中国互联网办理规则,未经同意的外国网站在中国大陆是无法直接拜访的。如果您想在中国搭建一个外国镜像网站,需要先取得相关的审批和许可,并恪守中国的互联网办理法规。

恪守相关法律法规,包含但不限于不传播违法信息、不从事不合法活动等。

此外,还需要考虑网站内容和技术方面的问题,如网站安全性、用户隐私维护、服务器稳定性等。需要留意的是,即使网站已存案,也要根据当地的互联网办理规则进行合规运营。

一、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…

这个教程比较模糊,根据我的实践经验,按照以下过程操作即可,

  1. 有自己的ssr署理链接。 2.shadowsocksr-cli --add-url SUBSCRIBE_URL

增加ssr订阅链接,SUBSCRIBE_URL为订阅链接地址 注:如果订阅链接中有&符号,请用””将链接括起来

  1. shadowsocksr-cli --list-url

打印当时已有订阅链接

  1. shadowsocksr-cli -l

打印当时节点列表

ChatGPT的API实用攻略!如何在国内做ChatGPT的镜像API?
>选择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)

本文正在参加「金石计划」