LLM幻觉(Hallucination)缓解技术综述与展望
LLMs 中的幻觉问题(LLM 幻觉:现象剖析、影响与应对策略)对其可靠性与实用性构成了严重威胁。幻觉现象表现为模型生成的内容与事实严重不符,在医疗、金融、法律等对准确性要求极高的关键领域,可能引发误导性后果,因此,探寻有效的幻觉缓解技术成为当前人工智能研究的关键任务。
一、RAG:基础但有缺陷的缓解手段
检索增强生成(RAG)作为缓解幻觉的常用方法(RAG(Retrieval-Augmented Generation)评测:评估LLM中的幻觉现象),其核心原理是从外部数据源(如知识库、向量数据库)检索相关信息,并将其作为上下文提供给 LLM 辅助文本生成。在许多知识密集型任务中,它能在一定程度上引入外部事实,约束模型输出,避免完全脱离实际的臆想。例如,在回答关于历史事件的问题时,若模型自身知识储备不足,RAG 可从相关历史资料数据库中提取信息,辅助生成相对准确的回答。
尽管如此,RAG 存在诸多局限性。一方面,其效果高度依赖于检索数据的质量。若向量数据库充斥着过时、错误或不相关的数据,模型可能会被误导,如同依据错误的导航信息在迷雾中摸索,得出的答案依然可能偏离真相。另一方面,RAG 缺乏对数据源的有效验证机制,这使得虚假或不可靠信息有可能混入生成结果。而且,过度依赖外部检索会削弱模型自身的思考与判断能力,使其在面对未检索到信息的情况时显得手足无措,同时检索与整合数据的过程会增加时间成本,在实时性要求高的场景中应用受限。
在实际应用场景中,如智能客服领域,使用 RAG 时若知识库未及时更新产品最新信息,当客户询问新型号产品功能时,模型可能会基于旧数据给出不准确的回复,影响客户体验与企业服务质量。因此,在利用 RAG 时,必须对检索源进行严格筛选与持续优化,确保数据的准确性、时效性与相关性,以提升其在幻觉缓解方面的效能。
二、知识编辑:精准修正模型知识
知识编辑技术(如 ROME 和 MEMIT)为解决 LLM 中的错误知识提供了一种精准有效的途径。其运作机制类似于在复杂的神经网络知识图谱中进行精细手术,通过识别与特定事实关联的神经连接,对这些连接的权重进行微调,从而纠正模型内部错误的知识表征。以纠正模型关于地理知识的错误认知为例,若模型错误地认为某城市位于错误的地理位置,ROME 技术能够精准定位负责该知识的神经网络权重矩阵,并进行调整,使模型输出符合实际地理情况的结果。MEMIT 在此基础上更进一步,它将编辑后的信息存储在记忆模块中,确保模型能够长期保持对这些修正的记忆,避免再次出现类似错误,就像在模型的知识仓库中为修正后的信息贴上了牢固的标签。
与传统的对整个模型进行重新训练的微调方法相比,知识编辑具有显著优势。传统微调可能会因大规模参数调整而破坏模型在其他无关任务上的性能,如同对一座精密机器进行全面拆解重装,可能会影响其他部件的正常运转。而知识编辑则是局部的、精准的操作,最大限度地减少了对模型整体结构与其他功能的干扰,在高效修正错误知识的同时,节省了大量的计算资源,确保模型在不同任务之间保持稳定的性能表现。
在学术研究领域,当研究人员发现模型在特定学科概念上存在误解时,可利用知识编辑技术快速纠正,使模型在后续涉及该知识的研究分析中提供准确的辅助,推动学术研究的顺利开展。这体现了知识编辑在处理模型局部知识错误方面的独特价值,为维护模型知识体系的准确性提供了有力支持。
三、对比解码:引入质疑机制
对比解码在文本生成过程中构建了一种类似辩论与验证的机制。它将主 LLM 与一个对比模型相互对立,在生成每个词元(token)时,对比模型如同一个严谨的质疑者,对主模型生成的内容进行批判性审视。基于两者在概率分布上的差异,通过特定的加权计算,最终输出的结果倾向于被两个模型共同认可为合理且符合事实的内容。
从原理上讲,当主模型因自身的预测倾向而可能生成缺乏事实依据但表面上看似合理的词元时,对比模型凭借其相对保守和基于更多事实校验的特点,对主模型进行约束。例如,在关于科学发明的讨论中,主模型可能因受到部分相似文本模式的影响而错误地将某项发明的归属搞错,此时对比模型会依据其更准确的知识储备和判断逻辑,降低错误词元的生成概率,引导最终输出走向正确答案。
在实际应用场景如新闻写作辅助中,对比解码能够有效防止模型传播不实信息。当模型撰写科技新闻报道时,通过对比解码,可避免因对新技术理解的偏差或错误信息的误导而发布虚假内容,确保新闻的真实性与可靠性,维护新闻行业的公信力,在信息传播源头为受众提供准确的资讯保障。
四、自我完善:模型的自我迭代优化
自我完善机制赋予了 LLM 一种自我反思与修正的能力,使其在生成初步回答后,能够自动对输出内容进行评估与改进。这一过程模拟了人类在思考与表达过程中的反复斟酌。例如,当模型最初生成关于自然现象的解释存在模糊或错误之处时,如对地震成因的简单化或错误描述,自我完善模块会启动内部的逻辑校验和知识检索,识别出回答中的不一致或错误点,并依据模型内部的知识体系和语言规则进行修正,生成更准确、详细且符合科学事实的解释。
这种自我迭代的方式使模型能够充分挖掘自身的知识潜力,随着不断的自我修正与学习,逐渐提升生成内容的质量。在教育领域的智能辅导应用中,自我完善功能可帮助模型更好地回答学生的问题,从最初可能的不准确或不完整回答,逐步进化为能够提供清晰、准确且具有启发性的解答,如同一位不断成长的优秀教师,更好地满足学生的学习需求,促进知识的有效传授与吸收。
五、不确定性感知束搜索:稳健文本生成路径选择
不确定性感知束搜索在文本生成的路径探索中引入了风险评估与规避机制。在传统束搜索的基础上,它为每个探索的序列(束)赋予了一个不确定性得分,该得分反映了该路径可能导致幻觉或错误输出的风险程度。在生成过程中,那些具有高不确定性得分的束,即可能引发模型生成无根据或错误内容的路径,会被及时舍弃,而优先选择确定性高、风险低的路径来生成文本。
例如,在生成医学诊断报告的场景中,模型可能会面临多种症状描述与疾病可能性的组合路径。不确定性感知束搜索能够依据医学知识图谱和大量临床案例数据,评估不同路径的可靠性。对于那些基于罕见症状组合且缺乏足够医学证据支持的诊断路径,模型会降低其选择权重,避免因过度推测而给出错误的诊断结论,确保诊断报告的准确性与可靠性,为医疗决策提供有力的辅助支持,保障患者的健康与安全。
六、迭代查询与推理:深度逻辑校验
迭代查询与推理技术使 LLM 具备了类似侦探破案的深度逻辑探究能力。模型在生成初始回答后,会主动发起后续问题或尝试不同的解释角度,对自身输出进行严格的内部交叉检验。以法律案例分析为例,当模型对一个复杂的法律纠纷案件做出初步判断后,会进一步追问案件中的关键证据细节、法律条款适用的合理性以及不同判决结果可能产生的影响等问题。通过这种自我质疑与深度推理,模型能够发现初始回答中可能存在的逻辑漏洞或事实错误,进而对回答进行精细化调整,使其在法律框架和事实依据的双重约束下更加准确、严谨,为法律从业者提供更具参考价值的分析意见,维护法律领域的公正与权威。
七、解码策略优化:多维度提升输出质量
解码策略作为文本生成的关键环节,直接影响着 LLM 输出的质量与可靠性。其中,对比解码在前面已提及,它通过双模型竞争机制保障事实性。事实核采样则在标准核采样的基础上,强化了对事实依据的考量,在选择词元时优先选择有充分证据支持的选项,避免模型因追求语言流畅性或多样性而偏离事实轨道。蒙特卡洛随机失活技术在推理阶段通过多次应用随机失活操作生成多个候选输出,然后依据一定的可靠性评估标准筛选出最优结果,这类似于在多个可能的解决方案中进行综合评估与筛选,增加了输出的稳定性与准确性。
在实际应用中,如在文学创作辅助场景下,优化解码策略可帮助模型在保持一定创作灵感与语言美感的同时,确保故事内容的逻辑连贯性与合理性,避免情节上的突兀或不合理发展,为创作者提供更优质的创作思路与素材,提升创作效率与作品质量。
八、多技术融合:构建强大幻觉缓解体系
单一的幻觉缓解技术难以全面应对 LLM 中复杂多样的幻觉问题(Agentic方法减少LLM幻觉:深度解析与实践(文末含代码)),因此将多种技术有机结合成为必然趋势。例如,将 RAG 与对比解码相结合,能够在利用外部知识填补模型知识空白的同时,通过对比验证进一步提升信息的准确性与可靠性;自我完善与不确定性感知束搜索协同工作,可使模型在不断优化自身输出的过程中,始终保持在低风险的生成路径上,避免陷入错误或不确定的内容陷阱;迭代查询与知识编辑的融合,则实现了深度逻辑推理与精准知识修正的互补,使模型在面对复杂问题时既能深入探究真相,又能及时纠正潜在的错误知识。
在智能问答系统的实际构建中,综合运用这些技术可以打造一个强大的问答引擎。当用户提出问题时,系统首先利用 RAG 检索相关知识,然后通过对比解码、自我完善等技术对初步回答进行优化,在迭代查询与推理过程中进一步提升回答的逻辑性与准确性,最终为用户提供高质量、可信的答案,满足用户在不同领域的信息需求,提升用户对智能系统的信任度与满意度。
九、未来展望与挑战
随着人工智能技术的持续发展,幻觉缓解技术仍面临诸多挑战与机遇。在技术层面,如何进一步提高知识编辑的效率与精度,使其能够快速适应模型规模的不断扩大和知识更新的加速需求;如何优化对比模型的构建与训练,使其在不同领域和任务中都能有效地对主模型进行约束与引导;如何增强自我完善机制的智能性,使其能够像人类专家一样进行深度的知识整合与创新思考等问题,都有待深入研究。
在应用层面,随着 LLM 在医疗、金融、法律等关键领域的应用日益广泛,如何确保幻觉缓解技术在复杂的现实场景中稳定可靠地运行,如何建立有效的评估标准与监管机制,对模型输出的准确性与可靠性进行量化评估与监督,以及如何加强用户教育,提高用户对模型幻觉问题的认知与辨别能力,都是未来需要重点关注与解决的问题。
相关文章:
LLM幻觉(Hallucination)缓解技术综述与展望
LLMs 中的幻觉问题(LLM 幻觉:现象剖析、影响与应对策略)对其可靠性与实用性构成了严重威胁。幻觉现象表现为模型生成的内容与事实严重不符,在医疗、金融、法律等对准确性要求极高的关键领域,可能引发误导性后果&#x…...
Rocky9.5编译freeswitch【记录】
文件目录 tree -dL 1 . ├── flite-2.0.0 ├── freeswitch ├── ldns-1.8.4 ├── libcodec2-2.59 ├── libks ├── ooh323-0.1 ├── opus ├── signalwire-client-c ├── sofia-sip ├── spandsp ├── v8-6.1.298 └── zeromq-2.1.9操作记录 ip a nm…...
自定义数据集 使用tensorflow框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
在 TensorFlow 中实现逻辑回归、保存模型并加载模型进行预测的过程可以分为以下几个步骤: 准备数据:创建或加载你的自定义数据集。构建逻辑回归模型。训练模型。保存模型。加载模型。使用加载的模型进行预测。 import tensorflow as tf import numpy as…...
WPF进阶 | WPF 数据绑定进阶:绑定模式、转换器与验证
WPF进阶 | WPF 数据绑定进阶:绑定模式、转换器与验证 一、前言二、WPF 数据绑定基础回顾2.1 数据绑定的基本概念2.2 数据绑定的基本语法 三、绑定模式3.1 单向绑定(One - Way Binding)3.2 双向绑定(Two - Way Binding)…...
八股——Java基础(四)
目录 一、泛型 1. Java中的泛型是什么 ? 2. 使用泛型的好处是什么? 3. Java泛型的原理是什么 ? 什么是类型擦除 ? 4.什么是泛型中的限定通配符和非限定通配符 ? 5. List和List 之间有什么区别 ? 6. 可以把List传递给一个接受List参数的方法吗? 7. Arra…...
2025蓝桥杯JAVA编程题练习Day1
1.刑侦科推理试题 题目描述 有以下10道单选题,编程求这10道题的答案。 这道题的答案是: A. A B. B C. C D. D 第5题的答案是: A. C B. D C. A D. B 以下选项中哪一题的答案与其他三项不同: A. 第3题 B. 第6题 C. 第2题 D.…...
数据结构与算法-要点整理
知识导图: 一、数据结构 包含:线性表(数组、队列、链表、栈)、散列表、树(二叉树、多路查找树)、图 1.线性表 数据之间就是“一对一“的逻辑关系。 线性表存储数据的实现方案有两种,分别是顺序存储结构和链式存储结构。 包含:数组、队列、链表、栈。 1.1 数组…...
SaaS底层盈利逻辑剖析:运维费与服务费的战略抉择
一、引言 1.1 研究背景与意义 在数字化浪潮的推动下,SaaS(软件即服务)行业近年来取得了迅猛发展,成为软件产业中不可或缺的一部分。SaaS 通过互联网提供软件服务,企业无需进行复杂的本地软件安装和硬件购置ÿ…...
Python爬虫之——Cookie存储器
目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 &…...
【数据结构】(2)时间、空间复杂度
一、衡量算法好坏的指标 时间复杂度衡量算法的运行速度,空间复杂度衡量算法所需的额外空间。这些指标,是某场景中选择使用哪种数据结构和算法的依据。如今,计算机的存储器已经变得容易获得,所以不再太关注空间复杂度。 二、渐进表…...
理解 IS-IS 中重要概念之间的关系
本文为 “IS-IS 中重要概念” 相关文章合辑。 未整理去重。 理解 IS-IS、CLNS、CMNS、NSAP、NET 等概念之间的关系 1. 核心概念 IS-IS (Intermediate System to Intermediate System) 一种链路状态路由协议,基于 SPF(最短路径优先)算法计…...
AI 模型评估与质量控制:生成内容的评估与问题防护
在生成式 AI 应用中,模型生成的内容质量直接影响用户体验。然而,生成式模型存在一定风险,如幻觉(Hallucination)问题——生成不准确或完全虚构的内容。因此,在构建生成式 AI 应用时,模型评估与质…...
Mybatis-plus缓存
mybatis-plus缓存 MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上提供了更多的便利性和强大的功能,包括但不限于分页、条件构造器、通用 Mapper、代码生成器等。MyBatis-Plus 也内置了基础的缓存功能,但需要注意的是ÿ…...
unity学习20:time相关基础 Time.time 和 Time.deltaTime
目录 1 unity里的几种基本时间 1.1 time 相关测试脚本 1.2 游戏开始到现在所用的时间 Time.time 1.3 时间缩放值 Time.timeScale 1.4 固定时间间隔 Time.fixedDeltaTime 1.5 两次响应时间之间的间隔:Time.deltaTime 1.6 对应测试代码 1.7 需要关注的2个基本…...
系统思考—转型
“我知道自己有问题,但问题到底出在哪里?” 很多中小企业主都会在这样的迷茫中徘徊。市场变化太快、团队执行力不强、内部沟通不畅……这些问题似乎无处不在。但其实,真正让企业陷入困境的,并不是问题本身,而是——看…...
Java面试题2025-设计模式
1.说一下开发中需要遵守的设计原则? 设计模式中主要有六大设计原则,简称为SOLID ,是由于各个原则的首字母简称合并的来(两个L算一个,solid 稳定的),六大设计原则分别如下: 1、单一职责原则 单一职责原则的定义描述非…...
本地Harbor仓库搭建流程
Harbor仓库搭建流程 本文主要介绍如何搭建harbor仓库,推送本地镜像供其他机器拉取构建服务 harbor文档:Harbor 文档 | 配置 Harbor YML 文件 - Harbor 中文 github下载离线安装包 Releases goharbor/harbor 这是harbor的GitHub下载地址,…...
爬虫基础之爬取某基金网站+数据分析
声明: 本案例仅供学习参考使用,任何不法的活动均与本作者无关 网站:天天基金网(1234567.com.cn) --首批独立基金销售机构-- 东方财富网旗下基金平台! 本案例所需要的模块: 1.requests 2.re(内置) 3.pandas 4.pyecharts 其他均需要 pip install 模块名 爬取步骤: …...
Qt调用FFmpeg库实时播放UDP组播视频流
基于以下参考链接,通过改进实现实时播放UDP组播视频流 https://blog.csdn.net/u012532263/article/details/102736700 源码在windows(qt-opensource-windows-x86-5.12.9.exe)、ubuntu20.04.6(x64)(qt-opensource-linux-x64-5.12.12.run)、以…...
YOLOv10改进,YOLOv10检测头融合DynamicHead,添加小目标检测层(四头检测)+CA注意机制,全网首发
摘要 作者提出一种新的检测头,称为“动态头”,旨在将尺度感知、空间感知和任务感知统一在一起。如果我们将骨干网络的输出(即检测头的输入)视为一个三维张量,其维度为级别 空间 通道,这样的统一检测头可以看作是一个注意力学习问题,直观的解决方案是对该张量进行全自…...
【ComfyUI专栏】推荐几个常用的云端ComfyUI平台
如果我们本身的系统资源不足,但是我们依然能够使用显卡来利用ComfyUI生成我们需要的图片或者视频。当前平台中主要有两个不同的廉价平台提供了ComfyUI的功能,这里提供的资源基本上都是基于分钟进行计算。这些平台的好处就是基本上不需要你额外进行配置。…...
std::pair源码:operator=被delete了,提供的是sfinae版本
D:\DevTools\VS2017\VC\Tools\MSVC\14.16.27023\include\utility pair& operator(const volatile pair&) delete;真正版本:template<class _Other1 _Ty1,class _Other2 _Ty2,enable_if_t<conjunction_v<is_assignable<_Ty1&, const _Oth…...
数据要素白皮书(2024年)(解读+全文阅读)
数据要素白皮书(2024年)》由中国通信标准化协会大数据技术标准推进委员会发布,版权受法律保护,转载需注明来源。该白皮书深入分析了当前数据要素在全球及中国的发展态势,并提出了关键观察与展望。 全球范围内…...
C#常用257单词
1、Visual Studio 直译:可视化开发环境 说明:简称VS,我们编写程序的集成开发环境,可以写代码、编译代码、调试代码、发布程序。 2、.Net 直译:dotNet 说明:我们常说的.net读作dotnet,表示网…...
禅道2024年度回顾:品牌向善,才能向上!
很高兴禅道顺利完成了2024年的跃升计划,并交出了一份认真的答卷! 这一年,禅道的产品在变强,完成了产品的重构与全面升级; 这一年,禅道的朋友在变多,服务到更多不同行业的客户; 这…...
RK3568 adb使用
文章目录 一、adb介绍**ADB 主要功能****常用 ADB 命令****如何使用 ADB****总结** 二、Linux下载adb**方法 1:使用包管理器(适用于 Ubuntu/Debian 系统)****方法 2:通过 Snap 安装(适用于支持 Snap 的系统)…...
koodo-reader-电脑跨平台现代阅读器[支持ebook等电子书,支持多种格式]
koodo-reader-电脑跨平台现代阅读器[支持ebook等电子书,支持多种格式] 链接:https://pan.xunlei.com/s/VOH_rDBEXIU8lg4aA6IztZ4PA1?pwdg724# 特色 支持阅读格式: EPUB (.epub) PDF (.pdf) Kindle (.azw3, .mobi, .azw) 纯文本 (.txt…...
03:Heap代码的分析
Heap代码的分析 1、内存对齐2、Heap_1.c文件代码分析3、Heap_2.c文件代码分析4、Heap_4.c文件代码分析5、Heap_5.c文件代码分析 1、内存对齐 内存对齐的作用是为了CPU更快的读取数据。对齐存储与不对齐存储的情况如下: 计算机读取内存中的数据时是一组一组的读取的…...
二分查找题目:寻找两个正序数组的中位数
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:寻找两个正序数组的中位数 出处:4. 寻找两个正序数组的中位数 难度 8 级 题目描述 要求 给定两个大…...
Java Web-Tomcat Servlet
Web服务器-Tomcat Web服务器简介 Web 服务器是一种软件程序,它主要用于在网络上接收和处理客户端(如浏览器)发送的 HTTP 请求,并返回相应的网页内容或数据。以下是关于 Web 服务器的详细介绍: 功能 接收请求&#…...
渗透测试-WAF是什么以及原理解释 waf功能详解
目录 waf功能介绍 waf出现的地点: 什么是waf 功能: 常见的系统攻击分为两类 一是利用Web服务器的漏洞进行攻击 二是利用网页自身的安全漏洞进行攻击 WAF主要功能: waf的特点1 waf主要功能2 网马木马主动防御及查杀 流量监控 网站漏洞防御功能 危险组件…...
Vue3 provide/inject用法总结
1. 基本概念 provide/inject 是 Vue3 中实现跨层级组件通信的方案,类似于 React 的 Context。它允许父组件向其所有子孙组件注入依赖,无论层级有多深。 1.1 基本语法 // 提供方(父组件) const value ref(hello) provide(key, …...
C# 提取PDF表单数据
目录 使用工具 C# 提取多个PDF表单域的数据 C# 提取特定PDF表单域的数据 PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景。凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用。然而,当需要整合…...
【JAVA项目】基于ssm的【宠物医院信息管理系统】
【JAVA项目】基于ssm的【宠物医院信息管理系统】 技术简介:采用JSP技术、ssm框架、B/S架构、MySQL技术等实现。 系统简介:宠物医院信息管理系统,在系统首页可以查看首页、医学知识、医生信息、药品信息、新闻资讯、留言反馈、我的、跳转到后台…...
书生大模型实战营2
L0——入门岛 Python基础 Conda虚拟环境 虚拟环境是Python开发中不可或缺的一部分,它允许你在不同的项目中使用不同版本的库,避免依赖冲突。Conda是一个强大的包管理器和环境管理器。 创建新环境 首先,确保你已经安装了Anaconda或Minico…...
产业园管理系统提升企业综合管理效率与智能化水平的成功案例分析
内容概要 在当前科技迅猛发展的时代,越来越多的企业意识到数字化转型的重要性。为了提升管理效率和智能化水平,产业园管理系统应运而生,成为众多园区和商办写字楼不可或缺的一部分。无论是工业园、物流园还是公寓,这些系统都能为…...
《AI赋能光追:开启图形渲染新时代》
光线追踪技术是图形渲染领域的重大突破,能够通过模拟光的传播路径,精准渲染反射、折射、阴影和间接光照等效果,实现高度逼真的场景呈现。而人工智能的加入,更是为光线追踪技术带来了前所未有的变革,主要体现在以下几个…...
危机13小时:追踪一场GitHub投毒事件
事件概要 自北京时间 2024.12.4 晚间6点起, GitHub 上不断出现“幽灵仓库”,仓库中没有任何代码,只有诱导性的病毒文件。当天,他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒,等待不…...
利用JSON数据类型优化关系型数据库设计
利用JSON数据类型优化关系型数据库设计 前言 在关系型数据库中,传统的结构化存储方式要求预先定义好所有的列及其数据类型。 然而,随着业务的发展,这种设计可能会显得不够灵活,尤其是在需要扩展单个列的描述功能时。 JSON数据…...
如何学习Java后端开发
文章目录 一、Java 语言基础二、数据库与持久层三、Web 开发基础四、主流框架与生态五、分布式与高并发六、运维与部署七、项目实战八、持续学习与提升总结路线图 学习 Java 后端开发需要系统性地掌握多个技术领域,从基础到进阶逐步深入。以下是一个详细的学习路线和…...
AI刷题-蛋糕工厂产能规划、优质章节的连续选择
挑两个简单的写写 目录 一、蛋糕工厂产能规划 问题描述 输入格式 输出格式 解题思路: 问题理解 数据结构选择 算法步骤 关键点 最终代码: 运行结果:编辑 二、优质章节的连续选择 问题描述 输入格式 输出格式 解题思路&a…...
SpringBoot统一数据返回格式 统一异常处理
统一数据返回格式 & 统一异常处理 1. 统一数据返回格式1.1 快速入门1.2 存在问题1.3 案列代码修改1.4 优点 2. 统一异常处理 1. 统一数据返回格式 强制登录案例中,我们共做了两部分⼯作 通过Session来判断⽤⼾是否登录对后端返回数据进⾏封装,告知前端处理的结果 回顾 后…...
[MySQL]事务的理论、属性与常见操作
目录 一、事物的理论 1.什么是事务 2.事务的属性(ACID) 3.再谈事务的本质 4.为什么要有事务 二、事务的操作 1.事务的支持版本 2.事务的提交模式 介绍 自动提交模式 手动提交模式 3.事务的操作 4.事务的操作演示 验证事务的回滚 事务异常…...
JWT实现单点登录
文章目录 JWT实现单点登录JWT 简介存在问题及解决方案登录流程后端程序实现前端保存Tokenstore存放信息的缺点及解决 校验流程:为gateway增加登录校验拦截器 另一种单点登录方法:Token+Redis实现单点登录 JWT实现单点登录 登录流程ÿ…...
docker 学习笔记
一、docker容器快速上手以及简单操作 docker的image和container image镜像 docker image就是一个read.only文件,可以理解成一个模版,docker image具有分层的概念 可以自己制作,也可以从registry拉去 container容器 一个运行中的docker …...
Lesson 119 A true story
Lesson 119 A true story 词汇 story n. 故事,传记,小说,楼层storey 搭配:tell a story 讲故事,说谎 true story 真实的故事 the second floor 二楼 例句:我猜他正在说谎。 I guess he…...
c语言版贪吃蛇(Pro Max版)附源代码
1 背景 贪吃蛇是一款经典的电子游戏,最早出现在20世纪70年代的街机游戏中。游戏的核心玩法是玩家控制一条蛇在有限的空间内移动,通过吃食物来增长身体长度,同时避免撞到墙壁、障碍物或自身。随着蛇的长度增加,游戏难度逐渐提升。 …...
蓝桥村打花结的花纸选择问题
在这篇文章中,我们将探讨一个有趣的算法问题,这个问题涉及到中国传统手工艺——打花结。我们需要判断给定的矩形花纸是否可以通过折叠操作使其面积变为特定的值 X,从而适合用来打花结。 问题描述 解题思路 这个问题可以通过循环方法来解决。…...
SSM开发(三) spring与mybatis整合(含完整运行demo源码)
目录 本文主要内容 一、Spring整合MyBatis的三个关键点 二、整合步骤 1、创建一个Maven项目 2、在pom.xml文件中添加jar包的依赖 3、配置MyBatis 注解实现方式 XML配置文件实现 4、配置Spring 5、测试运行 本文主要内容 1. Spring + Mybatis整合; 2. MyBatis两种SQL…...
【Matlab高端绘图SCI绘图模板】第006期 对比绘柱状图 (只需替换数据)
1. 简介 柱状图作为科研论文中常用的实验结果对比图,本文采用了3组实验对比的效果展示图,代码已调试好,只需替换数据即可生成相关柱状图,为科研加分。通过获得Nature配色的柱状图,让你的论文看起来档次更高࿰…...