自研小程序-心情追忆

在近期从繁忙的工作中暂时抽身之后,我决定利用这段宝贵的时间来保持我的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.mzph.cn/bicheng/58656.shtml

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

相关文章

贪心算法入门(一)

1.什么是贪心算法? 贪心算法是一种解决问题的策略,它将复杂的问题分解为若干个步骤,并在每一步都选择当前最优的解决方案,最终希望能得到全局最优解。这种策略的核心在于“最优”二字,意味着我们追求的是以最少的时间和…

FreeSWITCH 简单图形化界面30 - 使用MYODBC时可能遇到的错误

FreeSWITCH 简单图形化界面30 - 使用MYODBC时可能遇到的错误 测试环境1、 MYODBC 3.51.18 or higher2、分析和解决2.1 解决1,降级MySQL ODBC2.2 解决2,修改FreeSWITCH代码 测试环境 http://myfs.f3322.net:8020/ 用户名:admin,密…

四、k8s快速入门之Kubernetes资源清单

kubernetes中的资源 ⭐️ k8s中所有的内容都抽象为资源,资源实列化之后,叫做对象 1️⃣名称空间级别 ⭐️ kubeadm在执行k8s的pod的时候会在kube-system这个名称空间下执行,所以说当你kubectl get pod 的时候是查看不到的查看的是默认的po…

Java面试经典 150 题.P88. 合并两个有序数组(001)

本题来自:力扣-面试经典 150 题 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/ 题解 class Solution {public void merge(int[] nums1, int m, int[] nums2, …

[LeetCode-55]基于贪心算法的跳跃游戏的求解(C语言版)

/* 题目出处:LeetCode 题目序号:55. 跳跃游戏 题目叙述:给你一个非负整数数组 nums ,你最初位于数组的第一个下标位置 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可…

FPGA时序分析和约束学习笔记(3、Timequest时序路径详解和优化)

FPGA时序分析和约束学习笔记(3、Timequest时序路径详解和优化) Timequest中Data Path分析 Data Arrival Path clock path:时钟信号到达源寄存器时钟端口的时间 data path:数据从源寄存器Q端口出发到达目标寄存器D端口的时间 D…

四、鸿蒙开发-常用布局(线性布局、层叠布局、弹性布局、网格布局、列表布局)

提示:本文根据b站尚硅谷2024最新鸿蒙开发HarmonyOS4.0鸿蒙NEXT星河版零基础教程课整理 链接指引 > 尚硅谷2024最新鸿蒙开发HarmonyOS4.0鸿蒙NEXT星河版零基础教程 文章目录 一、布局基础1.1 盒子模型 二、线性布局(Column/Row)2.1 概述2.2…

单个相机矫正畸变

1、通过标定助手获取到内参外参,外参在此无效,只用到了内参 2、然后通过halcon算子进行矫正 参考:超人视觉

unity 中使用zeroMq和Mqtt 进行通讯

最近我在做一个车上的HMI项目,也就是车机应用,需要与云端和域控进行通信。HMI的功能已经外包了,但消息的统一层留给我自己来做。因为项目组其他人都没有经验,所以这个任务就落到了我头上,尽管我自己也没有太多经验&…

掌握ElasticSearch(六):分析过程

文章目录 一、什么是分析1. 字符过滤 (Character Filtering)2. 分词 (Breaking into Tokens)3. 词条过滤 (Token Filtering)4. 词条索引 (Token Indexing) 二、内置分析器分类1. 标准分析器 (Standard Analyzer)2. 简单分析器 (Simple Analyzer)3. 语言分析器 (Language Analyz…

LabVIEW Modbus通讯稳定性提升

在LabVIEW开发Modbus通讯程序时,通讯不稳定是一个常见问题,可能导致数据丢失、延迟或错误。为了确保通讯的可靠性,可以从多个角度进行优化,以下是一些有效的解决方案,结合实际案例进行分析。 1. 优化通讯参数设置 通讯…

数据库安装使用

文章目录 一、目的二、原理三、过程 一、目的 Mysql数据库的解压Mysql数据库的的配置Mysql数据库的使用 二、原理 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据…

实时数据处理:技术支持和优势

在当今快节奏的数字世界中,企业不断寻找在竞争中保持领先地位的方法。批量和近实时的数据处理方法已经无法满足企业对于数据处理速度要求了。因此实时数据处理出现,逐渐帮助企业获取更快速的决策能力。本文,我们将深入研究实时处理&#xff0…

HCIP--以太网交换安全(总实验)

实验背景 假如你是公司的网络管理员,为了提高公司网络安全性,你决定在接入交换机部署一些安全技术:端口隔、端口安全、DHCP snooping、IPSG。 实验拓扑图 实验的要求: 1.在R1、R2连接在GE0/0/1和GE0/0/2接口下,均划…

高考新出路,综合评价招生全攻略,让你低分高就进名校

在高考改革的浪潮中,综合评价招生模式逐渐兴起,成为众多考生和家长关注的焦点。那么,什么是综合评价呢?简单来说,就是综合考量高考成绩、高校考核结果、高中学业水平考试成绩、综合素质评价以及其他特殊要求等五个维度…

一个图像处理的实验设计

在Rafael Gonzalez和Richard Woods的《数字图像处理》中有一道这样的实验设计题,我发现特别适合说明多个阈值的全局阈值分割的示例。 我嫌他说话啰嗦,修改了一下作为考试题。 基本流程 图像分割 选取中间灰度级的区域标记。 2. 形态学后处理 开运…

【Pandas】使用 pandas 处理多层级 Excel 表头的实用指南

背景 在数据分析和业务报告中,Excel 文件广泛用于存储和展示信息,特别是在需要对数据进行分类和分组时。许多商业场景中,数据会以多层级表头的形式呈现,体现不同维度的信息。例如,在财务报表中,可能按年度…

【YApi】接口管理平台

一、简介 YApi 是一个用于前后端开发团队协作的 API 管理平台,帮助团队更加高效地进行 API 接口的设计、测试、文档管理和版本控制等工作。 YApi 主要功能: API 设计和管理:提供 API 设计和文档生成工具,使开发者能够轻松创建、…

ctfshow(159->162)--文件上传漏洞

Web159 考点: 前端校验MIME验证黑名单 思路: 上传.user.ini文件: 文件内容auto_prepend_fileshell.png 由于网页存在前端过滤,只允许上传.png文件,所以我们将文件名修改为.user.ini.png上传,然后抓包删除.png后缀名…

使用pytest单元测试框架执行单元测试

Pytest 是一个功能强大且灵活的 Python 单元测试框架,它使编写、组织和运行测试变得更加简单。以下是 Pytest 的一些主要特点和优点: 简单易用:Pytest 提供了简洁而直观的语法,使编写测试用例变得非常容易。它支持使用 assert 语…