自研小程序-心情追忆

在近期从繁忙的工作中暂时抽身之后,我决定利用这段宝贵的时间来保持我的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进行内网穿透。

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

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

相关推荐
HappyAcmen6 小时前
关于微信小程序的面试题及其解析
微信小程序·小程序·notepad++
乔冠宇6 小时前
微信小程序修改个人信息头像(uniapp开发)
微信小程序·小程序·uni-app
lvbb667 小时前
微信小程序-路线规划功能
微信小程序·小程序·notepad++
爱上大树的小猪9 小时前
微信小程序模仿快播标签云滚动特效
微信小程序·小程序
從南走到北14 小时前
挪车小程序挪车二维码php+uniapp
微信小程序·小程序·开源·微信公众平台
黑云压城After14 小时前
uniapp小程序自定义日历(签到、补签功能)
小程序·uni-app
黑云压城After15 小时前
小程序(物流、快递),接入GPS北斗获取路线以及当前车辆位置
小程序
万岳科技程序员小金16 小时前
互联网医院系统源码解析:如何开发智能化的电子处方小程序?
小程序·app开发·互联网医院系统源码·智慧医疗小程序·医院app
Java Fans17 小时前
微信小程序——访问服务器媒体文件的实现步骤
服务器·微信小程序·小程序
Evaporator Core20 小时前
微信小程序数据绑定与事件处理:打造动态交互体验
微信小程序·小程序·交互