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

Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官

gitee平台源码
github平台源码
饮食陪伴师是一个管理饮食的原生大模型小程序,优势:

  1. 精确营养监控:用户记录饮食后,我们会计算出食用的营养成分与分量,并反馈给用户。
  2. 饮食建议有效:大模型经过我们训练具备大量专业知识,它给出的饮食建议科学有效。
  3. 「伴伴」情感陪伴:小程序的核心亮点在于伴伴,我们把伙伴的元素融入了饮食管理中,给予用户情绪价值。
  4. 提供一套前后端uniapp、算法源码,开源可学习

🔗 技术架构

技术选型

技术及版本作用原因
Vue 3.x主要开发框架团队成员更熟悉
图鸟UI移动端组件库适配移动端项目、主流
Spring Boot 2.7.x主要开发框架团队成员更熟悉、主流
Lombok注解式代码生成节省开发时间
MySQL数据库社区良好、稳定易用
语雀大模型API使能够基于prompt生成回复对人物扮演这块语雀做的很好
51.LA网站统计免费、易用

🔒 权限信息

本开源项目基于「Apache LICENSE」,

特别得,在里面我们提出了两个附加要求:

  1. 禁止将该软件用作任何学术作品或出版物的一部分。
  2. 禁止将该软件作为任何比赛或竞赛的产品参赛。

🔥 运行标准版

聊天页面 饮食记录页面

demo视频演示

以下列举了核心文件的结构

|-- food-buddy/|-- LICENSE  # 许可证书|-- README.en.md|-- README.md|-- diet_manage_user/|-- src/|-- diet_return/  # 后端工程目录|-- src/|-- main.java/|-- com.example/|-- DietReturnApplication  # 启动类|-- Contrller/|-- ChatAdviceController  # 饮食建议控制层|-- ChatReturnController  # 聊天模块|-- DietAnalyseController  # 饮食分析控制层|-- DietController  # 饮食信息控制层|-- RecommendController  # 菜品推荐控制层|-- entity/  # 实体类|-- Diet  # 饮食信息|-- NutritionStr  # 基础营养|-- Result  # 统一接口|-- User  # 用户信息|-- Mapper/|-- ChatAdviceMapper  # 饮食建议查询用户目标|-- DataMapper  # 查询当天饮食信息和菜品|-- DietMapper  # 查询当周饮食信息和新增信息|-- Service/|-- ChatAdviceService  # 饮食建议逻辑层|-- DietAnalyseService  # 饮食分析逻辑层|-- DietService  # 饮食信息逻辑层|-- RecommendService  # 菜品推荐逻辑层|-- main.resources/|-- com.example.Mapper/  # 映射文件|-- ChatAdviceMapper.xml|-- DataMapper.xml|-- DietMapper.xml|-- application.properties  # 配置文件|-- pom.xml  # 配置文件|-- llm_server/  # 大模型服务工程目录|-- chat_response/  |-- memory_db  # 用户记忆库|-- base_memory_chat.py  # 聊天对话模块|-- dietary_advice/|-- dietary_advice.py  # 饮食建议模块|-- recommended_dishes/|-- add_in_userdb.py|-- recommended_dishes.py  # 菜品推荐模块|-- recommended_judgment.py  # 饮食干预评估模块|-- config_ai.py  # AI配置文件|-- requirements.txt  # AI的库依赖|-- tuniao_uniapp/  # 前端工程目录|-- src/|-- App.vue  # 项目启动文件|-- pages|-- chat/chat.vue  # 大模型聊天页面|-- diet/diet.vue  # 饮食管理主页面|-- addDiet/addDiet.vue  # 添加饮食记录|-- personal/personal.vue  # 个人中心页|-- login/login.vue  # 登录页|-- env.d.ts|-- main.ts  # 项目全局文件|-- manifest.json uniapp  # 小程序配置(appid等)|-- pages.json  # 全局路由导航配置|-- shime-uni.d.ts|-- shime-vue.d.ts|-- uni.scss  # 全局样式文件

!!!新手强烈建议听我录制的教程视频(托管平台上),里面会科普知识,希望大家都能跑起来!

🍀 致谢

  • 感谢湖北师范大学董元和老师、熊旭辉老师的指导
  • 感谢湖北师范大学青鸟工作室对本项目的大力支持
  • 感谢上海人工智能实验室对本项目提供的算力支持

📧 联系方式

如果你对项目感兴趣,想要了解项目的全套解决方案,欢迎联系我们:verhancao@foxmail.com

相关文章:

Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官

gitee平台源码 github平台源码 饮食陪伴师是一个管理饮食的原生大模型小程序,优势: 精确营养监控:用户记录饮食后,我们会计算出食用的营养成分与分量,并反馈给用户。饮食建议有效:大模型经过我们训练具备大…...

【C++】检测TCP链接超时——时间轮组件设计

目录 引言 时间轮思想 设计的核心思路 完整代码 组件接口 个人主页:东洛的克莱斯韦克-CSDN博客 引言 对于高并发的服务器来说,链接是一种比较珍贵的资源,对不活跃的链接应该及时释放。判断连接是否活跃的策略是——在给定的时间内&#…...

中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系

2024年9月27日,中国新媒体联盟与中运律师事务所举行战略合作协议签字仪式。中国新媒体联盟主任兼中国社会新闻网主编、中法新闻法制网运营中心主任左新发,中运律师事务所高级顾问刘学伟代表双方单位签字。 中国新媒体联盟是由央视微电影中文频道联合多家…...

【ArcGIS微课1000例】0121:面状数据共享边的修改方法

文章目录 一、共享边概述二、快速的修改办法1. 整形共享边2. 修改边3. 概化边缘一、共享边概述 面状数据共享边指的是两个或多个面状数据(如多边形)共同拥有的边界。在地理信息系统(GIS)、三维建模、大数据分析等领域,面状数据共享边是描述面状空间数据拓扑关系的重要组成…...

图论(dfs系列) 9/27

一、二维网格图中探测环 题意: 给定一个二维数组grid,如果二维数组中存在一个环,处于环上的值都是相同的。返回true;如果不存在就返回false; 思路: 在以往的dfs搜索中,都是往四个方向去dfs;但是在这一道…...

如何在Windows上安装Docker

在 Windows 上使用 Docker 有两种主要方式:通过 Docker Desktop 安装并使用 WSL 2 作为后端,或者直接在 WSL 2 中安装 Docker。这里推荐手残党直接用图形界面安装到WSL 2的后端: 一、启用Hyper-V和容器特性 1. 右键Windows点击应用和功能 …...

golang格式化输入输出

fmt包使用类似于C的printf和scanf的函数实现格式化I/O 1输出格式化 一般的: 动词效果解释%v[1 -23 3]、[1 -23 3]、&{sdlkjf 23}以默认格式显示的值,与bool(%t)、int, int8 etc(%d)、uint, uint8 et…...

Jenkins基于tag的构建

文章目录 Jenkins参数化构建设置设置gitlab tag在工程中维护构建的版本按指定tag的版本启动服务 Jenkins参数化构建设置 选择参数化构建: 在gradle构建之前,增加执行shell的步骤: 把新增的shell框挪到gradle构建之前, 最后保存 …...

性能设计模式

class Singleton { public: static Singleton& getInstance() {static Singleton instance; // 局部静态变量return instance; } private:Singleton() {}Singleton(const Singleton&) delete; // 禁止拷贝Singleton& operator(const Singleton&) delete; // …...

Android 热点分享二维码功能简单介绍

Android 热点分享二维码 文章目录 Android 热点分享二维码一、前言二、热点二维码1、热点分享的字符串2、代码中热点字符串拼接和设置示例3、一个图片示例 三、其他1、Android 热点分享二维码小结2、Android11 设置默认热点名称和热点密码、密码长度 一、前言 比较新的Android…...

SIEM之王,能否克服创新者的窘境?

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…...

(JAVA)浅尝关于 “栈” 数据结构

1. 栈的概述: 1.1 生活中的栈 存储货物或供旅客住宿的地方,可引申为仓库、中转站。例如酒店,在古时候叫客栈,是供旅客休息的地方,旅客可以进客栈休息,休息完毕后就离开客栈 1.2计算机中的栈 将生活中的…...

【前端】ES13:ES13新特性

文章目录 1 类新增特性1.1 私有属性和方法1.2 静态成员的私有属性和方法1.3 静态代码块1.4 使用in来判断某个对象是否拥有某个私有属性 2 支持在最外层写await3 at函数来索引元素4 正则匹配的开始和结束索引5 findLast() 和 findLastIndex() 函数6 Error对象的Cause属性 1 类新…...

vuepress 浏览器加载缓存,总是显示旧页面,无法自动刷新数据的解决方法

vuepress 采用多页面形式,每个md文件在打包时,都会被转为一个html页面;而浏览器默认会缓存页面,导致更新的页面必须手动刷新才行 对于更新较为频繁的文档 全局可在config.js里设置 参考文档: https://vuepress.github.io/zh/ref…...

如何使用代理IP解决反爬虫问题

在网络爬虫的世界里,反爬虫机制就像是守卫城池的士兵,时刻准备着抵御外来的“入侵者”。为了突破这些守卫,代理IP就像是你的隐形斗篷,帮助你在网络世界中自由穿梭。今天,我们就来聊聊如何使用代理IP解决反爬虫问题。 …...

QT学习笔记之绘图

或许有人会等你到天黑,但是你不该在天黑后再找他(她)。 1.绘图事件 在ui文件中添加一个按钮,同时在资源文件中添加一个名字为1.jpg的图片。 widget.cpp #include "widget.h" #include "ui_widget.h" #incl…...

大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

基于QT的C++中小项目软件开发架构源码

描述 基于QT信号槽机制实现类之间的交互调用通信,适用于使用不同枚举作为消息交互的类型场景,支持附带任意参数,代码使用方式参考前一篇文章 特性 代码简洁,不超过100行仅需包含一个头文件Communicator.h,需要通信的…...

self-supervised, weakly supervised, and supervised respectively区别

Self-supervised learning(自监督学习)、weakly supervised learning(弱监督学习)和supervised learning(监督学习)是机器学习中的不同学习范式,它们的主要区别如下: 一、监督学习&…...

安卓好软-----手机屏幕自动点击工具 无需root权限

工具可以设置后自动点击屏幕。可以用于一些操作。例如自动刷视频等等哦 工具介绍 一款可以帮你实现自动操作的软件。软件中你可以根据实际需要设置点击位置,可以是屏幕上的特定位置,也可以是按钮或控件。功能非常强大,但是操作非常简单&…...

PCIe 4.0 vs 内存总线:为什么你的NVMe SSD速度上不去?

PCIe 4.0与内存总线带宽博弈:揭开NVMe SSD性能瓶颈的真相 当你花大价钱购入一块标称读取速度7000MB/s的高端NVMe SSD,实际测试却发现速度只有标称值的一半时,这种落差感就像买了跑车却只能在市区堵车。问题往往不在SSD本身,而是隐…...

深入解析Franka ROS2控制器:关节位置、速度、阻抗控制有何不同?

深入解析Franka ROS2控制器:关节位置、速度、阻抗控制的核心差异与实战选择 在工业自动化和机器人研究领域,精确控制机械臂的运动是实现复杂任务的基础。Franka Emika机械臂凭借其高精度力控能力和开放的ROS2接口,已成为学术研究和工业应用的…...

自动化测试框架选型:Selenium vs Cypress深度对比

在快速迭代的软件开发周期中,自动化测试框架的选型直接影响产品质量与交付效率。Selenium与Cypress作为当前主流工具,分别代表了传统与现代化的技术路线。本文将从架构设计、核心特性、适用场景及未来趋势等维度,为测试从业者提供深度对比分析…...

手把手教你用SRIO IP核实现FPGA与DSP间高速数据互传:基于AXI-Stream接口的实战

基于SRIO IP核的FPGA与DSP高速数据互传实战指南 在异构计算系统中,FPGA与DSP的高效协同已成为雷达信号处理、无线通信基带处理等领域的核心技术需求。传统的数据传输方式如SPI、UART等已无法满足现代系统对带宽和实时性的严苛要求,而Serial RapidIO&…...

Vivado里SRIO IP核Basic模式配置详解:从链路宽度到Buffer深度,新手避坑指南

Vivado中SRIO IP核Basic模式配置全解析:从参数理解到实战避坑 第一次在Vivado中配置SRIO IP核时,面对密密麻麻的参数选项,大多数工程师都会感到无从下手。作为Xilinx FPGA中实现高速串行通信的关键IP,SRIO(Serial Rap…...

SAP中的核算架构体系。这是一个复杂的会计科目表(Chart of Accounts)组织结构,让我逐一解释每个层级及其相互关系

SAP中的核算架构体系。这是一个复杂的会计科目表(Chart of Accounts)组织结构,让我逐一解释每个层级及其相互关系。SAP核算架构全景图┌─────────────────────────────────────────────────…...

SQL Server数据库标记为SUSPECT的紧急修复指南:从单用户到多用户模式的完整恢复流程

1. 数据库被标记为SUSPECT的常见原因 数据库突然变成SUSPECT状态,就像电脑突然蓝屏一样让人措手不及。我遇到过最典型的情况是机房突然断电,导致SQL Server没来得及完成所有事务就强制关闭了。这种情况下,数据库引擎为了保护数据完整性&#…...

大模型LLM ACA - ACP认证考试模拟试卷一

目录 一、大模型LLM ACA - ACP认证考试 二、大模型LLM ACA - ACP认证考试模拟试卷 (一)单选题:70 题 1 分 70 分 1. 在代码中,answer_correctness 指标的主要作用是什么? 2. 在ask_llm_route函数中,…...

Qt实战:QGroupBox和QButtonGroup的5个实用技巧(附完整代码)

Qt实战:QGroupBox和QButtonGroup的5个实用技巧(附完整代码) 在Qt界面开发中,QGroupBox和QButtonGroup是两个看似简单却暗藏玄机的组件。很多开发者只停留在基础使用层面,却不知道它们能实现更复杂的交互逻辑和界面优化…...

前端调试必备:Chrome控制台Network选项卡的10个实用技巧

前端调试进阶:Chrome控制台Network选项卡的深度实战指南 当你面对一个加载缓慢的页面或是莫名其妙的API请求失败时,是否曾感到无从下手?作为前端开发者,我们每天都要与各种网络请求打交道,而Chrome开发者工具的Network…...