当前位置: 首页 > news >正文

周末两天我搭建了一个智能问答ai工具网站

背景

周五的时候我去看了一下Boos 直聘,然后沟通了一个10k-15k的职位,她问我会不会后端,我说会一些node,然后他跟我说他们的工作是去对接第三方的的AI工具,我说这个没问题,我自己原来接触过Stable Diffusion绘画,AI大致能做,然后他说:您能独立开发一个项目吗?我自信满满的说没问题,然后他说:你可能理解错误我说的,我的意思是你前端后能一起开发嘛?我一听,现在都这么卷了吗?

既然如此:那我就想我是不是可以去尝试搭建一下,万一这公司优化了我,我是不是会有更多的实力去找下一个工作呢?然后说干就干,周五就去查看了第三方开放api。然后周末就开始弄,很快就开发出来了智能问答网站。

技术

  1. 第三方api是:千帆大模型(收费标准还好,比较便宜)
  2. 前端技术:vite + vue3 + ts
  3. 后端技术: eggjs
  4. 服务器: 腾讯服务器
  5. 部署: 宝塔

如果你需要eggjs部署的问题时,可以查看我写的这篇文章宝塔部署常见问题

前端技术

如果大家看了这个页面就会发现其实页面很简单的,就一个页面然后做了一个简单的h5兼容,其他的基本上没有什么功能了,但是其中有一个技术就是提问以后返回的数据的回显问题;

最开始我以为就是根据不同的类型然后写不同的样式,后面一想感觉不对啊,如果是表格呢?如果是高数函数呢?这怎么显示,后面我就跑到去看别人的网站数据是怎么回显的,发现使用的富文本,这一下就好选择了。

查询对比以后发现v-md-editor预览组件效果还不错,里面有一键复制代码、代码行号、高亮代码、mermaid流程图等等功能;但是这儿有一个问题,就是有一些cdn比较慢,建议切换一下,不然在首次加载的时候大概是5/6秒的样子。

前端其他的技术基本上没什么特别的了,大家可以根据自己想要的使用。

后端技术

从以上中我们知道第三方AI接口是千帆大模型的,这个时候回我们只需要根据文档一步一步的进行对接即可,不管是单条对话,还是多条对话以及流式对话都是可以的,至于为什么使用eggjs是因为我对egg相对来说要熟悉一些,本来想用nestjs的,但是感觉很多东西都还不是很懂,所以就用了eggjs。

如果你也想用eggjs开发后端接口的话,有问题可以相互探讨。

思考

有很多事情;如果我们不去做那他就是神秘的。

有很多事情;如果我们去做了可能不会成功,但是你能在此过程中学习到很多东西。

就像您爱一个人,不妨大胆一点,或许他(她)也正好喜欢您呢?如果她不喜欢您就潇洒一点,有礼貌的离开;

愿您想做一件事,都能迅速、勇敢的去做。

总结

在这两天中我觉得我学习到了很多的东西,如:

  1. eggjs宝塔部署问题
  2. 前端打包部署问题
  3. https安全申请问题
  4. 打包部署后首次加载慢优化问题
  5. vue Seo优化问题

等等;在此过程中我觉得学习到了很多的知识!至少下次我遇到了这些问题就有解决思路了,这次所分享的内容就这些了,这算是给自己的一个记录吧!感兴趣的朋友记得去体验哈哦!然后给我提提意见智能问答

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue3——利用自定义指令实现下拉框分页懒加载
  • 前端模块化CommonJS、AMD、CMD、ES6
  • MYSQL(2) 高级查询
  • sql注入 mysql 执行命令 sql注入以及解决的办法
  • C语言 #具有展开功能的排雷游戏
  • WHAT - 不同 HTTP Methods 使用场景、使用方法和可能遇到的问题
  • 力扣1089复写0
  • JVM 性能分析—— 一文带你读懂 G1 垃圾收集器收集流程
  • 鸿蒙应用框架开发【OpenGL三棱椎】 NDK
  • postgres数据库连接超时问题处理
  • ArcGIS Pro SDK (九)几何 17 几何引擎函数
  • @Builder注释导致@RequestBody的前端json反序列化失败,HTTP400
  • C# 委托函数 delegate
  • 基于C语言从0开始手撸MQTT协议代码连接标准的MQTT服务器,完成数据上传和命令下发响应(华为云IOT服务器)
  • PyQt ERROR:ModuleNotFoundError: No module named ‘matplotlib‘
  • “大数据应用场景”之隔壁老王(连载四)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • conda常用的命令
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Java IO学习笔记一
  • JAVA SE 6 GC调优笔记
  • Java方法详解
  • JS数组方法汇总
  • node.js
  • Puppeteer:浏览器控制器
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Yii源码解读-服务定位器(Service Locator)
  • 服务器之间,相同帐号,实现免密钥登录
  • 猴子数据域名防封接口降低小说被封的风险
  • 前端攻城师
  • 强力优化Rancher k8s中国区的使用体验
  • 深入浅出Node.js
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • ​520就是要宠粉,你的心头书我买单
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (1)Hilt的基本概念和使用
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (面试必看!)锁策略
  • (一)Java算法:二分查找
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)h264中avc和flv数据的解析
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net IE10 _doPostBack 未定义
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • /var/log/cvslog 太大
  • :=
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [2018-01-08] Python强化周的第一天