周末两天我搭建了一个智能问答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优化问题

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

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

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

相关文章

智能识海:基于深度学习的海洋生物检测系统开发指南

基于深度学习的海洋动物检测系统(UI界面YOLOv8/v7/v6/v5代码训练数据集) 引言 海洋动物检测在海洋生态保护、科学研究和渔业管理中起着至关重要的作用。通过深度学习技术,尤其是YOLO(You Only Look Once)模型&#x…

算法训练营第47天|1143.最长公共子序列|1035.不相交的线|53. 最大子序和|392.判断子序列

1143.最长公共子序列 思路:这道题比较难理解的是递推公式,要想明白状态转换和各个状态的意义。 如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] dp[i - 1][j - 1] 1; 如果text1[i - 1] 与 text2[j…

IO的分类有哪些

目录 一:BIO,NIO,AIO有什么区别 二:BIO,NIO,AIO有哪些适用场景 三:BIO的编程流程 四:NIO的三大核心部分 五:NIO中buffer的属性有哪些 六:BIO与NIO的对比 七:简…

Unity3D 转换微信小游戏指引 05 广告内购

Unity3D 转换微信小游戏指引系列(第五期 完结) 广告 在小程序后台页面找到推广->流量主 开通条件如下: 开通之后,需要接入广告组件。 调用创建广告组件的接口时,需要传入参数 adUnitId,这个是开通流量…

「C++系列」数组

文章目录 一、数组1. 声明数组2. 初始化数组3. 访问数组元素4. 遍历数组注意事项示例代码 二、多维数组1. 声明二维数组2. 初始化二维数组3. 访问二维数组元素4. 遍历二维数组注意事项示例代码 三、指向数组的指针1. 声明指向数组的指针2. 通过指针访问数组元素3. 指针和数组的…

json的数据结构

JSON 的数据结构 JSON 由两种数据结构组成:对象(字典)和数组。 一、对象 对象(object)是由键值对组成的无序集合。 键是字符串,值可以是任何类型,包括对象和数组;对象由一对花括…

Android 10.0 framework默认沉浸式状态栏功能实现

1. 前言 在10.0的系统rom定制化开发中,在实现状态栏的某些定制化开发中,在某些产品需要实现沉浸式状态栏,就是需要app 能全屏显示同样也能显示状态栏,接下来就来分析下相关的功能实现 如图: 2.framework默认沉浸式状态栏功能实现的核心类 frameworks\base\core\java\andro…

【神经网络】梯度下降的优化方法【数学公式+代码示例】

文章目录 1、简介2、指数加权平均2.1、公式2.2、代码 3、Momentum⭐3.1、公式演变3.2、代码 4、AdaGrad4.1、计算步骤4.2、代码示例 5、RMSProp5.1、公式5.2、代码5.3、小结 6、Adam6.1、公式和步骤解释⭐6.2、代码⭐6.3、优点 7、何为鞍点8、小结 🍃作者介绍&#…

Vue 渲染函数 JSX

Vue 提供一个h()函数用于创建vnodes,用于渲染网页。 JSX是JS的一个类似XML的扩展,与h()函数类似,也是可以创建vnodes,用于渲染网页。 1 渲染函数 & JSX 1.1 渲染函数 组合式API,setup()钩子的返回值是用于暴露数据给模版,…

国防科技大学深圳地区新生欢送会圆满举行

2024年7月28日,第97个八一建军节来临之际,在这个充满希望的盛夏时节,深圳地区迎来了13名即将踏入国防科技大学的优秀学子。 为了庆祝这一荣耀时刻,并表达对新生的深切祝福,在国防科技大学深圳校友会黄丹会长的积极倡议…

书生大模型实战营--L1关卡-Llamaindex RAG实践

一、安装llamaindex库 pip install llama-index pip install llama-index-embeddings-huggingface 二、问2024年巴黎奥运会 中国队获得几枚金牌,无法回答该问题 三、构建Llamaindex RAG 1、初始化llm 2、构建词向量模型 下载模型:git clone https://…

基于k8s快速搭建docker镜像服务的demo

基于k8s快速搭建docker镜像服务的demo 一、环境准备 如标题,你需要环境中有和2个平台,并且服务器上也已经安装好docker服务 接下来我来构建一个docker镜像,然后使用harbork8s来快速部署服务demo 二、部署概述 使用docker构建镜像&#x…

【学习笔记】Redis学习笔记——第17章 集群

第17章 集群 17.1 节点 使用cluster meet命令将其他节点添加到当前节点集群中 17.1.1 启动节点 通过cluster-enabled设置来决定是否启用集群 17.1.2 集群数据结构 每个节点都保存了自己及其他节点的IP端口号等信息 17.1.3 cluster meet命令的实现 是收到命令的节点和新…

flatpak vscode

解决集成终端无法使用主机命令和字体的问题 Shift Ctrl P:搜索user set,点击带JSON的,把这些加进去 {"terminal.integrated.defaultProfile.linux": "bash","terminal.integrated.profiles.linux": {"…

(2024,通用逼近定理(UAT),函数逼近,Kolmogorov–Arnold定理(KAT),任意深度/宽度的网络逼近)综述

A Survey on Universal Approximation Theorems 公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 神经网络(NN) 3. 通用逼近定理&#xff0…

我的NAS是怎么连接Amazon Web Services S3的

作为IT爱好者,很多家庭都配备了Network Attached Storage(NAS),用于存储和管理大量数据。一个常见的挑战是如何实现异地备份,以确保数据的安全性和可恢复性。以下是一些解决方案和工具,可以帮助用户有效地管…

“手撕”MySQL的索引

目录 二、索引的作用 三、索引的缺点 四、如何使用索引 查看索引: 创建索引: ​编辑 删除索引: 五、索引的底层原理 那什么是B树,什么是B树呢? B树的好处: 总结: 一、什么是索引 索…

C语言的周末小练习(贰)

周末小练习&#xff1a; 5、输入身高和体重&#xff0c;计算BMI指数(BMI w/(h*h))。 #include <stdio.h>int main() {float w,h,BMI;/*printf("请输入体重\n");scanf("%f",&w);printf("请输入身高\n");scanf("%f",&h…

vue3 快速入门 (五) : Flex布局

1. 如何变成Flex布局 变成Flex容器&#xff0c;只需在容器布局的节点的CSS中&#xff0c;增加display : flex .mylayout {/* 省略了其他代码 */display: flex; }2. flex direction : 方向 row : 以行排列 row-reverse &#xff1a; 以行反向排列 column &#xff1a;以列排列…

Matlab编程资源库(11)多项式计算

一、多项式的四则运算 1&#xff0e;多项式的加减运算 2&#xff0e;多项式乘法运算 函数conv(P1,P2)用于求多项式P1和P2的乘积。 这里&#xff0c;P1、P2是两个多项式系数向量。 3&#xff0e;多项式除法 函数[Q,r]deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项…