开源记账小程序-AI赋能(uni-app + SpringBoot)

目录

概述

开发文档

软件技术栈

 AI记账模块

 项目演示

登录注册

资产账户管理 

账本管理

记账功能

转账

查看账单

日历

AI记账与聊天

Gitee源码地址


概述

  • 轻松记账是一款简洁易用的个人财务记录工具,帮助用户高效管理日常收支,实现理财目标。

  • 实现记账软件基本功能

    • 微信一键登录/注册

    • 资产账户管理

    • 用户账本管理

    • 记账功能

    • 转账功能

    • 账单显示,多条件账单过滤

    • 日历视图展示每日收支情况

    • AI记账和聊天

  • 使用主流技术栈,易于进行二次开发。

项目源码在文章最后.

开发文档

 飞书文档https://scnw01ap0tqh.feishu.cn/wiki/JFTSwgGkwiql4mk7V9mcNGYanQe?from=from_copylink

文档包含:数据库表设计,原型图设计,开发日志(软件实现细节)...

软件技术栈

  • 前端

    • uni-app项目:运行测试环境为【微信小程序】。

    • vue3:使用Vue3组合式语法进行开发。

    • @escook/request-miniprogram:网络请求工具,更方便的与后端做数据交互。

    • dayjs:格式化时间处理。

    • uni-ui:uni-app的组件用于快速搭建页面。

  • 后端

    • SPringBoot后端开发框架。

    • MyBatisPlus持久层框架。

    • dashscope-sdk-java:阿里百炼AI开发SDK,用于开发AI模块。

    • RabbitMQ消息中间件:在软件逻辑中做异步处理。

    • java-jwt:登录鉴权模块。

    • lombok开发工具库。

  • 数据库

    • MYSQL数据库管理系统

    • Druid德鲁伊数据源

 AI记账模块

软件中接入deepseek实现聊天和记账,记账采用聊天对话的方式进行记账参数构建。

 AI记账逻辑-时序图

简述:用户向AI大模型输入内容,大模型解析用户输入内容,如果解析判断为需要记账则返回特定的记账参数JSON数据,前端使用返回的记账参数显示给用户并调用记账接口实现记账。如果解析判断为“仅聊天”则正常与用户正常进行输出聊天。

使用平台:阿里云百炼

使用模型:qwen-plus

  • 经在此场景下实测qwen-plus(阿里千问)deepseek-v3在此场景下效果稍稍好些。

  • 至于deepseek-r1用在这就是杀鸡用牛刀了,并且在此没有推理需求。

  • 所以综合成本,需求能力和速度最终决定使用qwen-plus模型

关于AI的准确性

AI记账核心需求是将用户输入内容进行理解并生成JSON结构化数据输出。 

当前软件选择的方案是【基于规则引擎的简单记账】,即通过设计结构化Prompt模板,引导大语言模型(LLM)完成以下任务:

  1. 意图识别:判断用户输入是否包含记账请求

  2. 实体抽取:提取金额、分类、时间等关键字段

  3. 数据格式化:输出预定义JSON结构

比如prompt如下(完整prompt请到Gitee源码中查看):

此方案的核心优势在于:

  1. 开发成本低:无需训练专用模型

  2. 快速迭代:通过Prompt工程优化准确率

  3. 可解释性强:所有规则可见可控

但也存在局限性

  1. 泛化能力弱:无法处理训练数据外的表述变体

  2. 误差累积:规则间冲突可能导致意外行为

  3. 长尾问题:人类思想还是太超前/抽象,根本没有办法覆盖所有边缘情况。

因此更完美的解决方案应当是【预训练模型 + 微调】...

AI模块开发流程

  1. 后端引入开发SDK(dashscope-sdk-java);

  2. 编写用户管理器:使得软件AI模块支持多用户连续对话。

  3. 编写AI工具类:实现调用阿里百炼AI模型。

  4. 编写接口实现与前端互通调试。

  5. 前端localstorage本地存储聊天消息做到持久化。

// AI处理之后的记账JSON结构示例
{
  "type": "bookkeeping",
  "content": {
    "category": {"id":6, "name":"零食", "type":2},
    "amount": 18.0,
    "transactionTime": "2023-08-20 14:00:00",
    "remark": "零食消费",
    "account": { 
      "id": 1, 
      "name": ”支付宝“, 
      "balance": 100.00 
    }
   }
}

 项目演示

登录注册

 使用微信一键登录/注册.

资产账户管理 

账本管理

记账功能

转账

查看账单

日历

AI记账与聊天

Gitee源码地址

 访问地址:gitee.com/maohe101/easy-bookkeeping

 关于项目的数据库数据和项目静态文件都在Gitee代码仓库中。

以及项目的运行启动流程也在Gitee中有详细阐述。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mao.O

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值