基于Spring Boot+Vue3的轻食分享平台设计与实现_第1页
基于Spring Boot+Vue3的轻食分享平台设计与实现_第2页
基于Spring Boot+Vue3的轻食分享平台设计与实现_第3页
基于Spring Boot+Vue3的轻食分享平台设计与实现_第4页
基于Spring Boot+Vue3的轻食分享平台设计与实现_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论1研究背景与意义近年来,国民健康意识持续增强,推动了低脂、低糖、高营养的轻食理念向更多生活场景延伸。用户对轻食的需求已从早期购买成品轻食的单一模式,逐步转向自主制作教程获取、分享饮食经验的多元化方向,对专业化轻食服务平台的需求日益迫切ADDINNE.Ref.{4C0A1837-AE9D-4EA2-97C9-9E109614661C}[1]。但当前市场中的轻食相关服务载体仍存在明显不足,难以匹配用户升级后的需求:首先,市面上鲜有聚焦轻食场景的专门化分享平台。现有主流饮食类平台多以全品类饮食覆盖为定位,集中于外卖点餐等通用方向,尚未围绕轻食的核心特性开发轻食专属的内容模块。这使得用户难以在现有平台中获得针对性的轻食专业信息,无法满足其对轻食领域专业内容的使用需求。其次,传统食谱检索与推荐方式缺乏对用户需求的语义理解。当前多数饮食平台的检索功能仍局限于关键词匹配等文本表层特征,当用户以自然语言提出个性化需求时,系统难以准确解析其真实意图,导致检索结果与用户实际需求出现较大偏差。最后,直接使用大语言模型易产生知识幻觉,内容可信度难以保障ADDINNE.Ref.{622FF900-B8E1-46F7-82AB-9E4B875165D7}[2]。在菜谱生成、营养咨询等场景中,通用大模型难以满足轻食领域对专业性、准确性的严格要求。检索增强生成(Retrieval-AugmentedGeneration,RAG)技术通过引入外部可信知识库进行约束生成,可显著降低幻觉现象,为垂直领域的智能服务提供可行方案。在此背景下,设计并实现一款基于SpringBoot+Vue的轻食分享平台,并使用RAG技术支撑轻食智能问答模块,既能精准填补现有市场在轻食垂直领域的功能空白,为用户提供专业的轻食内容分享与互动服务,进一步推动健康饮食理念的普及;又能综合运用人工智能专业的软件开发和算法设计等核心知识,实现理论知识与工程实践的深度结合,具备明确的实际应用场景与学术研究价值。2国内外研究现状随着健康饮食理念的普及和Web技术的快速发展,构建垂直领域的在线分享平台已成为学术界与工业界关注的热点。国内外学者从产业策略、用户需求、系统架构、推荐算法等多个维度开展了深入研究,为本课题的开展提供了重要的理论支撑和实践参考。从产业研究和用户需求层面来看,现有研究从宏观与微观两个角度共同揭示了构建轻食垂直平台的必要性与紧迫性。刘哲等ADDINNE.Ref.{E7A28FDA-88A4-4EB2-84E4-B0B57B9A7AE0}[3]的研究指出,在互联网+背景下,明确目标消费群体与市场定位、制定有效的线上营销策略对产业的健康有序发展至关重要。这从产业层面印证了,一个定位清晰、运营专业的线上平台对于整合当前分散的轻食市场、建立品牌与质量认知具有迫切意义。此外,XiaoqingZ等ADDINNE.Ref.{FC59FAEF-D195-4556-B360-D90DCC9BA0E1}[4]通过对大学生轻食平台的可行性分析指出,该群体对健康饮食存在明确需求,而现有综合型饮食平台在轻食内容的专业组织与互动社区构建方面存在显著不足,形成了明确的市场空白。XiaoqingZ等ADDINNE.Ref.{9AEFC941-18B3-4B09-A9BD-C4C651052693}[5]也在另一项针对电商环境下轻食产业的研究中进一步强调,电子商务为轻食行业带来了新的销售与宣传机遇,但也对平台的内容专注度与用户运营能力提出了更高要求。这些研究表明,构建专业化的轻食分享平台具有良好的市场前景和应用价值。在系统架构层面,基于SpringBoot的后端服务与基于Vue3的前端应用已成为开发复杂Web应用的主流方案。该架构模式因其高内聚、低耦合的特性,被广泛用于需要快速迭代和高交互性的项目。NingYADDINNE.Ref.{00D636BF-4F79-4388-B153-7D0CF0C39BDD}[6]采用该技术栈构建了个人健康信息服务平台,验证了其在保障业务逻辑严谨性的同时,能大幅提升前端开发效率和用户体验。在国内的工程实践中,余鹏翔等ADDINNE.Ref.{ACE9CCA4-1A6E-4D15-8F56-34353384B9CB}[7]基于SpringBoot框架开发了农业管理系统,证明了该框架在构建稳健、可扩展的后端API服务方面具有显著优势。这些研究成果表明,SpringBoot与Vue3技术组合具有良好的稳定性和可扩展性,适合用于构建内容分享类平台。在技术实现层面,个性化服务已成为提升平台竞争力的核心。VargasVM等ADDINNE.Ref.{69208762-4A11-48BE-9C56-93CAAA91DC6B}[8]的分析表明,食品电商领域的成功越来越依赖于构建社区认同感与高度个性化的用户体验。AmuthaS等ADDINNE.Ref.{8A7886B9-92EF-4C96-993C-5F780CD65B01}[9]和ZhangSADDINNE.Ref.{D3B0A05D-EF95-4FA8-85FE-DE201405C7A4}[10]通过构建基于协同过滤算法的推荐平台,验证了其在提升用户体验方面的有效性,为轻食平台构建精准推荐机制提供了方法参考。但早期的协同过滤算法普遍面临数据稀疏与冷启动问题的挑战,当用户行为数据不足时,推荐效果会显著下降。为解决上述问题,国内外学者提出了多种改进方案。一种思路是采用更复杂的模型提升预测精度,如ShengJ等ADDINNE.Ref.{3B18EF84-71BB-4AC5-A6CD-C53C830FDCDF}[11]利用图神经网络的高阶关系捕捉用户与项目之间的复杂关联,FangJ等ADDINNE.Ref.{C83E58D9-FE4E-4C0E-8EFF-B56140F1792A}[12]则利用深度神经网络进行深层特征学习。另一种主流思路是引入标签等辅助信息来缓解数据稀疏问题。雷曼等ADDINNE.Ref.{A8E338F1-85F8-4EED-825A-D65E200CE9D2}[13]提出的基于标签权重的协同过滤算法,通过量化用户对项目标签的偏好,有效提升了推荐的语义相关性和准确性。时光洋等ADDINNE.Ref.{B894DAB8-AB47-49F6-A51A-931D6096E96E}[14]则进一步通过标签挖掘技术,深化了对用户潜在兴趣的刻画。尽管传统推荐算法取得一定进展,但仍无法有效处理用户以自然语言表达的意图精准理解与语义匹配,为后续引入语义检索与生成式技术提供了研究动机。近年来,大语言模型凭借海量参数与预训练技术,在自然语言理解和文本生成等领域实现突破性进展,具备强大的上下文感知与内容生成能力。王耀祖等ADDINNE.Ref.{DAA4D312-41A2-4CCE-8858-E6FD5CCA0546}[15]在综述中指出,大语言模型已在多个领域展现应用潜力,为垂直场景智能化升级提供技术支撑。在轻食领域,大语言模型可直接弥补传统平台智能服务不足的短板。但现有研究已明确指出,大语言模型存在固有的能力边界,尤其在垂直领域的应用中,单纯依赖模型参数化知识易出现诸多问题。刘泽垣ADDINNE.Ref.{951586EE-3EB8-483C-9D3D-9C041691B0D3}[16]等在大语言模型技术体系的综述中指出大模型的幻觉问题主要源于训练数据的泛化性与垂直领域知识的专业性不匹配。若直接将通用大语言模型应用于菜谱创作等核心服务,可能出现食材搭配错误和烹饪步骤不规范等问题,既影响用户体验,也违背轻食平台的专业化定位。为解决大语言模型在垂直领域应用中的幻觉与知识偏差问题,检索增强生成技术应运而生,已验证其在提升内容专业性和准确性方面的有效性。Lewis等ADDINNE.Ref.{501473CE-BFCE-4F2C-B6CC-435AEC7D48F4}[17]在RAG技术的开创性研究中,正式提出检索、生成两阶段架构,通过先从外部知识库中检索与用户需求相关的可验证证据,再将证据注入大语言模型的生成上下文,实现了生成内容与领域知识的精准对齐与生成结果的可解释性。梁文耀ADDINNE.Ref.{A95DBF88-81B9-45AD-925E-EE4F7155221C}[18]将RAG技术应用于营养咨询系统,通过构建权威膳食知识库与营养数据库,显著提升健康建议生成的精准性与可验证性,有效抑制通用大模型的幻觉输出。龚凡等ADDINNE.Ref.{F4D4092C-C007-4391-B018-D4753FDB5411}[19]基于RAG技术构建饮食建议生成模型,通过专业知识库检索与语义匹配,使生成方案既符合中医理论,又适配用户个体体质与健康目标,为垂直领域智能饮食指导提供了实践参考。这些研究表明,RAG技术能够有效适配轻食垂直领域的专业性与个性化需求,为轻食平台在内容生成、语义检索与知识可信性保障方面提供了可靠的技术支撑与实践参考。综上,将RAG技术与大语言模型相集成,应用于轻食平台的内容检索与增强生成链路,既能借助大语言模型的生成能力满足用户个性化需求,又能通过检索约束解决幻觉问题。现有研究为RAG技术的应用提供了理论基础与实践参考,但针对轻食垂直场景,如何将RAG技术与轻食菜谱库、营养知识库深度融合,如何通过向量语义检索缓解纯关键词检索的意图漂移问题,实现生成内容与平台自有数据的精准对齐,仍存在进一步研究的空间,这也正是本文的研究重点所在。3主要研究内容本文围绕轻食分享平台的设计与实现展开研究,结合用户饮食需求与智能服务场景,重点完成以下工作:开展系统需求分析与整体方案设计。对轻食爱好者、平台管理员用户开展场景调研,明确用户管理、菜谱管理、社区互动、后台管理与智能服务五大功能域与非功能约束。完成前后端分离架构设计,明确业务数据与向量数据的职责边界与同步机制,确定系统整体技术路线。实现轻食分享平台基础业务系统。后端以SpringBoot为核心,整合MyBatis-Plus、SpringSecurity与JWT完成用户认证、菜谱发布、社区互动、通知消息与后台管理等模块开发,实现统一响应封装与异常处理机制。前端基于Vue3、ElementPlus、Pinia与VueRouter构建交互界面,完成分页、表单、上传等通用组件封装,实现页面路由与状态管理,形成完整可用的业务平台。实现RAG与大语言模型集成的智能服务。封装嵌入客户端与大模型调用客户端。构建向量召回、数据清洗、业务回表、重排序的完整检索流程,实现智能菜谱推荐、营养咨询对话与智能菜谱生成三大功能。通过检索增强约束模型输出,降低幻觉风险,提升轻食领域回答的专业性与准确性。4论文组织结构本文共分为六个章节,各章节内容安排如下:第一章为绪论。阐述轻食分享平台的研究背景与意义,梳理国内外饮食推荐系统、检索增强生成及向量检索相关研究现状,明确本文主要研究内容与技术路线。第二章为相关理论与技术介绍。依次介绍后端、前端与数据库层面介绍。重点阐述RAG智能模块相关理论。第三章为需求分析。开展功能性需求分析和非功能性需求分析,最后从技术和操作两方面论证系统开发的可行性,确认项目落地价值。第四章轻食分享系统的设计。搭建功能架构与前后端分离的整体技术架构,绘制核心实体E-R图,设计核心数据表;重点完成RAG模块专项设计。第五章为轻食分享系统实现。介绍系统开发环境与核心配置;展示系统客户端核心界面,梳理核心接口信息并设计功能测试用例以验证系统功能有效性。第六章为总结与展望。对全文工作进行归纳总结,指出系统存在的不足与局限,并对平台后续优化方向与扩展空间进行展望。第二章相关理论与技术1开发语言本系统的核心开发语言为Java和JavaScript。后端使用Java17开发系统的业务与服务实现。Java是一种成熟的面向对象编程语言,具备跨平台性和丰富生态,适合构建高性能应用。前端使用JavaScript,在Vue3单文件组件中编写页面逻辑和交互,实现用户界面动态功能。2开发框架2.1SpringBoot框架SpringBoot是由Pivotal团队研发的开源Java后端开发框架,于2014年首次发布,其核心定位是解决传统Spring框架在实际开发中存在的配置繁琐和依赖管理复杂等痛点,为Java后端服务开发提供高效、便捷、可落地的一站式解决方案,目前被广泛应用于企业级后台管理系统等各类后端开发场景。如图2-1所示,在本系统的后端开发中,SpringBoot被用作统一的应用容器,全面承载控制器层、服务层、数据访问层与安全组件,构建了清晰、高效的后端架构体系。其中,控制器层采用@RestController注解标识,该注解整合了@Controller与@ResponseBody注解直接暴露JSON格式的RESTful接口,负责接收前端Vue3框架发送的HTTP请求,解析请求参数,并将处理结果以JSON格式返回给前端,实现前后端数据交互。服务层作为业务逻辑的核心载体,通过@Service注解标识,负责封装系统的处理业务逻辑和管理事务边界,确保业务操作的原子性与一致性,避免业务逻辑与数据访问逻辑的耦合。数据访问层则通过MyBatis-Plus框架与MySQL数据库进行交互,MyBatis-Plus作为MyBatis的增强工具,简化了数据访问层的开发,通过实体类与数据库表的映射关系,无需手动编写大量重复的SQL语句即可实现数据的增删改查操作,同时将接口契约与领域逻辑解耦,便于后续进行单元测试,以及根据业务需求替换数据访问层的实现方式,提升了系统的可维护性与扩展性。图2-1后端分层架构图Fig.2-1BackendLayeredArchitectureDiagram2.2Vue3与前端工程化框架Vue3是当前主流的前端开发框架之一,采用组件化开发模式与响应式数据绑定机制,有效提升前端页面的开发效率与可维护性。相比Vue2而言,Vue3引入的CompositionAPI与基于Proxy的响应式实现机制,能够在复杂业务场景下具备更好的逻辑复用能力与运行性能。本系统前端采用Vue3框架进行开发,结合ElementPlus组件库与Axios网络请求工具,实现用户界面构建、数据交互及页面状态管理等功能。同时,系统采用前后端分离架构,通过RESTfulAPI与SpringBoot后端进行通信,从而提升系统模块化程度与工程可维护性ADDINNE.Ref.{EB381E1F-7AE6-4CF9-89B1-D9AE41486AF5}[20]。2.3LangChain框架介绍在将大语言模型能力落地为可维护的软件系统时,通常需要将各个环节进行模块化拆分与流程编排。LangChain是面向该类问题的主流开源框架之一,其核心价值在于提供一组相对统一的抽象,使不同供应商模型与不同提示模板能够以一致方式组合,从而降低业务代码与具体实现细节的耦合度ADDINNE.Ref.{7C5F92FA-DF90-4DCD-B37A-712F95E0932D}[21]。LangChain相关的关键抽象主要包括:(1)模型接口与消息体。以标准化消息序列组织提示与上下文,便于实现多轮对话、系统约束与可追溯的输入输出记录。(2)提示模板。将用户输入、业务约束与检索证据片段以模板化方式组装,使提示可版本化管理、可复用与便于对比评测,减少在业务代码中散落的字符串拼接逻辑。(3)检索器与向量存储。检索器负责在给定查询的情况下,返回相关文档或片段;向量存储负责高维向量的持久化与相似度检索。二者结合可将领域知识以可检索证据的形式接入生成流程。(4)链与编排。将上述调用大语言模型步骤连接为可复用的处理链路,形成清晰的控制流与错误边界,并便于后续扩展重排序、引用溯源等增强策略。在本系统中,后端采用SpringBoot完成服务编排,通过嵌入客户端、向量库访问组件与大语言模型客户端实现与上述LangChain抽象在概念层面一致的处理流程,为后续轻食系统检索增强生成链路的实现提供结构化的工程组织方式。3数据库3.1MySQL与MyBatis-PlusMySQL是由Oracle公司主导的开源关系型数据库,核心定位是实现结构化数据的高效存储、管理与查询,基于SQL语言构建,是工业级应用中最常用的关系型数据库之一。MyBatis-Plus是基于MyBatis框架研发的增强工具,核心目标是简化MyBatis的开发流程,解决其SQL编写繁琐、CRUD操作重复的痛点,实现数据持久化层的高效开发。MySQL与MyBatis-Plus的协同是Java后端开发中主流的数据持久化解决方案。MySQL作为数据存储载体,负责接收并执行底层SQL指令,完成数据的增删改查及事务管理,通过InnoDB存储引擎保障数据一致性与并发性能。MyBatis-Plus作为持久层框架,提供内置CRUD接口和条件构造器等功能,无需手动编写大量重复SQL语句,同时支持自定义SQL与存储过程,实现Java实体类与MySQL数据表的映射,将后端业务逻辑与底层数据存储解耦。3.2Milvus向量数据库Milvus是由Zilliz公司研发、LFAI基金会托管的开源分布式向量数据库,专为大规模高维向量的存储、索引与检索而设计,是一种面向海量向量近似最近邻搜索场景,支持多种索引结构与度量方式的向量数据库管理系统ADDINNE.Ref.{CDD86E52-DDF4-4F8C-ACDE-2E4A8DD3ED50}[23]。其核心原理围绕近似最近邻检索技术展开,通过构建高效的向量索引结构,避免对全量向量进行暴力遍历,实现海量向量的快速检索。与传统关系型数据库相比,Milvus突破了高维向量检索效率低下的瓶颈;与FAISS等向量检索库相比,其具备完整的数据库持久化、动态数据管理与企业级运维能力,成为连接向量生成技术与实际AI应用的关键载体,推动了语义理解与智能检索技术的工业化落地。4大语言模型与检索增强生成技术4.1大语言模型基础大语言模型通常指参数量达到数十亿规模及以上、在海量文本上完成预训练后具备较强语言理解与生成能力的神经网络模型。Transformer架构奠定了当前主流大模型的结构基础,相较于传统的循环神经网络和长短时记忆网络,Transformer的自注意力机制和高度并行计算能力,使模型能够在大规模数据集上高效训练,有效解决了长距离依赖难以捕获的问题,同时提升了序列建模效率ADDINNE.Ref.{1AD90A96-AA40-4568-B2E4-6DAF0C1B8831}[24,25]。在Transformer中,自注意力机制是其核心部件,其实现过程如图2-2所示。用于计算序列中不同位置之间的依赖关系,从而实现全局的信息交换与建模。具体来说,通过以输入序列的每个位置为中心,计算该位置与序列中所有其他位置之间的相关性,并根据这些得分对其他位置的特征进行加权求和,从而生成包含上下文信息的表征。图2-2缩放点积注意力结构示意图Fig.2-2SchematicDiagramoftheScaledDot-ProductAttentionArchitecture在计算过程中,自注意力机制的输入通常为一个矩阵,通过对矩阵的线性变化得到查询矩阵Q,键矩阵K和值矩阵V,通过缩放点积注意力机制,计算Q与K的相似度,得到计算注意力权重,通过正则化后得到每个位置的注意力权重,并与V向量进行加权求和,从而获得每个位置的上下文感知表示。(2-1)公式2-1中包含多个多头注意力(Multi-HeadAttention)结构,这是在自注意力机制基础上扩展而来的,图2-3给出了Multi-HeadAttention详细的架构。该机制将查询、键和值分别线性映射到多个子空间,形成多个独立的注意力头,每个头具有独立参数,能够并行计算注意力。最终将各个注意力头的输出拼接并映射为统一表示。这使得模型可以在不同子空间中捕捉多种语义关系与特征,从而增强对输入信息的理解。图2-3多头注意力机制结构示意图Fig.2-3SchematicDiagramoftheMulti-HeadAttentionMechanism除了上述的核心的自注意力机制,Transformer每层中还包括残差连接、层归一化机制,来保证梯度流动的稳定性,每个子层后面跟随有前馈神经网络(Feed-ForwardNetwork),通常由两个线性变换和一个激活函数组成,从而保证模型训练的稳定性与表达能力。尽管基础大语言模型具备强大的通用能力,但其知识主要固化于训练阶段参数之中,存在知识截止日期,且对平台私有菜谱、审核规则与营养口径等域内事实缺乏天然对齐;在缺乏约束时,模型可能输出看似合理但与事实不符的内容,即业界常称的幻觉现象。但检索增强生成作为衔接通用预训练模型与下游垂直任务的关键方法,能够有效弥补模型知识局限、缓解幻觉问题,在资源受限的应用场景中具备重要实践价值。4.2RAG基本概念检索增强生成(Retrieval-AugmentedGeneration,RAG)由Lewis等人首次提出,当给定用户查询时,系统先从知识库检索相关片段,再将片段与用户意图一并作为提示输入大语言模型,使模型输出能够引用或至少受约束于检索内容,从而缓解纯参数化记忆带来的事实偏差与更新滞后问题。RAG的模型技术架构主要包括两个部分:检索模块和生成模块。(1)检索模块:为生成模型提供外部知识补充。传统大语言模型知识固定在模型参数中,难以更新,而检索模块允许模型动态调用外部知识源,从而提升系统的知识时效性和准确性。首先,检索器根据用户输入的查询请求从外部的大规模数据如互联网、数据库中获取相关的信息,并通过嵌入式模型转换为向量表示,存储在向量空间中,用户输入的查询请求也经过嵌入模型编码为向量表示,基于向量相似度在外部知识库的向量空间中进行检索,并获取结果,最后从检索结果中筛选与查询最相关的前Top-k个内容,作为后续生成模型的辅助输入。(2)生成模块:将查询请求和检索模块返回的相关内容相结合,配合提示词传递给生成模型来生成结果。该模块将查询请求与检索到的文档片段拼接,结合提示词构成增强型输入,并送入选定好的大语言模型中,模型通过对输入的理解,结合自身的内部数据知识信息,生成更高质量的回答。检索模块和生成模块二者通过明确的接口契约解耦,这两者可分别优化召回策略与提示模板,也便于在检索失败时单独降级。同时,提示工程需要明确约束模型不得编造检索中不存在的配料或营养数值,以降低幻觉风险ADDINNE.Ref.{68D2C02F-6C23-45B1-9BFE-11AA55D8A86D}[26]。4.3词嵌入与检索模型词嵌入是自然语言处理领域中用于将离散文本符号转化为连续向量表示的重要技术,其核心目标是通过向量空间刻画词语之间的语义关系,为各类下游自然语言处理任务提供语义基础支撑。早期神经语言模型研究提出了连续分布式词表示思想,为后续词向量技术的发展奠定了基础ADDINNE.Ref.{1BE4A636-4D7F-4717-8DCC-9A906BF0FEE1}[27]。Mikolov等提出的Word2Vec模型进一步推动了词向量技术的发展,其CBOW与Skip-Gram结构能够高效学习词语的语义表示ADDINNE.Ref.{C73D2EB8-7F17-4785-8809-43785E3E4020}[28]。随着深度学习技术的发展,词嵌入技术逐渐从词级表示扩展到句子级、段落级乃至篇章级文本表示,并广泛应用于文本分类、语义检索、机器翻译、问答系统等自然语言处理任务中。BGE-Large-zh-v1.5作为典型的稠密检索模型ADDINNE.Ref.{523BED66-2065-4EE8-827C-316F3949BD1F}[29],专为中文语义检索与相似度计算任务优化,在学术界与工业界广泛作为中文向量底座使用。该模型采用预训练与对比学习相结合的双阶段训练范式,包含24层Transformer编码器、16个注意力头和1024维隐藏层,参数量约为326M,其训练目标是在大规模中文文本对数据上最大化正例相似度、最小化负例相似度,从而学习通用且精准的中文语义表示。与BGE-Large-zh-v1.5对应的稀疏检索代表模型为BM25,该模型是基于概率相关性框架提出的经典排序函数ADDINNE.Ref.{53E4EF53-11B8-4B0C-8B75-8449D18BD041}[30],源于20世纪80年代的Okapi信息检索系统,核心基于词频与逆文档频率计算文档与查询的相关性得分,借鉴并改进了TF-IDF的思想,引入词频饱和度与文档长度归一化机制,通过可调参数控制检索效果,是信息检索领域长期广泛应用的基准模型。4.4RAGAS评估体系RAGAS是面向检索增强生成流程的量化评估框架ADDINNE.Ref.{1371FBF7-B0CD-45B9-9663-7FF75B26C47E}[31],可从检索质量与生成效果两个维度,对RAG系统的整体性能进行自动化评测。在轻食分享平台中,RAGAS主要用于评估智能推荐与营养咨询模块的服务效果,重点关注检索相关性、上下文忠实度、答案精准度、语义完整性四项指标。检索相关性用于衡量向量召回的菜谱块与用户查询的匹配程度,反映Milvus检索与重排序模块的有效性。上下文忠实度用于判断大模型生成回答是否严格基于检索到的知识片段,降低幻觉与编造内容的概率。答案精准度用于评价生成内容在营养口径、食材搭配、步骤描述等专业信息上的正确性。语义完整性则衡量回答是否覆盖用户提出的需求要点,避免信息遗漏。系统通过接入RAGAS评估脚本,对查询、检索上下文、模型输出进行批量打分,输出各指标的量化结果与分布曲线。这些指标可直接反映向量库构建质量和嵌入模型效果以及重排序策略的合理性,为参数调优提供依据。第三章系统分析1功能需求分析1.1用户需求分析本系统用户功能主要围绕账户管理、个人信息与数据管理以及用户发现三个方面展开:1、在账户管理方面,系统提供注册、登录和退出登录功能,确保用户身份可验证和操作安全。用户通过注册创建账号,通过登录访问个人数据和功能,通过退出登录保障账户安全。2、在个人信息与数据管理方面,用户可以查看自己的菜谱、收藏、点赞以及个人资料,同时可以浏览他人主页并查看个人数据统计。系统通过对这些功能的组合管理,既保证了用户对自己数据的完全控制,也支持社交和内容互动的需求。3、在用户发现功能方面,系统允许用户按关键词搜索其他用户,便于发现兴趣相投或内容相关的用户,实现平台内的社交与内容推荐功能。用户功能用例图如图3.1。图3-1用户功能用例图Fig.3-1UserFunctionUseCaseDiagram1.2菜谱功能需求分析菜谱的发布、维护、浏览与检索是本系统的核心业务需求,直接关系到用户的使用体验和内容管理效率。本系统将相关功能分为两个主要模块:菜谱发布与维护,以及菜谱浏览与检索。1、在菜谱发布与维护。用户可以发布新的菜谱、编辑已有菜谱和删除不需要的菜谱。该模块确保用户能够自主管理自己的内容,实现对菜谱的完整生命周期控制,同时支持内容的持续更新和维护,保证平台数据的准确性和可用性。2、在菜谱浏览与检索。用户可以查看菜谱详情、浏览热门菜谱、分页浏览菜谱、按组合条件筛选菜谱,并查看其他用户公开的菜谱。该模块满足用户多样化的浏览和搜索需求,通过不同的检索方式提升用户获取所需菜谱的效率和体验,同时支持内容的发现与分享功能。用例图如图3.2。图STYLEREF1\s32菜谱功能用例图Fig.STYLEREF1\s3-2RecipeFeatureUseCaseDiagram1.3用户互动需求分析用户互动功能是本系统的重要需求模块,旨在提升平台的社交性和内容活跃度。本系统将用户互动功能分为三类:菜谱互动、评论互动以及关注与粉丝管理。1、在菜谱互动中,用户可以对菜谱进行点赞或取消点赞、收藏或取消收藏,并实时查看菜谱的互动状态。该模块保证了用户对自己感兴趣内容的反馈和管理,同时为平台提供互动数据基础。2、在评论互动中,用户可以浏览菜谱评论并进行回复,对评论进行点赞或取消点赞,以及删除不当评论。同时,用户可以查看评论的点赞状态,从而实现对评论内容的管理和社交互动。3、在关注与粉丝管理中,用户可以关注或取消关注其他用户,浏览关注列表和粉丝列表,并查看关注与粉丝的统计信息。该模块支持用户之间的社交关系建立与维护,增强了平台的用户粘性和社交体验。通过上述功能设计,本系统实现了从内容互动到社交关系管理的全链路用户交互需求,既保证了用户自主控制互动行为,也提升了平台内容的活跃度和可发现性。用例图如图3-3。图STYLEREF1\s33互动模块用例图Fig.STYLEREF1\s3-3UseCaseDiagramfortheInteractionModule1.4通知功能需求分析通知功能是本系统的重要辅助模块,旨在向用户提供及时的信息提示和消息管理能力。系统将通知功能分为通知查看和通知处理两个子模块。1、在通知查看模块中,用户可以分页浏览通知列表,并查看未读通知数量,从而方便用户及时获取平台的更新信息和系统提示。2、在通知处理模块中,用户可以对通知进行标记已读操作,包括单条通知标记已读和全部通知标记已读,同时可以删除不需要的通知。该模块保证了用户对通知的自主管理能力,提高了平台的消息处理效率和使用便利性。用例图如图3-4。图STYLEREF1\s34通知模块用例图Fig.STYLEREF1\s3-4NotificationModuleUseCaseDiagram1.5RAG功能需求分析RAG模块是本系统的创新功能,旨在通过检索增强生成技术为用户提供个性化的菜谱推荐和智能营养咨询服务。本模块主要包括智能菜谱推荐和营养咨询两个子功能。1、在智能菜谱推荐功能中,系统根据用户提交的推荐意图和条件,通过向量检索相似菜谱,并结合业务规则进行重排序与过滤,最终生成推荐菜谱列表。该功能能够根据用户兴趣和偏好提供精准的个性化推荐,提升用户体验和内容发现效率。2、在营养咨询功能中,用户可以发起营养相关的咨询请求,系统会检索相关菜谱数据作为参考,并生成对应的答复和参考来源。该功能为用户提供科学的营养建议和参考依据,满足用户在饮食管理和健康方面的个性化需求。通过上述设计,RAG模块实现了从用户意图采集、检索、生成到结果返回的完整流程,既保证了推荐内容的精准性,又提升了系统的智能化水平,为平台用户提供高价值的个性化服务。用例图如图3-5。图STYLEREF1\s35RAG模块用例图Fig.STYLEREF1\s3-5RAGModuleUseCaseDiagram1.6管理员功能需求分析管理员功能是本系统的核心管理模块,旨在保障平台的数据安全、内容质量和用户管理的规范化。系统将管理员功能分为五个子模块:数据监控、用户管理、菜谱治理、分类管理以及评论管理。1、数据监控模块。管理员可以查看运营统计数据、近期注册用户情况以及近期发布的菜谱,以便掌握平台的整体运行状况和趋势变化。2、用户管理模块。管理员可以分页查询用户信息,调整用户状态,并删除违规或异常用户,确保平台用户管理的规范性和安全性。3、菜谱治理模块。管理员可以分页查询菜谱并删除不符合平台规范的菜谱,保证内容质量与平台秩序。4、分类管理模块。管理员可以查看、新增、修改或删除菜谱分类,实现平台内容的有效组织与管理,便于用户检索与使用。5、评论管理模块。管理员可以分页查询评论并删除违规评论,确保用户交流环境的健康与秩序。用例图如图3.6。图STYLEREF1\s35管理员功能用例图Fig.STYLEREF1\s3-5AdministratorFunctionalUseCaseDiagram2非功能需求分析2.1安全性需求分析系统要实现安全的访问控制。首先,应对用户身份进行验证。通过无状态令牌机制实现登录鉴权和最小权限控制,防止用户越权访问其他用户的数据或敏感资源,同时对关键操作和管理功能进行角色或权限校验,保证普通用户无法执行管理操作或修改不属于自己的内容。其次,应对接口、数据库以及高风险操作进行权限限制。防止未授权访问或绕过系统操作,确保数据的机密性与完整性。最后,系统还应保证通信安全。防止数据在传输过程中被窃取或篡改,输入和内容安全应防范常见的注入攻击和跨站脚本攻击,并通过日志审计、开发接口管控和依赖漏洞管理等运维措施,提高系统整体安全性,从而全面降低菜谱、用户、评论、互动和管理等业务模块的潜在风险。2.2数据一致性需求分析系统需要确保菜谱、用户、评论和互动等业务数据的一致性和完整性。通过事务管理和异常处理机制,防止并发操作或意外中断导致的数据不一致。同时,应保证文件上传和外部服务调用的数据同步,确保平台各模块间数据状态可靠可控,为用户提供稳定可信的服务。2.3扩展性需求分析科技迅速发展,新的技术和需求层出不穷,要对系统的核心功能进行抽象设计,降低系统的耦合性,为未来可能的变化预留接口以提高可扩展性。当系统功能需要扩展或者改变时,只对增加的模块进行设计,只要改动少量原有代码就可以完成需要的功能。如为其他的设备通讯协议预留接口等。3系统可行性分析3.1技术可行性本系统采用B/S前后端分离架构。Vue和SpringBoot技术成熟、社区活跃,具备丰富的开发和调试工具。MySQL提供事务管理和数据一致性保证,可满足菜谱、用户、评论和互动等业务模块的数据存储需求。系统采用无状态JWT进行身份认证,配合HTTPS传输和多级运维策略,可有效保障系统安全性和稳定性。整体技术方案成熟可靠,技术可行性较高。3.2操作可行性系统设计简洁,操作流程清晰。用户可以通过浏览器方便地完成菜谱浏览、创建、评论和互动等功能。管理员对内容和用户的管理操作权限明确,便于日常维护和监控。系统部署无需额外复杂配置,具有较高的可操作性和推广价值。第四章轻食分享系统的设计1系统概要设计1.1系统功能设计根据需求分析,本文提出了图4-1的系统功能设计。系统采用模块化分层设计思路,系统共划分为用户模块、菜谱模块、社区模块、后台模块以及智能服务五大核心功能模块,各模块职责明确、相互协同,共同支撑平台全流程业务闭环与智能化服务落地。图4-1轻食系统功能设计Fig.4-1FunctionalDesignoftheLightMealSystem(1)用户模块作为平台的基础支撑模块,承担平台用户体系搭建与基础权限管控相关工作。为用户提供注册登录、个人信息维护与权限分级管理等基础能力,保障用户账号安全与不同角色访问权限的合理隔离,为其余业务模块提供稳定可靠的用户身份底座。(2)菜谱模块是平台的核心内容业务载体,面向全体用户实现轻食菜谱内容的生产与消费流通。支持用户进行菜谱内容的发布与在线浏览,同时提供多维度的菜谱搜索与精准筛选功能,并搭配菜谱详情展示与基础个性化推荐能力,能够高效满足用户查找、了解、获取轻食菜谱的核心使用需求。(3)社区互动模块则聚焦平台社交生态与用户粘性建设,构建用户之间轻量化的互动交流渠道。用户可针对菜谱内容开展评论、点赞等互动操作,同时可对优质菜谱进行收藏、对心仪创作者进行关注,有效增强平台用户活跃度与内容传播效应。(4)RAG智能模块作为本平台的特色创新功能,深度融合大模型相关技术,打造智能化轻食服务体系。依托RAG实现个性化轻食精准推荐,同时上线专业营养咨询问答服务与菜谱智能生成功能,能够根据用户个性化饮食目标与食材条件,定制适配性健康轻食方案,大幅提升平台服务的智能化、个性化水平。(5)管理员模块面向平台运营与运维管理人员,承担平台整体监管与运营管控职能。通过数据总览功能直观呈现平台整体运营概况、用户增长与内容活跃度等关键指标,同时依托系统信息管理功能完成全站内容维护、账号管理、规则配置等运维工作,保障平台合规、稳定、健康地长效运营。五大模块彼此独立又相互配合,构建了一个集账号管理、菜谱分享、社区交互、后台管控与智能赋能于一体的一站式健康轻食分享生态平台。1.2系统结构设计系统采用B/S架构与前后端分离的开发模式。系统总体架构如图4-2所示如下,前端层以Vue3为核心并集成VueRouter、Pinia等组件。请求经Nginx网关转发至后端,后端基于SpringBoot分层构建,包含四大控制器、对应服务层、数据访问层及AI服务层,实现业务处理与AI功能。数据库层采用MySQL与Milvus协同,分别存储结构化数据与高维语义向量,各层级协同联动,形成完整高效的系统架构。图4-3系统总体架构Fig.4-3Overallsystemarchitecture2数据库设计2.1概念结构设计数据库设计遵循高内聚、低冗余、可扩展的原则,将强业务字段集中在菜谱与用户实体上,将关系型互动拆分为独立表以便于权限控制与统计更新。系统主要实体包括用户、菜谱、分类、标签、评论、与用户行为等。用户与菜谱为一对多;菜谱与分类为多对一;菜谱与标签为多对多;评论挂在菜谱下并支持树形回复;点赞与收藏通过目标类型字段泛化到不同对象;关注描述用户之间的有向社交关系;用户行为表用于记录浏览、点击等行为事件。概念结构可用E-R图表示,图4-4给出核心实体及联系:图4-4核心实体E-R图Fig.4-4CoreEntity-RelationshipDiagram2.2核心表结构设计为满足在线菜谱分享平台的用户管理、菜谱发布、互动交流、数据统计等核心业务需求,结合系统功能模块与数据关联关系,设计以下11张核心数据库表。各表通过主键与外键建立关联,保障数据的完整性与关联性,同时采用逻辑删除、状态标记等设计提升数据操作的灵活性与安全性。表4-1用户表user主要字段Tab.4-1Mainfieldsofusertable表4-2菜谱表recipe主要字段Tab.4-2Mainfieldsofrecipetable表4-3评论表recipe主要字段Tab.4-3Mainfieldsofcommentstable表4-4分类表category主要字段Tab.4-4Mainfieldsofcategorytable表4-5标签表tag主要字段Tab.4-5Mainfieldsoftagtable表4-6点赞记录表like_record主要字段Tab.4-6Mainfieldsoflike_recordtable字段名类型说明表4-7收藏表collection主要字段Tab.4-7Mainfieldsofcollectiontable表4-8关注表follow主要字段Tab.4-8Mainfieldsoffollowtable表4-9用户行为表user_behavior主要字段Tab.4-9Mainfieldsofuser_behaviortable表4-10通知表notification主要字段Tab.4-10Mainfieldsofnotificationtable表4-11评论点赞表comment_like主要字段Tab.4-11Mainfieldsofcomment_liketable3RAG模块总体设计3.1模块总体架构如下图4-6所示,系统整体采用多服务协同模式。检索支撑层负责将用户输入的自然语言文本转化为高维向量,为语义检索提供基础能力。检索增强编排层是智能推荐的核心环节,以多级筛选策略提升结果匹配度。随后通过重排序模型对初步检索结果进行相关性打分,按照分值由高到低完成序列调整。重排后的精筛结果通过预设指令约束输出格式与内容规范,将用户需求与参数组合为标准输入,由模型完成回答或内容生成以进行交互。图4-6RAG模块分层架构图Fig.4-6RAGModuleLayeredArchitectureDiagram为了清晰呈现智能模块内部的协作逻辑与数据流转过程,下图4-7所示,本节通过智能模块数据交互与功能流转示意图,对各组件间的调用关系与交互流程进行整体梳理,为后续各模块的详细设计提供结构支撑。图4-7RAG模块数据交互与功能流转图Fig.4-7DataInteractionandFunctionalFlowDiagramforRAGModules1、接入层通过AIAssistantController统一承接前端HTTP请求,完成权限校验后,将原始请求规整为推荐等标准化请求实体,再交由业务服务执行后续逻辑。2、核心业务逻辑由AIAssistantServiceImpl统一统筹编排。开展菜谱推荐时,会依次完成向量生成、库内相似内容检索、菜品信息补齐、结果重排以及数据筛选截断;面向用户问答与内容生成场景,则直接对接对话能力与结构化生成接口。3、针对第三方API接口,系统封装了统一客户端StepFunClient,集中管理外部接口调用,减少多处重复对接的冗余问题。配置信息由AI统一配置类加载,读取配置文件中自定义参数,统一管理关键配置,便于后期调整维护。4、向量数据的存储与检索能力,依托MilvusVectorStore实现,依靠菜品唯一标识和业务库形成数据联动,保障两边数据对应一致。5、效果评估环节单独通过Python脚本独立运行,凭借接口地址与身份凭证访问后端服务,依托评估框架完成指标测算。该流程与主服务完全异步隔离,采用轻量化的松耦合设计,不会占用主服务资源,保障线上业务稳定运行。3.2基于向量数据库的菜谱语义检索设计为满足轻食菜谱推荐场景中自然语言理解与高效检索的双重需求,本系统采用MySQL+Milvus混合存储架构,其中MySQL用于存储菜谱明细等结构化业务数据,Milvus用于存储菜谱语义向量索引,检索阶段通过向量空间的近似最近邻搜索获取菜谱标识列表,再通过MySQL完成业务数据组装,该流程由AIAssistantServiceImpl.recommendRecipes方法统一实现。3.3语义单元与嵌入文本设计系统在Milvus向量数据库中统一存储与管理两类语义索引数据,其一是业务库中已发布的轻食菜谱数据,其二是通过MinerU工具从Word、PDF文档解析得到的轻食类参考知识文档,两类数据共同构成系统检索与知识增强的向量数据源。对于已发布的轻食菜谱数据,相关嵌入文本流程该可总结如表4-12所示。表4-12轻食菜谱向量构建模块功能文字说明Tab.4-12Functionaltextdescriptionoftherecipevectorconstructionmodule输入:已发布轻食菜谱数据输出:向量集合1、读取业务库中已发布的轻食菜谱数据。2、以单条菜谱为独立语义单元,不做文本切块,通过RecipeVector.toEmbeddingText()方法,将菜谱名称、描述、食材、分类标签、热量、烹饪时长等信息拼接为多行文本。3、拼接后的文本通过嵌入模型生成向量,写入Milvus向量库。4、每条菜谱向量与MySQL数据库中的recipe_id主键绑定,支持检索后快速回表与页面展示在轻食参考文档处理方面,相关嵌入文本流程可总结如表4-13所示。表4-13轻食参考文档向量构建模块功能文字说明Tab.4-13Functionaltextdescriptionofthereferencedocumentvectorconstructionmodule输入:Word/PDF格式的轻食参考文档输出:向量集合1、通过MinerU工具将Word/PDF文档解析为Markdown格式。2、按分段策略对文本进行切块:优先按空行划分段落,在单块不超过900字符的条件下合并段落;超长文本采用900字符窗口、120字符重叠的滑动窗口切分。3、切块后的文本通过SiliconFlow接口批量向量化,写入Milvusreference_doc_chunks集合。4、以chunk_pk作为向量主键,并记录source_file字段,确保切块数据可完整溯源。在整体检索增强生成架构中,菜谱数据聚焦业务场景下的菜谱实体信息,后者提供轻量化饮食理论与拓展知识,二者分别构建独立向量集合,共同组成系统专属轻量化知识库,为后续语义检索、智能问答等功能提供全面且可靠的语义支撑。3.4向量数据构建与入库流程本系统中,已发布菜谱语义数据和轻食参考文档切块数据都写入同一个Milvus集合,通过item_type字段区分来源类型。集合设计如下表4-14所示,中主键vector_pk负责全局唯一标识,embedding存放向量本体,菜谱数据使用recipe_id保持与MySQL业务主键的一一映射,文档数据则用source_file和chunk_index标明来源与块序号。这样处理以后,检索结果无论命中菜谱还是文档块,都可以被准确还原到原始业务对象或知识片段。表4-14向量数据库集合字段设计表Tab.4-14VectorDatabaseFieldDesignTable3.5语义检索与重排序请求接入后,系统依据用户输入内容生成查询文本,系统通过统一嵌入接口采用BGE模型与BM25模型共同构建双路向量。检索操作基于Milvus统一集合执行,向量索引采用IVF_FLAT模式,索引构建参数nlist为128,在线检索参数nprobe为16,相似度度量方式采用余弦相似度,该参数组合可在当前数据规模下有效平衡检索响应效率与结果召回覆盖率。系统获取候选结果后首先开展业务数据清洗与去重操作。接着系统优先处理类型为recipe的候选结果,通过业务库回表补齐RecipeVO完整信息,并将标题、描述、标签、食材等字段重组为结构化排序文本。排序阶段采用BGE系列reranker模型,该模型基于交叉注意力机制对用户查询与候选文本进行细粒度语义匹配,通过双向编码直接计算文本相关性,相比向量相似度能更精准捕捉用户意图与菜谱内容的深层关联。最终将用户的原始问题与重排序结果一同构建上下文输入给大语言模型。相关图如4-8所示。图4-8检索增强生成流程示意图Fig.4-8SchematicDiagramoftheRetrieval-EnhancedGenerationProcess3.6RAGAS评估设计为精准量化轻食菜谱智能推荐RAG链路的综合性能,本文引入RAG评估专用自动化框架RAGAS完成量化评测工作。如图3-4所示,对每条金标样本,评测程序向本系统后端发起

POST/api/ai/recommend

请求,随后脚本将各菜谱的结构化字段拼接为与重排所用文本相近的

纯文本上下文,形成RAGAS数据集的

retrieved_contexts

列表。在此基础上,评测脚本依据上述检索上下文生成简短中文回答,得到RAGAS字段

response,用于模拟检索、生成闭环中的生成环节,从而可对忠实度、答案相关性等生成侧指标进行计算。最后,将

user_input、retrieved_contexts、response

与由

ground_truth

得到的

reference

一并送入

RAGAS

evaluate

流程;框架内部注入本系统配置的嵌入模型与裁判用大语言模型,依次计算

Faithfulness、AnswerRelevancy、ContextPrecision与

ContextRecall四项指标。图3-4RAGAS评估数据流图Fig.3-4RAGASEvaluationDataFlowDiagram第五章轻食分享系统实现1开发环境与配置本系统后端在

IntelliJIDEA下基于JDK17与Maven进行开发与调试,全项目使用

Git

进行源码管理,相关参数集中于

application.yml

管理。后端基于SpringBoot2.7.14

构建RESTfulAPI,结合SpringSecurity+JWT实现认证与权限控制,数据访问层采用MyBatis-Plus简化CRUD与分页查询。数据库采用MySQL存储核心业务数据,并通过SQL脚本维护建表与测试数据。为支撑相似菜谱检索、推荐等能力,系统引入Milvus作为向量数据库,后端通过Milvus、JavaSDK2.3.4与其交互;与第三方模型的调用通过HttpClient实现。后端项目使用Java17+Maven进行构建与依赖管理。前端采用Vue3+Vite4快速构建单页应用,状态管理使用Pinia,路由使用VueRouter,UI组件库采用ElementPlus。开发阶段通过Vite本地服务启动前端,并将/api

请求代理转发至后端服务,从而保证前后端联调效率。系统运行环境如表5-1所示。为保证依赖一致性与可复现性,后端依赖由pom.xml统一管理,前端依赖由

package.json

统一管理。系统运行前需要配置数据库连接、JWT密钥以及AI相关的APIKey、BaseURL等参数。表5-1运行环境Tab.5-1operatingenvironment配置详情CPUInteli7-11800HGPURTX3060内存16GB操作系统Windows10Java版本JDK17前端框架Vue3+Vite4前端UIElementPlus前端开发端口3000后端服务端口80802功能模块实现2.1用户模块实现用户模块的核心服务类UserService提供了用户管理的完整业务逻辑,包括用户注册、登录、信息查询、信息修改等功能。用户登陆后可查看和编辑自己的个人资料,编辑资料时,后端从SecurityContext中获取当前用户ID,根据DTO中的非空字段选择性更新。更新邮箱或手机号时需校验唯一性。头像上传采用MultipartFile接收图片文件,FileUploadUtil工具类负责文件存储流程。图5-1为注册与登录流程时序图。图5-1注册与登陆流程时序图Fig.5-1Registrationandloginprocesssequencediagram2.2菜谱模块实现菜谱模块是平台的核心功能模块,提供菜谱的完整生命周期管理。该模块实现了菜谱的发布、浏览、搜索、详情查看等功能,支持分类筛选和标签过滤。菜谱发布功能允许已登录用户创建新的菜谱。发布接口接收菜谱的标题、描述、食材、步骤、烹饪时间、难度、热量、分类ID、标签等参数。食材和步骤采用JSON格式存储,便于前端渲染和后端处理。菜谱封面图片上传到对象存储服务,返回URL后保存到数据库,相关时序图如图5-2所示。图5-2菜谱发布流程时序图Fig.5-2SequenceDiagramoftheRecipePublicationProcess菜谱浏览功能提供分类浏览和关键词方式。分类浏览根据分类ID查询该分类下的所有菜谱,支持分页和排序,对应时序图如图5-3所示:图5-3菜谱浏览流程时序图Fig.5-3SequenceDiagramoftheRecipeBrowsingProcess菜谱搜索功能支持关键字搜索和条件筛选。关键字搜索通过匹配菜谱标题和描述进行全文检索。条件筛选支持按分类、标签、烹饪时间、难度、热量范围等条件进行筛选,对应时序图5-4所示。图5-4菜谱搜索流程时序图Fig.5-4SequenceDiagramfortheRecipeSearchProcess菜谱详情功能返回菜谱的完整信息,包括食材清单、制作步骤、营养数据、用户评价等。详情接口还返回当前用户对该菜谱的点赞状态、收藏状态等信息,对应时序图5-5所示。图5-5菜谱详情时序图Fig.5-5SequenceDiagramforRecipeDetails2.3社区模块实现社区模块提供用户之间的社交互动功能,是提升用户粘性的重要模块。该模块实现了评论、点赞、收藏、关注、通知功能,构建了轻食爱好者的交流社区。社区模块的核心服务类包括CommentService、LikeService、CollectionService、FollowService和NotificationService。各服务负责对应功能的业务逻辑处理,通过事务管理确保数据一致性。评论系统支持菜谱评论和回复功能。用户可以对菜谱发表文字评论,也可以回复其他用户的评论形成对话线程,评论列表按时间顺序排列,支持分页加载,对应时序图5-6。图5-6评论功能时序图Fig.5-6Commentfunctionsequencediagram点赞功能支持对菜谱和评论进行点赞。用户可以对感兴趣的菜谱点赞,也可以对有价值的评论点赞。点赞接口接收目标ID和目标类型参数,点赞成功后更新目标实体的点赞计数,对应时序图5-7。图5-7点赞功能时序图Fig.5-7Likefeaturesequencediagram收藏功能允许用户收藏喜欢的菜谱。收藏接口接收菜谱ID参数,将收藏关系保存到数据库。收藏列表接口返回用户收藏的所有菜谱,支持分页。用户可以在个人中心查看和管理自己的收藏,对应时序图5-8。图5-8收藏功能时序图Fig.5-8Favoritesfunctionsequencediagram关注功能允许用户关注其他用户,形成社交关系链。关注接口接收被关注用户ID参数,建立粉丝-关注关系。关注成功后更新双方的粉丝数和关注数。粉丝列表和关注列表接口分别返回用户的粉丝和关注对象,对应5-9时序图。图5-9关注功能时序图Fig.5-9Followfeaturesequencediagram通知功能负责推送各类消息通知。系统通知用于推送平台公告等全局消息。互动通知用于推送与用户相关的社交动态,包括收到评论、收到回复、被点赞、被收藏、被关注等。通知接口返回当前用户的通知列表,支持分页。已读通知和未读通知分开显示,提供未读计数,对应时序图5-10。图5-10通知功能时序图Fig.5-10NotificationFunctionalSequenceDiagram2.4后台管理模块实现后台管理模块是轻食分享平台实现内容管控与运营维护的核心支撑,该模块围绕平台数据的统一管理与安全治理构建功能体系,后台管理系统功能图如图5-11所示。后台管理模块涵盖五大核心功能单元,分别为数据统计、用户管理、菜谱管理分类管理与评论管理。图5-11后台管理系统功能图Fig.5-11BackendManagementSystemFeatureDiagram数据统计作为模块的基础功能,面向平台整体运行状况提供量化展示,为运营决策提供数据依据。用户管理功能支持通过用户标识用户名等信息快速定位目标对象,同时提供用于处理异常账号与违规用户相关功能,维护平台社区环境的健康稳定。菜谱管理支持基于多重条件的精准检索,可根据菜谱标识菜谱名称关键词以及发布状态等条件执行分页查询,展示作者信息分类信息等关联内容,提升运营审阅效率。该功能同时支持菜谱删除操作,可及时清理违规内容与失效数据,保障平台内容质量。分类管理功能实现对平台菜谱分类体系的全生命周期维护,支持分类列表查询与按序展示,同时提供分类新增修改与删除操作。评论管理依托CommentMapper提供的分页查询接口,获取包含完整上下文的评论视图对象,支持运营人员查看社区评论详情,并可根据评论标识执行删除操作,实现社区内容的事后管控与风险治理。在工程实现层面,后台管理模块通过统一的AdminController对外提供接口服务,核心业务逻辑包括数据统计条件构造与视图对象转换等均由AdminService业务层实现。数据持久层采用MyBatis-Plus框架支撑,依托分页插件实现灵活的条件拼接与数据查询。2.5RAG智能服务功能实现基于上述RAG与大语言模型集成方案,结合平台业务需求,系统实现了智能推荐、营养咨询、智能菜谱生成三大核心智能服务。(1)智能菜谱推荐实现了基于语义理解的个性化推荐。推荐流程采用分层执行结构,依次完成向量召回、业务数据回表、重排序与规则过滤。系统通过封装的模型调用客户端访问外部接口,采用指定的文本嵌入模型将查询文本转换为高维稠密向量,再在向量数据库的统一语义集合中执行相似检索。对初筛后的结果系统采用重排序模型对查询文本与候选文本进行相关性计算,依据模型输出的相关性分值调整候选顺序,最后将筛选到的最终结果与用户的原始问题一同构建上下文作为大模型的输入,模型将输出对应的推荐,时序图如下5-12所示。图5-12智能推荐流程时序图Fig.5-12DiagramoftheIntelligentRecommendationProcess(2)营养咨询功能包括系统提示词构建、对话历史整合和LLM调用三个环节。系统提示词构建根据营养咨询的场景设定AI角色和回答规范。系统保存用户和模型的多轮对话历史,在每次请求时将历史消息附加到提示词中,使模型能够理解对话上下文,提供更连贯的服务。LLM调用使用StepFun的step-1-8k模型生成回答。调用时将系统提示词和整合后的用户消息传递给模型,解析响应得到生成的回答。营养咨询功能的API接口设计同样采用RESTful风格,接收POST请求。请求体包含咨询类型、消息内容、对话历史等参数。响应返回AI生成的回答文本。(3)菜谱生成功能根据用户提供的食材和偏好,使用大语言模型生成创意菜谱。该功能帮助用户利用现有食材制作美味的轻食菜谱。该功能的实现步骤具体如表5-2所示。表5-12智能菜谱生成功能流程表Tab.5-2FlowchartoftheSmartRecipeGenerationFeature输入:可用食材、口味偏好、餐次类型、烹饪时长、难度、特殊需求、目标卡路里输出:结构化轻食菜谱文本+菜谱配图用户在前端填写食材与偏好信息,提交智能菜谱生成请求。2、后端接收参数并完成合法性校验,对空值与异常范围进行处理。3、系统将用户输入与场景约束拼接为结构化、格式规范的提示词文本。4、调用StepFun的step-1-8k大模型,根据提示词生成完整菜谱内容。5、调用文生图大模型,以菜谱名称与关键描述为输入生成配套菜谱插图。6、将结构化菜谱数据与配图地址统一封装后返回前端。7、前端渲染生成完整的菜谱详情页,支持用户查看与保存。当用户发起自然语言查询后,系统调用相关接口完成向量检索与结果返回。系统将返回的菜谱信息拼接为检索上下文,再通过大语言模型完成回答生成,最后使用RAGAS框架对生成结果与检索上下文进行量化打分。本次系统评估结果如表5-3所示。表5-3RAGAS评估结果Tab.5-3RAGASEvaluationResults评估指标实测得分忠实度0.9936答案相关性0.9701上下文精确率0.8403上下文召回率0.9223经过分析,系统整体评测表现优异,多项指标达到较高水平。忠实度接近满分,表明生成内容严格依托检索上下文展开,与平台菜谱实际信息保持高度一致,未出现脱离事实的虚构内容。答案相关性表明系统可精准理解用户需求并给出贴合需求的内容。上下文召回率得分较高,证明检索环节能够有效覆盖用户需求所需的关键信息,验证了混合检索与向量召回设计的合理性,可为生成环节提供充分且有效的知识支撑。系统在评测中也存在一定提升空间。上下文精确率得分相对其他指标略低,反映检索结果中仍存在少量与需求关联较弱的内容。后续可通过优化检索过滤规则、进一步提高上下文精确率,使整体服务效果更加完善。3客户端设计与实现图5-13为登录界面,采用左右分栏布局,左侧为轻食主题展示与功能亮点,右侧为账号密码输入、记住登录与第三方登录入口,对应用户模块与JWT认证流程。图5-13用户登录界面Fig.5-13Userlogininterface如图5-14所示:注册页延续同一视觉体系,包含用户名、邮箱、密码与确认密码等字段,用于支撑新用户入库与后续登录签发令牌。图5-14用户注册界面Fig.5-14Userregistrationinterface图5-15和5-16分别是菜谱广场和菜谱详情。菜谱广场以卡片流展示已发布菜谱,支持按分类与热度浏览,对应菜谱列表与分页查询能力,是用户发现内容的主入口。菜谱详情页展示封面、营养与烹饪信息、食材与步骤,并承载点赞、收藏与评论入口,体现菜谱模块与社区模块的联动。图5-15菜谱广场浏览界面Fig.5-15Recipeplazabrowsinginterface图5-16菜谱详情界面Fig.5-16Recipedetailinterface如图5-17为搜索界面:支持菜谱关键字、菜谱标签、用户等多种检索方式,动态渲染关键字命中结果。图5-17菜谱关键字搜索界面Fig.5-17Recipekeywordsearchinterface如图5-18为轻食知识科普界面:以图标强化健康菜谱、营养均衡、科学搭配等核心卖点。整体采用浅绿与留白营造清新、可信的健康饮食氛围。图5-18轻食知识科普界面Fig.5-18HealthyEatingInformationGuide图5-19界面为后台首页。汇总用户、菜谱、分类、评论等规模指标,支撑管理员进行内容治理与风险观察,对应角色权限与独立路由设计。图5-19管理端数据概览界面Fig.5-19Admindashboardoverview图5-20为通知列表。区分已读与未读,体现互动事件投递与状态更新,对应通知模块与会话内未读计数逻辑。图5-20通知中心界面Fig.5-20Notificationcenterinterface图5-21为个人中心界面,界面显示用户菜谱发布数量、收藏数量、点赞数量,用户在社区互动的关注和粉丝数量。图5-21个人中心界面Fig.5-21Personalcenterinterface如图5-22所示,为RAG智能模块系统主界面,左下角有智能推荐、营养咨询和AI生成菜谱功能可供选择。图5-22智能模块主页Fig.5-22ArtificialIntelligenceModuleHomepage点击智能推荐功能后,如图5-23,在界面弹窗中按照系统下拉菜单的提示输入推荐类型、口味偏好、营养目标、现有食材、卡路里要求和自然语言描述后,点击右下角获取推荐,系统响应后得到如图5-24的对应输出。图5-23推荐设置界面图5-24推荐结果界面Fig.5-23RecommendedSettingsScreenFig.5-24Recommendationspage营养咨询模块如下图5-25所示,用户可通过自然语言输入饮食相关问题,助手基于检索增强生成技术返回结构化回答,包含菜谱制作步骤与营养估算,前端通过Markdown渲染实现步骤列表与文本排版的清晰展示。图5-25营养咨询模块Fig.5-25NutritionCounselingModule4主要接口与字段说明为实现系统前后端的数据交互与业务功能调用,按照功能模块对系统接口进行规范化划分,涵盖用户权限、菜谱管理、评论互动、关注收藏、消息通知及RAG智能服务等核心业务场景。表5-4用户与权限相关接口Tab.5-4APIsforuserandauth方法功能说明路径POST用户注册POST/api

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论