什么是检索增强生成(RAG)

news2025/4/11 0:39:44

1、什么是检索增强生成(RAG)

1.1  检索增强生成的概念

检索增强生成(Retrieval-Augmented Generation, RAG)是一种结合了信息检索和文本生成技术的新型自然语言处理方法。这种方法增强了模型的理解和生成能力。

相较于经典生成式模型,检索增强生成技术通过引入外部数据源的实时上下文信息,无需修改模型参数即可动态整合未训练过的新知识,有效提升生成内容与搜索需求的相关性。这种机制能够灵活融合互联网实时资讯、企业专属业务场景数据及私有化文档资料等多样化信息源,在不触发模型重训练的前提下持续优化大语言模型的输出质量。

接下来我们用一个通俗易懂的例子来解释检索增强生成。你是一个导游,在你的工作中遇到了问题。你把当导游时无法给游客提供专业、全面信息的困惑告诉你的主管,于是主管给你一本志愿者手册。游客询问最近的北京烤鸭店在哪里,你拿出了志愿者手册,翻到了最近北京烤鸭店的位置,然后告诉了游客具体的走法。

              用系统资料导游

你又遇到了一个游客,游客眼睛不太好,他想知道如何前往银锭桥,此时你也犯难了,志愿者手册并没有该细节内容,但是此时游客手里有一张导览图,你接过地图,经过简单的分析,按照地图指出应该如何前往银锭桥。

用系统资料和用户资料结合来导游

假设我们是开发大模型导游助理的技术团队,我们把导游助理比作志愿者。

在第一种场景下,“志愿者手册”就是我们在开发系统的时候就配置好的知识库,因此导游助理可以从系统默认的知识库中获取烤鸭店的地址,然后生成导航路径给游客。

在第二种场景中,假如我们的系统支持用户上传个性化资料,来更好地满足个性化业务需要。换句话说,如系统支持用户添加垂直领域知识,构建私域知识库。那么,当游客向志愿者提供一份个性化导航资料时,系统便可以结合游客的垂直领域知识与系统预置的知识共同联动为游客提供服务。

第一种方案的知识库,可以理解是公司统一配置的知识库;第二种方案中,每个团队或者用户还可以根据自己的需要来增加私域定制化知识库。显然,第二种系统更灵活,不需要其他复杂的操作就能补充更多业务知识。但总体来看,这两个系统都是通过知识库来增强导游助理的能力,可有效减少“幻觉”回答的情况(即导游助理不是编造一个像模像样的地址,而是按照已有知识来回答)。

于是在上面这个案例中,我们便明白了检索增强生成包括三个步骤建立索引、检索、生成。如果说大模型导游助理是一位志愿者,那么我们给志愿者们准备“志愿者手册”的过程就是建立知识库索引,志愿者查看资料就是系统在检索知识库,志愿者基于检索到的资料经充分思考并回答用户的问题就是生成答案。

1.2 RAG的实现原理

那么RAG是怎样将信息检索与文本生成相结合起来的呢?请看如下大模型RAG基本流程图

如上图所示,RAG主要由两个部分构成:

  • 建立索引:首先要清洗和提取原始数据,将 PDF、Docx等不同格式的文件解析为纯文本数据;然后将文本数据分割成更小的片段(chunk);最后将这些片段经过嵌入模型转换成向量数据(此过程叫做embedding),并将原始语料块和嵌入向量以键值对形式存储到向量数据库中,以便进行后续快速且频繁的搜索。这就是建立索引的过程。
  • 检索生成:系统会获取到用户输入,随后计算出用户的问题与向量数据库中的文档块之间的相似度,选择相似度最高的K个文档块(K值可以自己设置)作为回答当前问题的知识。知识与问题会合并到提示词模板中提交给大模型,大模型给出回复。这就是检索生成的过程。

在解析RAG技术机制后,通过对比分析发现,RAG有诸多的优势,使用大模型配合RAG比传统的生成模型可以显著提高生成内容的准确性和相关性。 同时还可以应用在各种专业的垂直领域,带来更高的生产效率。接下来我们来了解一下这些优势。

2、大模型配合RAG的优势

主要体现优势有:提升信息的准确性和相关性、增强上下文理解能力、减少“幻觉”现象,支持个性化和垂直领域应用

2.1 提升信息的准确性和相关性

2.1.1 实时知识更新的优势

通过结合第三方知识库,RAG技术能够显著提高生成内容的准确性和相关性。传统的生成模型主要依赖于预训练时所积累的知识库,这些知识库虽然庞大,但其信息往往在模型训练完成后就固定下来,无法动态更新。随着时间的推移,新的事件、科技进步和领域知识不断涌现,传统模型难以及时更新信息,导致生成的内容可能变得过时或不全面。RAG通过实时检索外部知识库,如互联网资源、最新的学术论文或企业内部数据库,动态获取最新的相关资料,能够有效弥补预训练模型知识更新滞后的不足,使得生成内容保持最新和更准确。

2.1.2 提供准确及时的答案

例如,当用户提问关于最新科技产品的问题时,传统生成模型可能只能基于其预训练时所学的信息进行回答,这些信息可能已经过时或缺乏细节。而LLM的RAG技术可以实时从互联网或其他实时更新的数据源中检索到最新的产品发布信息、用户评价和专业评测,从而生成更加准确和相关性更高的答案。这不仅提升了回答的可靠性,还增强了用户的满意度和信任感。此外,RAG还能够根据具体的查询需求,筛选出最相关的文档内容,确保生成的回答与用户问题高度契合,提供更具针对性和实用性的解决方案。

2.2 增强上下文理解能力

2.2.1 深度理解用户需求

在处理复杂任务的查询时,上下文的理解至关重要。RAG不仅能够利用自身的语言理解能力,还可以通过检索相关的上下文信息来更好地理解用户的需求。这意味着系统不仅依赖于预训练模型的知识,还能动态获取与当前对话相关的外部文档和数据,增强对用户意图的把握。例如,当用户提出一个涉及多个专业领域的问题时,RAG可以通过检索相关文献和资料,全面分析用户的需求,从而生成更加准确和详尽的回答。这种深度理解能力使得RAG在面对复杂和多层次的问题时,能够提供更具针对性和实用性的解决方案。

2.2.2 连贯一致的多轮对话

利用RAG技术在多轮对话中表现出色,能够通过结合之前的对话记录和检索到的相关文档,保持对话的一致性和连贯性。这种能力在技术支持、客户服务和教育辅导等场景中尤为重要。例如,在一个涉及多个步骤的技术支持对话中,用户可能会逐步描述问题的不同方面。RAG能够回溯之前的对话内容,检索相关的技术文档,确保每一次响应都与前文保持一致,并且基于最新的信息提供详细的解决方案。这不仅提升了用户体验,还增强了系统对复杂任务的处理能力,使得整个对话过程 更加顺畅和高效。

2.3 减少“幻觉”现象

2.3.1 幻觉现象及其影响

幻觉”是指生成模型在缺乏足够信息的情况下编造答案的现象。这种现象可能导致生成的内容与实际情况不符,甚至完全错误。幻觉不仅削弱了用户对生成内容的信任,还可能在关键应用场景中引发严重后果,如医疗诊断、法律咨询等专业领域,因错误信息导致误导性决策或行动。

2.3.2 RAG技术减少幻觉的机制

RAG通过引入外部知识库,减少了模型在生成过程中凭空编造信息的可能性。当模型无法从其内部知识库中找到合适的答案时,它可以依靠检索到的外部文档来生成更加可靠和真实的信息。这种有效结合确保了生成内容基于实际存在的资料和数据,从而提高了回答的准确性和可信度,显著降低了幻觉现象的发生,增强了系统的整体可靠性和用户满意度。

2.4 支持个性化和垂直领域应用

2.4.1 整合私域知识库支持高度个性化应用

RAG技术不仅可以利用公共知识库,还可以整合私域知识库,从而支持高度个性化的应用场景。例如,在企业环境中,RAG可以接入企业的内部文档和专有数据,为企业员工提供定制化的信息和服务。这种整合使得员工能够快速获取与其工作相关的具体信息,显著提高工作效率。通过访问企业内部的知识库,RAG能够提供精准的指导、流程说明和问题解决方案,帮助员工更好更高效地完成任务。此外,整合私域知识库还确保了敏感信息的安全性,企业可以通过严格的授权机制和数据保护措施,防止未经授权的访问,切实保障内部数据的机密性和完整性。

2.4.2 垂直专业领域的精准问答系统

RAG技术的灵活性使其在特定领域的专业问答系统中同样表现出色。例如,在医疗、法律和金融等行业,RAG可以整合大量的专业文献和行业数据,提供更加精准和专业的服务。

医疗领域:RAG能够访问最新的医学研究成果和临床指南,辅助医生做出更为准确的诊断和治疗决策;

法律领域:RAG可以检索相关的法律条文和案例,帮助律师迅速找到支持其论点的法律依据;在金融领域:RAG能够分析市场数据和财经报告,为投资者提供有价值的分析和建议。这些应用不仅提升了专业服务的质量和效率,还为用户提供了高度定制化的解决方案,满足了不同行业和用户的特定需求。

通过以上分析可以看出,检索增强生成(RAG)不仅解决了传统生成模型的一些固有问题,还在多个方面带来了显著的优势。在未来,随着技术的不断发展和完善,RAG有望在更多领域发挥重要作用,推动自然语言处理技术迈向新的高度。接下来我们来了解下RAG的未来趋势。

3、RAG的未来趋势

检索增强生成技术正处于快速发展阶段,其未来趋势涵盖了从安全性再到个性化服务等多个方面。随着技术的进步,我们可以期待RAG将在更多领域展现其潜力,为用户带来更加智能、高效和个性化的体验。 接下来我们来了解一下这些趋势:

3.1 对话式AI的改进

RAG技术对于构建更加自然流畅的对话式AI至关重要。未来的发展方向可能包括改进长程记忆管理,使得系统能够在长时间对话中保持上下文连贯性;以及开发更智能的情感识别与响应机制,使机器能够更好地理解人类的情绪,并做出相应的反应。

3.1.1 改进长程记忆管理

维持上下文连贯性是构建高质量对话系统的核心挑战之一。当前大多数对话系统在处理短期对话时表现良好,但在长时间的互动中,往往难以保持上下文的一致性和连贯性。这不仅影响用户体验,还可能导致误解和不相关的回应。

RAG技术在长程记忆管理中的作用

  • 动态上下文检索:通过RAG,系统可以实时从庞大的知识库中检索与当前对话相关的历史记录和背景信息,确保每次响应都能参考之前的对话内容。这种动态检索能力有助于系统在长时间对话中保持上下文的连贯性。

  • 知识更新与扩展:RAG允许对话系统持续更新其知识库,确保系统能够处理最新的信息和用户需求。这样,系统不仅能记住之前的对话内容,还能随时获取新的知识,增强其应对复杂对话的能力。

  • 分层记忆结构:未来的RAG系统可能会采用分层记忆结构,将对话历史按照不同的主题和时间段进行分类和存储。这种结构化的记忆管理方式能够更高效地检索相关信息,提升对话的连贯性和准确性。

实际应用案例:例如,在一个医疗咨询对话系统中,患者可能会多次咨询不同的症状和治疗方案。通过RAG技术,系统不仅能记住患者的历史咨询内容,还能实时检索相关医学文献和最新研究成果,提供更加精准和个性化的建议。

3.1.2 开发更智能的情感识别与响应机制

理解并响应用户情感是提升对话式AI自然性的关键一步。人类在交流中不仅传递信息,还表达情感和态度。一个能够识别和回应用户情感的AI系统,能够显著增强用户的互动体验。

RAG技术在情感识别与响应中的应用:

  • 情感数据检索:RAG系统可以从情感分析数据库中检索与当前用户情感相关的内容,帮助生成更具同理心的回应。例如,当用户表达出沮丧或困惑时,系统可以检索到安慰性的话语或解决方案,给予适当的支持。

  • 多模态情感理解:结合文本、语音和面部表情等多种数据源,RAG技术能够更全面地理解用户的情感状态。通过多模态的数据检索与融合,系统可以生成更加精准和自然的情感响应。

  • 个性化情感适应:RAG系统可以根据用户的情感历史和偏好,调整响应的语气和内容。例如,对于经常表达焦虑的用户,系统可以采用更加温和和鼓励的语言,提升用户的满意度和信任感。

实际应用案例:在心理咨询对话系统中,用户可能会表达各种复杂的情感和情绪需求。通过RAG技术,系统能够实时检索到相关的心理支持内容和应对策略,并结合用户的情感状态,生成具有同理心和支持性的回应,有效帮助用户缓解情绪压力。

3.2 隐私保护与安全

随着RAG技术被广泛应用于企业级和个人级服务,如何确保用户数据的安全与隐私成为了一个至关重要的问题。未来的RAG框架可能会集成更多的隐私保护措施,比如差分隐私、同态加密等技术,以确保敏感信息不被泄露。以下展开两点介绍注重隐私保护与安全的趋势:

3.2.1 差分隐私(Differential Privacy)

1. 在RAG中的应用

差分隐私是一种数学框架,通过在数据查询结果或统计分析中添加随机噪声,以保护个人数据的隐私,使得即使在分析结果中,单个数据条目的信息也难以被推断出来。这种机制在RAG(Retrieval-Augmented Generation)中的应用体现在两个方面:首先,在训练阶段,通过在梯度更新过程中引入噪声,可以有效保护训练数据集的隐私性,使得即便在模型训练过程中也不泄露个体数据;其次,在生成内容的阶段,差分隐私技术通过在生成的输出中添加噪声,降低了生成内容暴露用户敏感信息的风险,从而确保用户交互数据的隐私安全。

2. 实际案例

一些企业和研究机构已经在其机器学习平台中实现差分隐私。例如,谷歌在TensorFlow中引入了差分隐私库(TF Privacy),帮助开发者在ML模型训练过程中保护数据隐私。类似地,未来的RAG系统也可以集成差分隐私技术,以确保用户数据在各个处理阶段的安全性。

3.2.2 同态加密(Homomorphic Encryption)

1. 在RAG中的应用

同态加密是一种高级加密技术,允许在数据保持加密状态下执行特定计算操作,计算后的结果仍然是加密的,只有在解密后才能得到正确的结果,这使得在数据处理过程中无需暴露敏感信息,从而极大地提高了数据安全性。在RAG(Retrieval-Augmented Generation)系统中,同态加密的应用体现在两个方面:

首先,在数据存储与传输过程中,用户数据使用同态加密技术进行加密,确保即使攻击者获得了存储或传输的数据,也无法解密或利用这些数据;

其次,在数据处理和生成响应时,数据始终保持加密状态,例如在检索和生成内容的中间步骤中应用同态加密,避免暴露任何敏感信息,从而进一步保障数据的隐私和安全。

2. 实际应用与前景

同态加密已经在一些敏感数据处理领域得到应用,如金融和医疗。未来,随着计算性能的提升和算法优化的进步,RAG系统中的同态加密也将变得更加可行。例如,IBM和微软等公司正在开发和推广同态加密技术,试图降低其计算成本并推广其应用范围。

3.3 个性化与定制化

随着用户需求日益多样化,未来的RAG解决方案将更加注重个性化体验。这意味着系统不仅要能够接入私域知识库,还要能够根据用户的偏好、历史行为和特定需求进行个性化推荐和服务。定制化的RAG平台将允许企业和个人根据自己的具体要求配置和调整系统,从而实现最佳的服务效果。

3.3.1 个性化体验

1. 使用私域知识库

未来的RAG系统将需要集成用户特定的私域知识库,包含个性化的数据和信息。这种整合不仅能够增强模型对个人上下文的理解,还能确保信息检索和内容生成更贴合用户实际需求。同时,私域知识库应当具备动态更新的能力,以及时反映用户的最新需求和环境变化。这种动态更新机制能够保持生成内容的准确性和相关性,使得总RAG系统始终能够提供最新、最符合用户期望的信息和服务。通过集成私域知识与动态知识更新,未来的RAG系统将实现更加智能化和个性化的应用,显著提升用户体验和系统的整体效能。

2. 利用用户偏好和历史行为

通过分析用户的偏好历史、行为模式和互动记录,系统能够准确了解每位用户相关的兴趣和需求。这一过程涉及大量的数据收集和分析,为后续的行为预测和内容推荐奠定基础。利用先进的机器学习模型,RAG系统能够预测用户的未来行为和需求,从而为用户推荐个性化的内容和选项。例如,在电子商务平台上,RAG系统可以根据用户的历史购买记录和浏览行为,生成精准的商品推荐,提升用户的购物体验和满意度。通过用户画像构建与行为预测的有机结合,未来的RAG系统将实现更加智能和贴合用户需求的个性化服务,显著增强用户的互动体验和系统的整体效能。

3.3.2 定制化服务

1. 配置灵活的RAG平台

首先,企业可以根据自身的行业需求和业务流程,定制化RAG系统的功能模块,调整检索机制和生成模型,以满足特定的服务需求。这种企业级定制不仅能够提升系统的适应性和效率,还能帮助企业在激烈的竞争中获得独特的优势,实现精准的业务支持与优化。同时,个人用户也能够通过交互设置实现个性化设置,类似于使用个性化智能助理。用户可以根据自身偏好调整系统的响应风格、信息推送频率和内容格式等,从而获得更加贴合个人需求的服务体验。这种个性化设置不仅提升了用户的互动体验和满意度,也使得RAG系统能够更好地满足不同用户群体的多样化需求。将企业级定制与个性化设置的有机结合,未来的RAG系统将变得更加灵活和强大,广泛应用于各类复杂的业务场景和个性化服务中,显著提升整体效能和用户满意度。

2. 可扩展的系统架构

RAG采用模块化设计易于扩展和修改。用户或企业可以根据不同的应用场景,灵活地添加或移除功能模块,从而实现定制化的解决方案。此外,未来的RAG平台将提供丰富的API和插件接口,允许第三方开发者扩展平台功能,满足多样化的需求。这不仅促进了一个活跃的第三方开发者生态系统的形成,也增强了RAG平台的灵活性和适应性。通过模块化设计与开放的API生态,RAG系统能够迅速响应市场变化和用户需求,推动创新发展,并在各类复杂应用场景中发挥更大的作用,显著提升整体效能和用户体验。

总之,随着技术的持续发展,大模型和RAG会运用得越来越广泛,会覆盖更多行业和领域,为各类用户提供更加智能化和高效的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328089.html

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

相关文章

MATLAB 控制系统设计与仿真 - 33

状态反馈控制系统 -全维状态观测器的实现 状态观测器的建立解决了受控系统不能测量的状态重构问题,使得状态反馈的工程实现成为可能。 考虑到系统的状态方程表达式,如果{A,B}可控,{A,C}可观,且安装系统的性能指标,可…

企业管理系统的功能架构设计与实现

一、企业管理系统的核心功能模块 企业管理系统作为现代企业的中枢神经系统,涵盖了多个核心功能模块,以确保企业运营的顺畅与高效。这些功能模块通常包括: 人力资源管理模块:负责员工信息的录入、维护、查询及统计分析&#xff0c…

覆盖学术、职场、生活的专业计算工具

软件介绍 今天要给大家介绍一款超给力的工具软件——CalcKit 计算器。它就像是你口袋里的智能计算专家,轻松化解日常生活中的各类计算难题。无论是简单的数字加减乘除,还是复杂的专业运算,它都不在话下。 这款软件内置了极为强大的计算功能…

【大模型系列篇】大模型基建工程:基于 FastAPI 自动构建 SSE MCP 服务器 —— 进阶篇

🔥🔥🔥 上期 《大模型基建工程:基于 FastAPI 自动构建 SSE MCP 服务器》中我们使用fastapi-mcp自动挂载fastapi到mcp工具,通过源码分析和实践,我们发现每次sse请求又转到了内部fastapi RESTful api接口&…

【python】Plot a Square

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数 更多有趣的代码示例,可参考【Programming】 1、功能描述 用 python 实现,以 A和B两个点为边长,方向朝 C 绘制正方形 思路: 计算向量 AB 和 AC。使用向…

实战打靶集锦-37-Wpwnvm

文章目录 1. 主机发现2. 端口扫描&服务枚举3. 服务探查4. 系统提权 靶机地址:https://download.vulnhub.com/wpwn/wpwnvm.zip 1. 主机发现 目前只知道目标靶机在192.168.37.xx网段,通过如下的命令,看看这个网段上在线的主机。 $ nmap -…

三、GPIO

一、GPIO简介 GPIO(General Purpose Input Output)通用输入输出口GPIO引脚电平:0V(低电平)~3.3V(高电平),部分引脚可容忍5V 容忍5V,即部分引脚输入5V的电压,…

混杂模式(Promiscuous Mode)与 Trunk 端口的区别详解

一、混杂模式(Promiscuous Mode) 1. 定义与工作原理 定义:混杂模式是网络接口的一种工作模式,允许接口接收通过其物理链路的所有数据包,而不仅是目标地址为本机的数据包。工作层级:OSI 数据链路层&#x…

[dp5_多状态dp] 按摩师 | 打家劫舍 II | 删除并获得点数 | 粉刷房子

目录 1.面试题 17.16. 按摩师 题解 2.打家劫舍 II 题解 3.删除并获得点数 题解 4.粉刷房子 题解 一定要有这样的能力,碰到一个新题的时候,可以往之前做过的题方向靠! 打家劫舍问题模型: 不能选择相邻的两个数,并且要最终…

DM数据库配置归档模式的两种方式

归档模式,联机日志文件中的内容保存到硬盘中,形成归档日志文件(REDO日志)。 采用归档模式会对系统的性能产生些许影响,然而系统在归档模式下运行会更安全,当 出现故障时其丢失数据的可能性更小,这是因为一旦出现介质故…

Agent TARS与Manus的正面竞争

Agent TARS 是 Manus 的直接竞争对手,两者在 AI Agent 领域形成了显著的技术与生态对抗。 一、技术架构与功能定位的竞争 集成化架构 vs 模块化设计 Agent TARS 基于字节跳动的 UI-TARS 视觉语言模型,将视觉感知、推理、接地(grounding&#…

【Tauri2】013——前端Window Event与创建Window

前言 【Tauri2】012——on_window_event函数-CSDN博客https://blog.csdn.net/qq_63401240/article/details/146909801?spm1001.2014.3001.5501 前面介绍了on_window_event,这个在Builder中的方法,里面有许多事件,比如Moved,Res…

创建Linux虚拟环境并远程连接,finalshell自定义壁纸

安装VMware 这里不多赘述。 挂载Linux系统 1). 打开Vmware虚拟机,打开 编辑 -> 虚拟网络编辑器(N) 选择 NAT模式,然后选择右下角的 更改设置。 设置子网IP为 192.168.100.0,然后选择 应用 -> 确定。 解压 CentOS7-1.zip 到一个比较大…

基于pycharm的YOLOv11模型训练方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.1 软件环境配置1.2 训练集参考 二、训练步骤2.1 打开文件夹2.2 打开文件2.3 data.yaml最终代码 三、train.py四、最终结果五、detect.py六、 拓展…

034-QSharedMemory

QSharedMemory 以下为针对 QSharedMemory 的技术调研及实现方案,包含原理、优化策略、完整代码实现及流程图解: 一、QSharedMemory 核心原理 1.1 共享内存机制 共享内存流程图 (注:此处应为共享内存IPC流程图,因文本…

在 Ubuntu 上离线安装 Prometheus 和 Grafana

在 Ubuntu 上离线安装 Prometheus 和 Grafana 的步骤如下: 一.安装验证 二.安装步骤 1.准备离线安装包 在一台可以访问互联网的机器上下载 Prometheus 和 Grafana 的二进制文件。 Prometheus 下载地址:Prometheus 官方下载页面Grafana 下载地址&#…

Ansible:playbook的高级用法

文章目录 1. handlers与notify2. tags组件3. playbook中使用变量3.1使用 setup 模块中变量3.2在playbook 命令行中定义变量3.3在playbook文件中定义变量3.4使用变量文件3.5主机清单文件中定义变量主机变量组(公共)变量 1. handlers与notify Handlers&am…

【C++进阶九】继承和虚继承

【C进阶九】继承和虚继承 1.什么是继承2.继承关系2.1protected和private的区别2.2通过父类的函数去访问父类的private成员2.3默认继承 3.基类和派生类对象的赋值转换4.继承中的作用域5.子类中的默认成员函数6.继承与静态成员7. 菱形继承8.虚继承9.继承和组合 1.什么是继承 继承…

电子电气架构 --- 面向服务的体系架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁&am…

基姆拉尔森计算公式

基姆拉尔森计算公式(Zellers Congruence 的变体)是一种快速根据公历日期计算星期几的数学公式。其核心思想是通过对年月日的数值进行特定变换和取模运算,直接得到星期几的结果。 公式定义 对于日期 年-月-日,公式如下&#xff1a…