总结/朱季谦

本文分红两部分,包括【国内服务器上建立chat GPT】和【后端Spring Boot集成chat GPT】。

无论是在【国内服务器上建立chat GPT】和【后端Spring Boot集成chat GPT】,两个方法都需求VPN,否则是无法正常使用的。

至于什么是VPN,以及怎么建立VPN,请自行研讨哈。

下面就开端解说两部分的教程

一、国内服务器上建立chat GPT

首先,你需求预备以下东西:

1、一台能够拜访公网的Linux云服务器,最低装备1核2G即可(当然,有钱能够任性,买最高装备)

2、chatGPT的密钥

3、开源的仿chatGPT的Docker镜像

1.1、预备一台云服务器

能够是腾讯云、阿里云或许华为云等,我分别在阿里云和华为云上都能正常建立。

1.2、设置网络署理

在布置VPN的服务器上,需求在/etc/profile增加署理,确保通过密钥方法的chatGPT接口调用能正常拜访:

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

这儿的8889和1080需求根据你的VPN里的config.json来相应设置。

装备完成后,执行source /etc/profile,检验一下curlapi.openai.com/ 能够拜访即没问题。能够持续往下走。

1.3、装置Docker

能够依照我曾经记载的一篇关于建立Docker的方法进行指令行依照CentOS7装置Docker遇到的问题笔记

建立完成后,由于Docker的对外拜访若需求走地点宿主的署理话,还需求设置以下操作——

创立一个~/.docker/目录,然后在该目录下新建一个config.json文件,在该文件里添加以下指令——

{
   "default":
   {
     "httpProxy": "http://127.0.0.1:8889",
     "httpsProxy": "http://127.0.0.1:8889",
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
   }
 }
}

1.4、Docker镜像

现在网上GitHub已经开源了许多优异的仿写chatGPT 页面的使用,咱们无需再额外造轮子,只需求选择其间一款用来打包布置成Docker容器运转即可。

我使用的是chatgpt-mirror这个开源项目。

直接克隆项目到对应的Linux服务器——

git clone https://github.com/yuezk/chatgpt-mirror.git

在根据该开源项目以Dockerfile形式打包前,需求执行以下被依靠到的镜像——

docker pull node:18-alpine
docker pull node:18-slim

接下来,就能够执行以下操作来创立一个Docker镜像了——

cd chatgpt-mirror
#--network host表示与宿主公用网络,即走署理,然后留意下最终有一个 .
docker build --network host  -t chatgpt-mirror . 
#正常执行成功后,通过该指令能看到一个新镜像
docker images

具体情况如下:

在云服务器上搭建个人版chatGPT供本地电脑免VPN访问及后端Spring Boot集成chat GPT教程

然后需求在cd chatgpt-mirror环境里新增一个文件env,该文件里写入chatGPT密钥与宿主机器的署理:

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

完成以上操作后,最终在该目录chatgpt-mirror里执行——

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

正常执行完成后,即可在浏览上输入http://你的服务器ip:3000,就能出来一个表面仿chatGPT但内在是调用实在chatGPT接口的使用。

重点是,如此一来,你的电脑、渠道、手机等终端都无需VPN,就能直接使用chatGPT了,而且响应速度比直连官网快一倍左右速度!

以下便是拜访建立在我自己服务器上的chatGPT页面,是不是跟实在的很像。

在云服务器上搭建个人版chatGPT供本地电脑免VPN访问及后端Spring Boot集成chat GPT教程

二、后端Spring Boot集成chat GPT

留意,该方法同样需求VPN。

首先,在maven依靠引进以下装备——

<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("开端提问题~");
    System.out.println("你是一个作业帮手,情帮助规划一份活动策划书" );
  //GPT_TOKEN即你的代码密钥
    OpenAiService service = new OpenAiService(GPT_TOKEN,Duration.ofSeconds(10000));
    CompletionRequest completionRequest = CompletionRequest.builder()
      			//使用的模型
            .model("text-davinci-003")
            //输入提示语
            .prompt("规划一份活动策划书")
            //该值越大每次回来的成果越随机,即相似度越小,可选参数,默认值为 1,取值 0-2
            .temperature(0.5)
            //回来成果最大分词数
            .maxTokens(2048)
            //与temperature相似
            .topP(1D)
            .build();
    service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    Thread.sleep(6000);
}

CompletionRequest的属性文档介绍在这儿——

platform.openai.com/docs/api-re…

启动,调用该接口,即可正常使用chat GPT集成到SpringBoot后端代码里——

在云服务器上搭建个人版chatGPT供本地电脑免VPN访问及后端Spring Boot集成chat GPT教程

需求留意的是,若是布置在有VPN的Linux云服务,代码需求相应做一下调整,否则是无法拜访到chatGPT的,会出现以下异常提示:java.net.ConnectException:Failed to connect to api.openai.com/2a03:2880:f10c:283:face:b00c:0:25de:443]

故而,需求做以下调整:

public void send1Msg() throws InterruptedException {
        System.out.println("开端提问题~");
        System.out.println("你是一个作业帮手,情帮助规划一份活动策划书" );
        //需求额外设置一个能拜访chatGPT的VPN署理
        ObjectMapper mapper = defaultObjectMapper();
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8889));
        OkHttpClient client =  defaultClient(GPT_TOKEN,Duration.ofSeconds(10000))
                .newBuilder()
                .proxy(proxy)
                .build();
        Retrofit retrofit = defaultRetrofit(client, mapper);
        OpenAiApi api = retrofit.create(OpenAiApi.class);
				//将设置的署理传给OpenAiService即可
        OpenAiService service = new OpenAiService(api);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("规划一份活动策划书")
                .temperature(0.5)
                .maxTokens(2048)
                .topP(1D)
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
        Thread.sleep(6000);
}

布置在Linux云服务上的聊天回来打印效果——

在云服务器上搭建个人版chatGPT供本地电脑免VPN访问及后端Spring Boot集成chat GPT教程

以上便是关于【国内服务器上建立chat GPT】和【后端Spring Boot集成chat GPT】教程,更多好玩的关于chat GPT相关的内容,能够重视我,由于我对这块很感兴趣,接下来会共享更多相关内容。有不懂的也能够后台问我。

搭了一个近200人的Ai ChatGPT 沟通群,群内成员定时供给免费chat GPT拜访网址,共享最新chat GPT使用案例、内部资料共享以及提升效率的Ai工具,欢迎加进来——

在云服务器上搭建个人版chatGPT供本地电脑免VPN访问及后端Spring Boot集成chat GPT教程