在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT

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

无论是在【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】,两个方式都需要魔法访问,否则是无法正常使用的,即需要具备正常访问谷歌或者 api.openai.com的能力。

至于什么是魔法访问,以及如何搭建魔法访问,请自行研究哈。

下面就开始讲解两部分的教程。
 

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

首先,你需要准备以下东西:

1、一台可以访问公网的Linux云服务器,最低配置1核2G即可(当然,有钱可以任性,买最高配置)

2、chatGPT的密钥

3、开源的仿chatGPT的Docker镜像


 

1.1、准备一台云服务器

可以是腾讯云、阿里云或者华为云等,我分别在阿里云和华为云上都能正常搭建。
 

1.2、设置网络代理

在部署魔法访问的服务器上,需要在/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需要根据你的魔法访问里的config.json来相应设置。

配置完成后,执行source /etc/profile,检验一下curl https://api.openai.com/
可以访问即没问题。可以继续往下走。

1.3、安装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

具体情况如下:

image

然后需要在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接口的应用。

重点是,如此一来,你的电脑、平台、手机等终端都无需魔法访问,就能直接使用chatGPT了,而且响应速度比直连官网快一倍左右速度,无比丝滑!而且,没有像chatGPT官网直连那样经常出现响应异常以及断开的问题,协助效率大大增加。

以下就是访问搭建在我自己服务器上的chatGPT页面,是不是跟真实的很像。

image

二、后端Spring Boot集成chat GPT

注意,该方式同样需要魔法访问。

首先,在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的属性文档介绍在这里——

https://platform.openai.com/docs/api-reference/completions/create

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

image

需要注意的是,若是部署在有魔法访问的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的魔法访问代理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云服务上的聊天返回打印效果——

image

以上就是关于【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】教程,更多好玩的关于chat GPT相关的内容,可以关注我,因为我对这块很感兴趣,接下来会分享更多相关内容。有不懂的也可以后台问我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36197.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实习生建议】ChatGPT给一名后端实习生的建议

你好呀&#xff01;我是小易同学&#xff0c;一名普通的不能再普通的学习者。 作为一名大三的学生,我感觉当下国内的就业环境面临较大压力与挑战&#xff0c;于是我对ChatGPT发问&#xff0c;想请ta给我一些建议。 以下是ta给我的建议&#xff1a; 复述如下&#xff1a; 深入学…

将PC端的apk文件通过微信文件分享到手机,后缀名有.1

在PC端下载apk文件&#xff0c;通过微信文件分享传到手机端&#xff0c;在手机微信上可以看到此时传过来的文件后面多了.1的后缀&#xff0c;导致不能安装 怎样在手机文件管理中找到这个文件&#xff0c;并修改其后缀名&#xff0c;每次找路径都要找半天&#xff0c;今天找好了…

教你如何搭建培训机构-招生管理系统,demo可分享

1、简介 1.1、案例简介 本文将介绍&#xff0c;如何搭建培训机构-招生管理。 1.2、应用场景 根据意向信息站的收录信息&#xff0c;可批量导入意向信息&#xff0c;在意向信息站转为意向学员&#xff0c;转为意向学员后可进行报名收费成为正式学员。 2、设置方法 2.1、表单搭建…

教育培训机构如何利用小程序招生?

微信小程序依托微信10亿用户&#xff0c;基于微信强大的社交&#xff0c;开发成本低&#xff0c;营销推广成本低&#xff0c;入口多易推广的天然优势&#xff0c;应用场景也越来越广泛。那么&#xff0c;教育培训机构如何利用小程序实现客源推广&#xff0c;线上选课预约呢&…

基于微信小程序+SSM实现培训机构管理系统

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java、前端、Pythone开发多年&#xff0c;做过高程&#xff0c;项目经理&#xff0c;架构师 主要内容&#xff1a;Java项目开发、毕业设计开发、面试技术整理、最新技术分享 项目编号:BS-XCX-010 一&#xff0c;项目简介 …

基于微信小程序的培训机构系统

随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程…

培训报名小程序实战开发

目录 1 需求描述2 原型绘制2.1 首页2.2 报名列表页2.3 报名页2.4 支付页面2.5 支付成功页面2.6 我的页面2.7 我的报名页面2.8 报名详情页面 3 数据源设计4 数据源开发5 创建模型应用6 录入测试数据7 创建自定义应用8 创建页面总结 经常有人问&#xff0c;低代码学习容易么&…

培训机构微信在线报名

培训机构微信报名系统 进入微信公众号&#xff0c;点击在线报名&#xff0c;进入在线报名的主页&#xff1a; 点击免费课程或是热门课程等&#xff0c;即可打开课程列表&#xff0c;界面如下&#xff1a; 点击对应一门课程&#xff0c;打开课程的详细界面进行报名&#xff0c;界…

微信小程序的培训机构课程报名系统

培训机构小程序的设计基于现有的手机&#xff0c;可以实现首页、个人中心、学员管理、教师管理、课程类型管理、课程信息管理、课程报名管理、课程退订管理、课程成绩管理、课程评价管理、留言板管理、系统管理等功能。方便教师和学员对首页、课程信息、课程资讯、我的等详细的…

北京电台“广播三下乡” 徐德亮演唱传统曲艺

中新网北京1月30日电 29日&#xff0c;北京电台“广播三下乡”活动在延庆刘斌堡村举行&#xff0c;北京电台主持人、相声演员徐德亮等为村民送上了精彩的演出。 徐德亮演出 北京电台供图 一到延庆刘斌堡村&#xff0c;北京电台主持人大帅和艾珂就迫不及待地帮着搬运大米和油&…

《大众摄影》四十年经典作品精选

《炼铁炉旁》   作者&#xff1a;华谷平   选自1958年第9期      《黎明钟声》1942年   作者&#xff1a;江波   选自1958年第10期      《冒雨奋战》1958年   作者&#xff1a;陈勃   选自1959年第1期      《在结婚登记处》195…

微商在微信营销的时候微信封号的原因是什么?

微信号被封可以说是做微信营销的噩梦&#xff0c;现在解封微信的限制比较多&#xff0c;而且流程很是繁琐&#xff0c;很多人因为操作不当造成微信号总是被封&#xff0c;那么究竟原因是什么呢?接下来&#xff0c;马找钱这篇问文章就和大家分享下微信老是被封的原因&#xff0…

Zebec Chain缘何能成为新晋应用链,熊市下又为何值得我们关注?

流支付生态 Zebec 正处于发展的火热阶段&#xff0c;Zebec此前于12月20日举办的为期3天的Web3.0 TechHive Summit 2022 大会&#xff0c;目前已经落幕&#xff0c;此次大会参会项目多达34个囊括了公链、钱包、DID、GameFi等多个主流行业赛道&#xff0c;并围绕行业安全、发展趋…

《ChatGPT:利用最先进的技术支撑多域作战》

来源&#xff1a;专知 本文约2000字&#xff0c;建议阅读5分钟 我们对ChatGPT带来的可能性感到兴奋。 ChatGPT是一个建立在GPT-3大型自然语言模型上的人工智能驱动的聊天机器人&#xff0c;自OpenAI于2022年11月推出以来&#xff0c;已经风靡全球。它是历史上增长最快的消费者应…

腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛

感谢阅读腾讯AI Lab微信号第115篇文章。本文将介绍绝悟WeKick版本登顶首届谷歌足球Kaggle竞赛的内容。 Google Research 与英超曼城俱乐部在 Kaggle 平台上联合举办的 11v11 足球 AI 竞赛 Google Football 近日宣布最终结果&#xff1a;腾讯 AI Lab 绝悟 WeKick 版本&#xff0…

ChatGPT挑起的这场AI竞赛,有一个肮脏的秘密

来源&#xff1a;WIRED 作者&#xff1a;Chris Stokel-Walker 编译&#xff1a;库珀 将大型语言模型&#xff08;LLM&#xff09;整合到搜索引擎中&#xff0c;或意味着 5 倍的算力增长和巨大的碳排放。 2 月初&#xff0c;微软和谷歌相继宣布对其搜索引擎进行重大改革。 这两家…

NCT全国青少年编程能力等级测试教程(图形化编程、Python语言编程)

图形化编程 Python语言编程 蓝桥杯STEMA测评-python真题讲解6 蓝桥杯STEMA测评-python真题讲解6_哔哩哔哩_bilibili 工橙院大豪猪 工橙院大豪猪的个人空间_哔哩哔哩_Bilibili 蓝桥杯青少组Python竞赛真题讲解 蓝桥杯青少组Python竞赛真题讲解_哔哩哔哩_bilibili 蓝桥杯第13…

Go C画图 CSP-J信息学奥赛 2023.03.02、03 测试题

一、单项选择题 &#xff08;共10题&#xff0c;每题1.5分&#xff0c;共计15分。每题有且仅有一个正确选项。&#xff09; 1&#xff0e;在二进制下&#xff0c;1011001 &#xff08; &#xff09; 1100110。 A&#xff0e;1011 B &#xff0e;1101 …

股票交易查询接口api源码分享

股票交易查询接口是一个股票分析的工具&#xff0c;投资折可以通过这个接口在股票的买卖过程中自己判断是否要做空&#xff0c;简单来说股票交易查询接口就用来判断股价上涨或者下跌以及投资亏损的分析工具&#xff01; 那么在本质上来说股票交易查询接口其实就死是一个帮助投资…