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

自研小程序-心情追忆

在近期从繁忙的工作中暂时抽身之后,我决定利用这段宝贵的时间来保持我的Java技能不致生疏,并通过一个个人项目来探索人工智能的魅力。

我在Hugging Face(国内镜像站点:HF-Mirror)上发现了一个关于情感分析的练习项目,其核心是分析输入文本的情感倾向。

因此,我决定将此项目与移动应用(wx)开发结合起来,并赋予它一个寓意深远的名字:“心情追忆” 。

作为一位主要专注于后端开发的程序员,对于前端开发我一直持有敬畏之心(尽管过去曾对能够跨平台构建小程序的框架如Taro和Uniapp有所涉猎)。在这个项目中,我想要实现的一个关键功能是将用户过去的情感变化可视化地呈现出来——即通过一个折线图来展示历史情绪趋势。然而,在小程序端实现这一功能时遇到了一些挑战,如工具版本的兼容性问题等。

经过多次尝试,最终确定了以下技术栈版本:

1. Node.js: v18.20.4 (18.x 版本即可)
2. Taro: 3.6.35 (用于自动化创建基于Vue3的项目)
3. Vue3: 3.2.40 (由Taro指定)
4. Echarts4Taro3: ^1.8.0 (图表绘制工具)
5. NutUI-Taro: "^4.3.0" (UI组件库)

最后大概是这个样子

后端方面

python跑了一个情绪分析的小模型(反正是闹着玩)

// 大概是这个, 需要的话自己去上面的网站学习
classifier = pipeline("text-classification", model="uer/roberta-base-finetuned-dianping-chinese")
// 然后用了一个FastAPI定义了一个接口, 大概是这样
@app.get("/submitText")
async def predict(text: str):
// 最后启动命令 后台启动, 并保存日志, 方便排查问题
nohup uvicorn q-test:app --host 0.0.0.0 --port 8000 >> py.log 2>&1 &

python只是一个提供分析的入口, 再使用springboot写了一个给前端提供服务的后端服务

逻辑就是

用户登录后, 提交一条数据, 先进入java服务, 存库并调用python分析, 拿到结果后把结果存库再返回前端

springsecurity做用户认证(调用了wxlogin接口判断用户)

mysql存库, 用户表, 记录用户提交数据和返回结果表 等等表

考虑到成本和模型服务的特殊需求,我没有选择云服务器,而是在自己的高性能PC(外星人笔记本配备RTX 4090, 正好最近黑悟空完成了81难, 也不想玩了)上部署了整个系统,包括模型服务、Java后端以及MySQL数据库。为了使应用程序能够对外界可见,我还使用了Cpolar进行内网穿透。

现在,“心情追忆”已经在我家中的服务器上稳定运行,成为我和女友闲暇之余探讨新功能的好去处,也为我的技能树增添了新的枝叶。

后续, 我还会去思考, 往小程序里面加更多更好玩的功能. 有兴趣可以私聊我一起来玩


http://www.kler.cn/a/371744.html

相关文章:

  • 浮动+flex布局
  • Spring 框架环境搭建
  • 标准正态分布的数据 tensorflow 实现正态分布图,python 编程,数据分析和人工智能...
  • TIFS-2024 FIRe2:细粒度表示和重组在换衣行人重识别中的应用
  • PART 1 数据挖掘概论 — 数据挖掘方法论
  • Depcheck——专门用于检测 JavaScript 和 Node.js 项目中未使用依赖项的工具
  • 【云原生】云原生与DevOps的结合:提升软件开发与交付的效率
  • 2-134 基于matlab的图像边缘检测
  • 腾讯共享wifi项目全解析!头部服务商系统质量大测评!
  • 2024年10月实测安装支持 winxp的最后一个python版本 2.7.18 和python 3.4.4版本,你觉得还能正常安装吗?
  • 【Linux】MySQL部署
  • 【Java网络编程】从套接字(Socket)概念到UDP与TCP套接字编程
  • chat_gpt回答:qt中,常见格式及格式转换
  • 【数据集】MODIS地表温度数据(MOD11)
  • 程序员必看!AI如何助你工作开挂!
  • verilog实现一个5bit序列检测器
  • word拷贝学号到excel
  • 无人机救援系统基本组成
  • 指令集架构(ISA)
  • 计算机视觉-对极几何
  • A4-C四驱高防变电站巡检机器人
  • Java调用chatgpt
  • Linux | win11-cmd窗口 ping centos7不通的一种解决方法
  • yolov8训练及测试(ubuntu18.04、tensorrt、ros)
  • 2025前端面试-浏览器的事件循环和浏览器的事件循环的区别是什么---002
  • 开发者视角:探索技术无垠,肩负时代重任