侧边栏壁纸
博主头像
CoderKim

一名后端开发工程师,喜欢学习和分享。

  • 累计撰写 50 篇文章
  • 累计创建 75 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

用ChatGPT生成网站前端页面和Dockerfile并部署上线

CoderKim
2023-04-23 / 0 评论 / 0 点赞 / 454 阅读 / 1,442 字 / 正在检测是否收录...

背景

上文 用Java调用OpenAI API查询账户余额 已经写好了后端,并且可以通过 postman 直接调用接口查询余额。可是这样毕竟不方便,要是有个前端页面的话,服务部署好就直接浏览器访问就可以了。可我对前端不熟悉,怎么办?ChatGPT:这个好说,看我的!

生成前端

直接把需求描述一下提给 ChatGPT,我说:

帮我写个前端页面,要求很简单:

1.标题是[查询 OpenAI API 余额],下面是一行提示[本站不保存 KEY 信息,查询后请自行保存],再下来就是输入框和查询按钮

2.查询时调用后端接口,接口地址/balanceQuery,参数只有一个apikey,就是输入框中输入的内容,发送get请求

3.查询结果若响应正确,后端会返回类似{“code”:0,“msg”:“成功”,“data”: “total”:18,“used”:1.795,“balance”:16.205}}这样的数据,如果出错,会返回{“code”:-1,“msg”:“请求出错——Incorrect API key provided”,“data”:null},请对后端返回的信息进行合理展示

看来确实比较简单,ChatGPT 直接给出了代码:

将其代码保存为html 文件,一打开,好家伙,这也太简陋了

那接下来,我们就让他变美:

一提需求他就马不停蹄地写代码了,这次让我们检验一下成果:

果然比第一次好看多了,那接下来我们将他部署起来吧。

平时工作中的项目一般比较复杂,采用的都是前后端分离架构,我这就是个小项目,没有必要搞前后端分离,还要配置 nginx 什么的,太麻烦了。依稀记得是把前端文件放到SpringBoot 项目的src/main/resources/templates 目录下,然后就照此实践了下,启动项目,看到了熟悉的404。。。

再来问问 ChatGPT 老师:

原来如此,是缺少依赖了啊,加上之后,完美运行,测试一下看看效果:

好了,接下来就是打成 jar 包,丢到服务器上,就可以让大家访问啦。

Hold on, Hold on, Hold on……

我突然想到,前段时间有看到过一个网站,https://railway.app 支持部署 docker 上去,这样都用不着买服务器了。

开干!

生成 Dockerfile

依旧是让 ChatGPT 来帮我生成个 Dockerfile

不止给了我 Dockerfile,还给我解释一通参数的意思,最后还教我如何构建及运行,真是贴心!

复制到文件中,命名为 Dockerfile ,先在本地测试一下,直接在 Idea 构建运行:

nice!运行通过,一次成功!

接下来,就将其部署到 railway 上就好了,这个部署和在 Vercel 上部署(参考:保姆级教程教你搭建自己的ChatGPT国内镜像站)方式很类似,都是需要先将代码上传到 Github 仓库,然后用 Github 账号登录,导入之后就可以一键部署了。

正当我开心准备部署时,打开railway ,我发现自己这个月的免费额度用完了。。

原来是上个月末为了体验这个网站,随便部署了一个项目上去,忘了关闭了,超出了每月500小时的免费时长限制。

没有关系,我又想到了一个网站 https://zeabur.com ,这是国内一个创业公司正在做的,之前看到过介绍,也可以支持docker部署,来试试吧:

登录 -> 创建项目 -> 创建服务 -> 选择从源码部署 -> Import

一路傻瓜式操作,很顺畅,而且导入后自动识别项目类型,并触发自动构建,等待构建结束吧。

哦吼,构建出错了:

错误详情:

STEP 4/8: COPY ${JAR_FILE} app.jar

  

00:14Error: building at STEP "COPY ${JAR_FILE} app.jar": checking on sources
under "/src": copier: stat: "/target/openai-java-0.0.1-SNAPSHOT.jar": no such
file or directory

原来是构建时没找到这个 jar 文件,之前本地之所以可以构建成功,是因为本地构建 docker 镜像前已经进行过 Maven 打包了。

那就再麻烦 ChatGPT 改一下 Dockerfile 咯:

okok,又是如此细致入微的解释和操作。

将新的 Dockerfile 上传到代码仓库后,那边已经自动触发构建了,这自动化体验真棒👍

稍等片刻,就构建成功且跑起来了!

接下来,我们再给他配置个域名吧:

他支持两种方式,可以用它生成的,也可以自定义自己的域名,我两者都加了:

其中,自定义域名按照提示在自己的 DNS 服务台上配置就好了。

两个网址是:https://checkbilling.zeabur.apphttps://checkbilling.xuqiming.tech

测试通过,完美结束!

总结

再次感受到了,如果能用好 ChatGPT,一个人就是一个团队!

这个例子中,ChatGPT 帮我完成了我不会的前端,还帮我写了 Dockerfile,教我如何部署,既是老师,又是得力干将,真的nb!

源码

源码地址:https://github.com/Scorpio-xu/openai-balance-query

0

评论区