# 2023年最全教程:国内免VPN使用ChatGPT的两种方案(附Spring Boot集成代码)

58 阅读5分钟

写在前面

最近ChatGPT火遍全网,但国内访问一直是个老大难问题。作为一名折腾了多个方案的开发者,今天分享两个实测可行的方法:

  • 方案一: 在云服务器搭建镜像站,实现本地免VPN访问
  • 方案二: Spring Boot后端直接集成OpenAI API

核心痛点: 无论哪种方案,服务器端都需要解决网络访问问题。本文会详细讲解技术实现,并分享一些实用的加速方案。


方案一:搭建个人ChatGPT镜像站

为什么要自己搭建?

多端使用: 手机、电脑、平板都能访问,无需每个设备装VPN
访问速度: 比直连官网快1倍以上
成本可控: 最低1核2G服务器即可,月费几十元
数据安全: 对话数据在自己服务器,相对更安全

准备工作

必备材料清单:

  1. 云服务器 (阿里云/腾讯云/华为云均可)

    • 最低配置: 1核2G
    • 需要公网IP
    • 建议选海外节点或配置网络代理
  2. OpenAI API 密钥

  3. 网络解决方案 (二选一)

    • 自建代理服务(技术门槛较高)
    • 使用专业CDN加速服务 👉 推荐旮旯村CDN

关于网络加速的说明

原文提到需要配置VPN和各种代理,对新手来说比较复杂。这里分享一个更简单的方案:

旮旯村CDN - 全球加速解决方案

如果你觉得自己搭VPN太麻烦,可以考虑使用专业的CDN服务。旮旯村CDN 提供全球节点加速,年费仅98元,特别适合:

  • 个人开发者搭建各类国际服务
  • 小团队的API接口加速
  • 需要稳定海外访问的场景

相比自建代理,CDN方案更稳定、免维护,性价比也更高。

详细部署步骤

1. 服务器环境配置

设置网络代理 (如果用自建方案):

抨击

# 编辑环境变量
vim /etc/profile

# 添加以下内容(端口根据你的实际情况调整)
export all_proxy=http://127.0.0.1:8889
export http_proxy=http://127.0.0.1:8889
export https_proxy=https://127.0.0.1:8889
export all_proxy=socks5://127.0.0.1:1080

# 使配置生效
source /etc/profile

# 验证网络
curl api.openai.com/

如果使用CDN服务,这一步会简单很多,只需在CDN控制台配置好加速规则即可。

2. 安装Docker

抨击

# CentOS 7
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker

配置Docker代理:

抨击

# 创建配置目录
mkdir -p ~/.docker

# 创建配置文件
cat > ~/.docker/config.json <<EOF
{
  "proxies": {
    "default": {
      "httpProxy": "http://127.0.0.1:8889",
      "httpsProxy": "http://127.0.0.1:8889",
      "noProxy": "localhost,127.0.0.1"
    }
  }
}
EOF

3. 部署ChatGPT镜像

使用开源项目 chatgpt-mirror:

抨击

# 克隆项目
git clone https://github.com/yuezk/chatgpt-mirror.git
cd chatgpt-mirror

# 拉取依赖镜像
docker pull node:18-alpine
docker pull node:18-slim

# 构建镜像
docker build --network host -t chatgpt-mirror .

4. 配置环境变量

创建 env文件:

抨击

OPENAI_API_KEY=你的OpenAI密钥
HTTP_PROXY=http://127.0.0.1:8889

5. 启动容器

抨击

docker run -itd --net host -p 3000:3000 \
  -v /app/config.json:/app/config/app.config \
  --env-file env \
  chatgpt-mirror

访问测试: 浏览器打开 http://你的服务器IP:3000

效果展示

搭建完成后,你会得到一个和官方几乎一模一样的界面,但访问速度更快,而且所有设备都能用!


方案二: Spring Boot集成OpenAI API

如果你是Java开发者,直接在后端集成API会更灵活。

Maven依赖

xml

<dependency>
    <groupId>com.theokanning.openai-gpt3-java</groupId>
    <artifactId>service</artifactId>
    <version>0.11.1</version>
</dependency>

基础实现

爪哇岛

@GetMapping("/ai")
public void sendMsg() throws InterruptedException {
    System.out.println("开始AI对话~");
    
    // 初始化OpenAI服务
    OpenAiService service = new OpenAiService(
        GPT_TOKEN, 
        Duration.ofSeconds(10000)
    );
    
    // 构建请求
    CompletionRequest request = CompletionRequest.builder()
        .model("text-davinci-003")          // 使用的模型
        .prompt("帮我设计一份活动策划书")    // 提示词
        .temperature(0.5)                   // 随机性(0-2)
        .maxTokens(2048)                    // 最大token数
        .topP(1D)                          // 采样参数
        .build();
    
    // 发送请求并处理响应
    service.createCompletion(request)
        .getChoices()
        .forEach(System.out::println);
}
```

### 生产环境配置(重要!)

如果部署在云服务器,必须配置代理,否则会报错:
```
java.net.ConnectException: Failed to connect to api.openai.com

完整代码:

爪哇岛

public void sendMsgWithProxy() throws InterruptedException {
    // 配置代理
    Proxy proxy = new Proxy(
        Proxy.Type.HTTP, 
        new InetSocketAddress("127.0.0.1", 8889)
    );
    
    // 自定义HTTP客户端
    OkHttpClient client = defaultClient(GPT_TOKEN, Duration.ofSeconds(10000))
        .newBuilder()
        .proxy(proxy)
        .build();
    
    // 构建服务
    ObjectMapper mapper = defaultObjectMapper();
    Retrofit retrofit = defaultRetrofit(client, mapper);
    OpenAiApi api = retrofit.create(OpenAiApi.class);
    OpenAiService service = new OpenAiService(api);
    
    // 发送请求(同上)
    CompletionRequest request = CompletionRequest.builder()
        .model("text-davinci-003")
        .prompt("设计一份活动策划书")
        .temperature(0.5)
        .maxTokens(2048)
        .topP(1D)
        .build();
        
    service.createCompletion(request)
        .getChoices()
        .forEach(System.out::println);
}

参数说明

参数	说明	推荐值model	GPT模型版本	text-davinci-003
temperature	创造性(越大越随机)	0.5-0.8
maxTokens	回复最大长度	2048
topP	核采样参数	1.0

完整API文档: platform.openai.com/docs/api-re…


性能对比与成本分析

方案对比

维度	镜像站方案	后端集成适用场景	个人/团队日常使用	产品功能集成
技术难度	⭐⭐⭐	⭐⭐⭐⭐
灵活性	低	高
维护成本	低	中
访问速度	快(有CDN加持更快)	取决于网络

成本估算

服务器:

  • 阿里云/腾讯云轻量服务器: ¥50-100/月
  • 海外VPS(更稳定): $5-10/月

网络方案:

  • 自建代理: 免费但需维护
  • 旮旯村CDN: ¥98/年 (平均¥8/月) 👈 性价比之选

OpenAI费用:

  • GPT-3.5: $0.002/1K tokens
  • GPT-4: $0.03/1K tokens
  • 日常使用月费约 $10-30

常见问题FAQ

Q: 为什么需要代理/CDN?
A: OpenAI的API在国内无法直接访问,必须通过代理或CDN加速。

Q: 自建代理和CDN服务哪个好?
A: 新手推荐CDN(如旮旯村),省心省力;技术党可以自建,更灵活。

Q: 搭建后会被封吗?
A: 只要不大规模商用、遵守OpenAI使用条款,一般不会有问题。

Q: 可以给别人用吗?
A: 个人使用OK,商业使用需注意合规和API配额。


总结

两种方案各有优势:

  • 想要快速上手、多端使用 → 选镜像站方案
  • 需要深度定制、产品集成 → 选后端集成

无论哪种,解决网络问题都是关键。如果不想折腾复杂的代理配置,旮旯村CDN (¥98/年) 是个不错的选择,特别适合个人开发者和小团队。


相关链接:

如果这篇文章对你有帮助,欢迎点赞收藏!有问题可以评论区交流~