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

RAG 的介绍及评价方法

RAG的作用

大模型虽然具备处理复杂语言任务的强大能力,但在知识更新和依赖外部信息的及时性方面存在局限。大模型在训练时捕获的知识通常是静态的,一旦训练完成,模型便不再更新,无法掌握训练数据集之外的最新信息或事件。RAG可以很好的弥补这方面的不足,通过结合检索和生成的方式,允许模型在回答问题或执行任务时动态地访问和利用最新的外部知识。

RAG历史

检索增强生成(Retrieval-Augmented Generation, RAG)属于自然语言处理技术,结合了大语言模型的生成能力和外部知识库的检索功能,以提升回答问题的准确性和时效性。

最早在2020年的学术论文中提出,探索如何利用检索技术从海量知识中迅速定位与问题相关的信息,进而提升语言模型的回答质量。在RAG框架下,系统首先使用编码模型(如BM25、SentenceBert、ColBERT等)对问题进行编码,然后在知识库中检索最相关的文档。这是RAG区别于传统语言模型的关键,允许模型在回答问题时参考外部的、通常是更具体和最新的信息。系统将检索到的上下文信息与问题合并,作为大语言模型(LLM)的输入,以此为基础生成回答。

RAG的出现标志着自然语言处理领域的一个重要转折点,无需为每个特定任务重新训练整个模型的可能性。通过简单的接入外部知识库,RAG能够显著提升模型在知识密集型任务上的表现,同时降低了模型维护和训练的成本。RAG的透明性和可定制化增强了用户对模型输出的信任,尤其是在涉及安全性和隐私管理的场景中。

最初版本的RAG称为Naive RAG,主要关注索引、检索和生成的基本步骤。逐步进入如何优化检索效果、提高向量表征模型的准确度以及优化检索后处理等关键环节。这些优化不仅提升了检索的精度和召回率,还减少了过时信息的影响,增强了RAG系统的整体效能。

现在进入了高级阶段,出现了Modular RAG,一种高度模块化的RAG系统,将优化策略分解为独立的模块,如搜索模块、记忆模块、额外生成模块等,每个模块负责特定的功能,可以独立进行优化。这种模块化设计使得RAG系统更加灵活,能够针对不同的任务和需求进行定制,同时也促进了RAG系统的持续进化和创新。

参考文献

  • Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
  • Retrieval-Augmented Generation for Large Language Models: A Survey

文献详细阐述了RAG技术的理论基础、发展历程以及在实际应用中的效果评估。

RAG工作原理

RAG的工作流程分为两个关键阶段:检索和生成。首先,使用诸如BM25、SentenceBert或ColBERT等编码模型,根据问题找到相关的文档。将检索到的上下文与问题合并,作为大语言模型生成答案的基础。

这种方法最早在2020年的论文《Retrieval-augmented generation for knowledge-intensive NLP tasks》中提出,展示了即使是当时流行的seq2seq模型,通过检索方式也能从海量数据中迅速定位到与问题相关的知识,从而提升生成文本的准确性和相关性。

微调通常用于使模型适应特定的结构、风格或格式,而RAG则更侧重于提供信息检索功能,适用于解答具体问题。RAG提高了答案的准确性,减少了虚假信息的出现,能够识别并提供最新信息,保持回答的时效性和准确性。RAG的透明度高,能够增强用户对模型输出结果的信任,同时支持不同领域的专业知识,对于安全性和隐私管理也有较好的控制。此外,RAG在处理大规模数据集时具有更好的扩展性和经济效率。

RAG的挑战。检索质量是首要问题,包括低精度和低召回率,这可能导致信息错误或遗漏关键信息。同时,回应生成质量也是一个关注点,模型可能因缺乏足够上下文而产生错误或无关的回答。此外,随着模型对召回结果的依赖加深,大模型的“幻觉”问题——即模型在缺乏事实依据的情况下生成虚构信息——也可能加剧。

RAG技术的存在并不取决于大模型的Context Length,而是由知识依赖问题决定的。无论模型大小,都有知识更新的需要,新知识的学习往往需要时间和资源,而RAG通过检索和prompt的方式,能及时将最新信息输入模型,解决知识更新的难题。在实时性要求高的场景下,如商品信息更新、天气预报或新闻报道,RAG的优势尤为明显,能够通过数据库的实时存储和更新,配合prompt机制,让模型迅速获取并应用新知识。

RAG优化策略

原始RAG面临的主要挑战包括检索质量(如低精度和低召回率)以及回应生成质量(如错误信息、不相关性或有害内容)。RAG的优化通常集中在索引、向量模型优化和检索后处理等方面。

高级RAG通过引入更精细的索引策略、向量表征模型的优化以及检索后处理技术,如重排序和prompt压缩,显著提升了系统的性能。此外,混合检索、递归检索和子查询等方案也被提出,以进一步提高检索的准确性和效率。

模块化RAG与self-RAG:模块化RAG通过集成大量优化策略,形成独立的模块来完成特定功能,如搜索模块、记忆模块和任务适配模块。而self-RAG引入了主动判断模块,使系统能够自我反思,判断是否需要进一步检索以及回复的质量,从而做出更智能的决策。

RAG发展趋势

持续的优化:针对检索质量和生成质量的持续优化,以及对整个RAG流程的精进。

集成Agent:利用大模型实现更复杂的对话策略,让大模型自身决策查询和回复策略。

适应性增强:RAG系统将更加灵活,能够适应不同的下游任务和场景,如分类任务的优化。

评估与系统效应:发展更全面的评估方案,考虑到RAG系统内的各模块协同效应,以及如何最大化系统整体性能。

微调侧重于通过广泛学习使模型模仿特定结构、风格或格式,适用于强化已有知识或调整模型输出,但不适合快速引入新知识或适应新场景。

RAG更专注于提供即时的、具体的知识检索,适用于解答具体问题或执行特定的信息检索任务。通过结合RAG和微调,可以在不同层面增强模型的能力,达到最佳的性能状态。

RAG的评估方法

人工评估

邀请专家或人工评估员对RAG生成的结果进行评估。根据预先定义的标准对生成的答案进行质量评估,如准确性、连贯性、相关性等。这种评估方法可以提供高质量的反馈,但可能会消耗大量的时间和人力资源。

自动化评估
 

LangSmith

准备测试数据集,可以评估RAG效果,对于LangChain的Prompt模板等都可进行测试评估。

Langfuse

LangSmith的平替,也具有自动化评估的功能。

准备测试数据集,可以评估RAG效果,对于LangChain中的Prompt模板等都可进行测试评估。

以上两个平台都可以自定义自己的评估函数,也支持一些内置的评估函数。             

TruLens

旨在评估和改进 LLM 应用的软件工具,相对独立,可以集成 LangChain 或 LlamaIndex 等 LLM 开发框架。使用反馈功能来客观地衡量 LLM 应用的质量和效果,包括分析相关性、适用性和有害性等。提供程序化反馈,支持 LLM 应用的快速迭代,比人工反馈更快速、更可扩展。

  • 开源链接:GitHub - truera/trulens: Evaluation and Tracking for LLM Experiments
  • 使用手册:https://www.trulens.org/trulens_eval/install/

使用的步骤:

(1)创建LLM应用

(2)将LLM应用与TruLens连接,记录日志并上传

(3)添加 feedback functions到日志中,并评估LLM应用的质量

(4)在TruLens的看板中可视化查看日志、评估结果等

(5)迭代和优化LLM应用,选择最优的版本

TruLens 对 RAG 的评估主要有三个指标:

上下文相关性(context relevance):衡量用户提问与查询到的参考上下文之间的相关性
忠实性(groundedness ):衡量大模型生成的回复有多少是来自于参考上下文中的内容
答案相关性(answer relevance):衡量用户提问与大模型回复之间的相关性。

其对RAG的评估不需要有提前收集的测试数据集和相应的答案。

常用评估指标

Trulens 的RAG三元组指标

上下文相关性(context relevance):衡量用户提问与查询到的参考上下文之间的相关性
忠实性(groundedness ):衡量大模型生成的回复有多少是来自于参考上下文中的内容
答案相关性(answer relevance):衡量用户提问与大模型回复之间的相关性

RAGAS的四个指标

评估检索质量:
context_relevancy:上下文相关性, context_precision
context_recall:召回性,越高表示检索出来的内容与正确答案越相关,评估生成质量

faithfulness:忠实性,越高表示答案的生成使用了越多的参考文档
answer_relevancy:答案的相关性

其它指标

参考论文:https://arxiv.org/pdf/2309.01431.pdf

(1)噪声鲁棒性(Noise Robustness)

衡量从噪声文档中提取有用的信息能力。在现实世界中,存在大量的噪声信息,例如假新闻,这给语言模型带来了挑战。

(2)否定拒绝(Negative Rejection)

当检索到的文档不足以支撑回答用户的问题时,模型应拒绝回答问题,发出"信息不足"或其他拒绝信号。

(3)信息整合(information integration)

评估模型能否回答需要整合多个文档信息的复杂问题,即,当一个问题需要查找多个文档,综合信息之后才能回答时,模型的表现。

(4)反事实鲁棒性(CounterfactualRobustness)

模型能否识别检索文档中已知事实错误的能力,即当索引的文档信息原本就是与事实相背时,大模型能否识别出不对。

参考:

【RAG】综述:一文了解RAG评估方法、工具与指标_rag模型如何测试-CSDN博客

相关文章:

RAG 的介绍及评价方法

RAG的作用 大模型虽然具备处理复杂语言任务的强大能力,但在知识更新和依赖外部信息的及时性方面存在局限。大模型在训练时捕获的知识通常是静态的,一旦训练完成,模型便不再更新,无法掌握训练数据集之外的最新信息或事件。RAG可以…...

Linux网络新手注意事项与配置指南

Linux系统在网络管理方面提供了丰富的工具和灵活的配置方式,但对于新手来说,掌握正确的操作方法和注意事项至关重要。本文将从网络基础概念、配置工具、安全设置、故障排查以及常见错误等多个方面,结合具体代码示例,详细讲解Linux网络管理的核心内容,帮助新手快速入门并避…...

CI/CD与DevOps流程流程简述(提供思路)

一 CI/CD流程详解:代码集成、测试与发布部署 引言 在软件开发的世界里,CI/CD(持续集成/持续交付)就像是一套精密的流水线,确保代码从开发到上线的整个过程高效、稳定。我作为一名资深的软件工程师,接下来…...

【AWS+Wordpress-准备阶段】AWS注册+创建EC2实例

前言 自学笔记,解决问题为主,亲测有效,欢迎补充。 本地WP文件部署到AWS整体步骤如下:(本文重点:AWS准备完成) 0. [AWS 准备] 注册 AWS 并创建 EC2 实例 ↓ 1. [生成安装包:用 Du…...

FPGA----基于ZYNQ 7020实现定制化的EPICS通信系统

引言:前文我们降到了,使用alinx提供的sd卡,直接在上面编译即可。那么,如果我们的在FPGA侧有一些个性化的开发,那么生成的image.ub和boot.bin将于原sd卡中的不一致,我们应该如何坐呢? 补充知识点…...

读《暗时间》有感

读《暗时间》有感 反思与笔记 这本书还是我无意中使用 ima 给我写职业规划的时候给出的,由于有收藏的习惯,我就去找了这本书。当读到第一章暗时间的时候给了我很大的冲击,我本身就是一个想快速读完一本书的人,看到东西没有深入思…...

MIT关节电机相序校准

UVW三相相序判断 电机相序校正是确保多关节控制系统正常运行的重要步骤。在实际应用中,每个电机定子的三相线(W、U、V)的连接顺序可能存在差异,这是由于制造过程中的随机接线所致。不过,通过简单的校正方法&#xff0c…...

Qwen2.5模型结构

self.lm_head nn.Linear(config.hidden_size, config.vocab_size, biasFalse) 这个是用来干嘛的 输出层,词汇投影层,将模型输出的隐藏状态向量映射回词表空间,用于预测下一个token # 预测 logits,未经过 softmax lm_logits self…...

2021-11-11 C++泰勒sin(x)以2步进乘方除以阶乘加减第N项

缘由c书本题&#xff0c;求解了&#xff0c;求解-编程语言-CSDN问答 int n 10, d 3, z -1; double x 2.5, xx x;while (n){xx (乘方(x, d) / 阶乘(d)) * z;d 2, --n, z * -1;}std::cout << xx << std::endl;...

【MySQL】C语言访问数据库

C语言访问数据库 一. Linux 安装 MySQL 动静态库二. 使用MySQL数据库1. 创建MySQL对象2. 连接MySQL数据库3. 释放MySQL对象4. SQL 语句操作1. 插入操作2. 修改操作3. 删除操作4. 查询操作 准备工作 use mysql; select user, host from user;# 创建本地连接的用户 create user c…...

dify 部署后docker 配置文件修改

1&#xff1a;修改 复制 ./dify/docker/.env.example ./dify/docker/.env 添加一下内容 # 启用自定义模型 CUSTOM_MODEL_ENABLEDtrue# 将OLLAMA_API_BASE_URL 改为宿主机的物理ip OLLAMA_API_BASE_URLhttp://192.168.72.8:11434# vllm 的 OPENAI的兼容 API 地址 CUSTOM_MODE…...

【神经网络与深度学习】VAE 和 GAN

这位大佬写的 VAE 的讲解很不错 VAE 和 GAN 的相同点和不同点 引言 VAE&#xff08;变分自编码器&#xff09;和 GAN&#xff08;生成对抗网络&#xff09;是深度学习中两种主要的生成模型&#xff0c;它们在数据生成任务中发挥着重要作用。虽然它们的目标相似&#xff0c;都…...

2-C#控件

2-控件 1.panel控件的使用 private void button3_Click(object sender, EventArgs e){Form2 my2 new Form2();my2.TopLevel false;this.panel1.Controls.Add(my2);my2.BringToFront();my2.Show();}private void button4_Click(object sender, EventArgs e){Form3 my3 new F…...

1.1.2 简化迭代器 yield return的使用

yield return 是一个用于简化迭代器&#xff08;Iterator&#xff09;实现的关键字组合。它的核心作用是让开发者能够以更简洁的方式定义一个按需生成序列的方法&#xff08;生成器方法&#xff09;&#xff0c;而无需显式实现 IEnumerable 或 IEnumerator 接口。yield return …...

机器学习实操 第二部分 神经网路和深度学习 第14章 使用卷积神经网络进行深度计算机视觉

机器学习实操 第二部分 神经网路和深度学习 第14章 使用卷积神经网络进行深度计算机视觉 内容概要 第14章深入探讨了卷积神经网络&#xff08;CNNs&#xff09;及其在计算机视觉中的应用。CNNs受大脑视觉皮层的启发&#xff0c;通过局部感受野和权值共享机制&#xff0c;能够…...

电商双11美妆数据分析(2)

接下来用seaborn包给出每个店铺各个大类以及各个小类的销量销售额 关于性别 接下来考虑性别因素&#xff0c;了解各类产品在男性消费者中的销量占比 男士的销量基本来自于清洁类&#xff0c;其次是补水类。而这两类正是总销量中占比最高的两类。 非男士专用中&#xff0c;补水…...

数字康养新范式:七彩喜平台重构智慧养老生态的深度实践

在全球人口老龄化程度日益加深的当下&#xff0c;养老问题成为社会关注的焦点。 智慧养老作为一种创新的养老模式&#xff0c;借助现代信息技术&#xff0c;为提升老年人生活质量、缓解养老压力提供了新的思路与途径。 而当前中国 60 岁以上人口已达 2.8 亿&#xff0c;占总人…...

2D横板跳跃游戏笔记(查漏补缺ing...)

1.Compression&#xff08;压缩质量&#xff09;&#xff1a;可以改为None&#xff0c;不压缩的效果最好&#xff0c;但占用内存 2.Filter Mode&#xff08;过滤模式&#xff09;&#xff1a;可以选择Point&#xff08;no filter&#xff09; 3.Pixels Per Unit&#xff1a;是…...

c++中“”符号代表引用还是取内存地址?

c中&#xff0c;“&”符号有时代表引用&#xff0c;有时代表取地址符。 一、引用和取址 引用是一个已存在变量的别名&#xff0c;修改别名的值&#xff0c;原始变量的值也会改变&#xff1b;而取地址符则是得到一个指针&#xff0c;该指针指向变量的内存地址。 1&#x…...

AGV智能搬运机器人:富唯智能引领工业物流高效变革

在智能制造与工业4.0深度融合的今天&#xff0c;物流环节的高效与精准已成为企业核心竞争力的关键。富唯智能凭借其自主研发的AGV智能搬运机器人&#xff0c;以创新技术重塑工业物流标准&#xff0c;助力企业实现降本增效的跨越式发展。 一、技术突破&#xff1a;精准导航与智能…...

今年中国新能源汽车销量已破400万辆 大增42%

快科技5月7日消息&#xff0c;乘联分会公布了2025年4月新能源乘用车厂商批发销量数据。 纵观2025年以来&#xff0c;综合预估今年1-4月累计批发400万辆&#xff0c;同比增长42%。 根据中汽协发布的数据&#xff0c;2024年中国新能源汽车市场产销两旺&#xff0c;全年累计销量…...

广告屏蔽插件的内部细节EasyList 规则详解:为什么广告屏蔽不直接用 CSS/JS?​(彩蛋)

​广告屏蔽插件的内部细节&#xff1a;EasyList 规则详解&#xff1b;为什么广告屏蔽不直接用 CSS/JS屏蔽广告&#xff1f;​​ 我们经常在浏览器中使用一些广告屏蔽插件&#xff08;如 ​uBlock Origin、AdGuard、AdBlock Plus&#xff09;已经成为许多用户的必备插件。 刚开…...

TCGA数据库临床亚型可用!贝叶斯聚类+特征网络分析,这篇 NC 提供的方法可以快速用起来了!

生信碱移 贝叶斯网络聚类 CANclust是一种基于贝叶斯的聚类方法&#xff0c;系统性地对基因突变、细胞遗传学信息和临床指标进行联合建模&#xff0c;用于多种模态数据的联合聚类分析&#xff0c;并识别在患者群体中反复出现的特征模式。 个体的遗传与环境背景决定其应对疾病的…...

好的软件系统

一个“好的软件系统”通常具有以下几个核心特征&#xff0c;简洁来说就是&#xff1a;“能用、好用、易维护、可扩展、安全可靠”。 一个好的软件系统&#xff0c;不只是“能跑起来”&#xff0c;而是“跑得稳、跑得快、跑得久&#xff0c;而且随时能换赛道还能继续跑 高内聚2.…...

某大型交通规划设计院转型实践:数智化破局复杂工程项目管理,实现高效人力资源一体化管理

随着中国经济的快速发展及基础设施建设的不断推进&#xff0c;交通规划设计行业正迎来新的机遇与挑战。作为行业的标杆企业&#xff0c;某大型交通规划设计院&#xff08;以下简称G院&#xff09;自1952年成立以来&#xff0c;始终致力于为公路、市政、建筑、园林规划等领域提供…...

格雷狼优化算法`GWO 通过模拟和优化一个信号处理问题来最大化特定频率下的功率

这段代码是一个Python程序,它使用了多个科学计算库,包括`random`、`numpy`、`matplotlib.pyplot`、`scipy.signal`和`scipy.signal.windows`。程序的主要目的是通过模拟和优化一个信号处理问题来最大化特定频率下的功率。 4. **定义类`class_model`**: - 这个类包含了信号…...

react中的用法——setDisabled dva dispatch effects

setDisabled 在react中&#xff0c;setDisabled通常是指通过状态管理来控制某个组件&#xff08;如按钮、输入框等&#xff09;的禁用状态。虽然react本身没有内置的setDisabled方法&#xff0c;但你可以使用useState钩子来实现类似的功能。以下是一个简单的示例&#xff0c;展…...

深入解析华为交换机中的VRRP原理

在现代网络架构中&#xff0c;高可用性和冗余性是确保网络稳定运行的关键因素。虚拟路由冗余协议&#xff08;VRRP&#xff09;作为一种广泛应用的冗余协议&#xff0c;能够有效地提升网络设备的可用性。特别是在华为交换机中&#xff0c;VRRP的实现为网络提供了更强大的灵活性…...

优艾智合CEO张朝辉荣膺U45杰出青年企业家

2025年是深圳经济特区成立45周年&#xff0c;也是深商会成立20周年。适逢五四青年节来临&#xff0c;深商总会、深圳市商业联合会、深圳市老字号协会、深圳市中小企业公共服务联盟、香港大湾区工商业联合会、广东省粤港澳大湾区产业协同发展联合会、深圳市深商公益基金会、深圳…...

解决HomeAssistant 无法安装 samba share问题

最近家里树莓派上的homeassistant 被折腾崩了&#xff0c;重新安装过程中发现加载项“Official add-ons”里面的“samba share”、“file edit”、“Mosquitto broker”等常用组件都不能安装。报以下错误&#xff1a; [supervisor.docker.interface] Cant install homeassista…...

【工具】HandBrake使用指南:功能详解与视频转码

HandBrake使用指南&#xff1a;功能详解与视频转码 一、前言 高清视频在当下日益普及&#xff0c;从影视制作到个人拍摄&#xff0c;从社交媒体发布到远程教育&#xff0c;如何高效地压缩、转换和管理视频文件的体积与清晰度&#xff0c;成为内容创作者与技术开发者的核心任务…...

代码随想录算法训练营第三十四天

LeetCode题目: 198. 打家劫舍213. 打家劫舍 II337. 打家劫舍 III3341. 到达最后一个房间的最少时间 I(每日一题) 其他: 今日总结 往期打卡 198. 打家劫舍 跳转: 198. 打家劫舍 学习: 代码随想录公开讲解 问题: 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都…...

数字电子技术基础(五十五)——D触发器

1 D触发器 我们知道电平触发在CLK1、S1、R1的时候&#xff0c;有不确定的状态&#xff0c;输出会进入不稳定状态&#xff0c;这种情况下电路可能会导致逻辑错误&#xff0c;通过如果在时钟信号有效期间&#xff0c;如果S和R在此期间发生了多次变化&#xff0c;那么输出会随着发…...

Spark external shuffle service

yarn external shuffle service 参考链接&#xff1a; https://mp.weixin.qq.com/s/ZggMnX2r4uj8TrzUPTMLhQ shuffle过程包括shuffle read和shuffle write两个过程。对于spark on yarn&#xff0c;shuffle write是container写数据到本地磁盘(路径由core-site.xml中hadoop.tm…...

用 NGINX 打造高性能 FastCGI 加速 `ngx_http_fastcgi_module`

一、安装与启用 # 在编译 NGINX 源码时加上&#xff1a; ./configure --with-http_fastcgi_module make && sudo make install# 或确保你使用的二进制已内置&#xff08;大多数发行版都默认包含&#xff09; nginx -V | grep fastcgi二、基础转发配置 http {server {…...

penEuler操作系统结合豆包测试github仓库8086-Emulator项目

penEuler操作系统结合豆包测试github仓库8086-Emulator项目 8086-Emulator项目&#xff1a;https://github.com/YJDoc2/8086-Emulator 申请空间 首先在华为开发者空间申请一个免费云主机&#xff08;penEuler操作系统&#xff09;&#xff1a;https://huaweicloud.csdn.net/…...

MapReduce中的分区器

在MapReduce框架中&#xff0c;分区器&#xff08;Partitioner&#xff09;是一个关键组件&#xff0c;其主要作用是决定由一个maptask生成的键值&#xff0c;最终是生成在哪个文件中的。 默认的分区器是HashPartitioner&#xff0c;它会根据键的哈希值将数据均匀分配到各个Red…...

【愚公系列】《Manus极简入门》024-表演艺术教练:“舞台魔法师”

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…...

CentOS 系统升级失败的原因与排查

一、常见升级失败原因 1. 软件包依赖问题 循环依赖&#xff1a;软件包A依赖B&#xff0c;B又依赖A 版本冲突&#xff1a;新旧版本软件包不兼容 缺失依赖&#xff1a;所需依赖包未正确安装或不可用 2. 存储空间不足 /boot分区空间不足&#xff08;常见于内核更新&#xff0…...

【useOperatorData Hook 改造实践】

useOperatorData Hook 改造实践 1. 背景 在我们的大屏项目中&#xff0c;运营商数据是一个核心的业务概念。几乎所有业务模块都需要根据当前选择的运营商来获取对应的数据。这就要求我们有一个统一的、可靠的方式来处理运营商相关的数据获取和状态变更。 1.1 原有实现 最初…...

vue3+ts的computed属性怎么用?

首先我们要进行引入computed这个属性&#xff0c;然后定义用这个属性的时候我们要先了解这个属性。 这个computed其实分为里两种&#xff01;一种是仅可读的&#xff0c;还有一种就是即可以读&#xff0c;又可以修改的&#xff01; 那我们常用的肯定是后者&#xff01;我们引…...

游戏服务器怎么挑选细节与技巧深度解析

在开发或运营网络游戏时&#xff0c;选择合适的游戏服务器是决定游戏体验和运营成败的关键因素。本文将深入分析游戏服务器挑选的核心考量点和实用技巧。 一、基础架构选择 1. 服务器类型对比 类型物理服务器云服务器混合架构 优势完全控制权、高性能稳定弹性扩展、全球部署…...

ZYNQ笔记(十八):VDMA VGA彩条显示

版本&#xff1a;Vivado2020.2&#xff08;Vitis&#xff09; 任务&#xff1a;以 VDAM IP 为核心实现 VGA 彩条图像显示 &#xff08;PS 端写入彩条数据到 DDR 通过 VDMA 读取出来输出给 VGA 进行显示&#xff09; 目录 一、介绍 &#xff08;1&#xff09;AXI4-Stream Vide…...

MCU缓存架构设计与优化策略

MCU缓存设计通过优化指令与数据的访问效率来提升系统性能并降低功耗。其核心架构包括指令缓存&#xff08;I-Cache&#xff09;和数据缓存&#xff08;D-Cache&#xff09;&#xff0c;I-Cache用于缓存从Flash或外部存储器读取的指令&#xff0c;减少CPU等待时间&#xff0c;适…...

制作一款打飞机游戏39:鼠标控制

绘制敌人指示器 接下来&#xff0c;我想在时间线上绘制敌人指示器&#xff0c;以便更直观地看到敌人的生成情况。我调整了指示器的位置&#xff0c;使其与界面上的按钮相匹配。这虽然增加了一些工作量&#xff0c;但也让界面看起来更加整洁。 解决敌人重叠问题 然而&#xf…...

【LUT技术专题】基于扩展卷积的极快速LUT算法

ECLUT&#xff1a;Efficient Look-Up Table from Expanded Convolutional Network for Accelerating Image Super-resolution&#xff08;2024 AAAI&#xff09; 专题介绍一、研究背景二、ECLUT方法2.1 EC模块2.2 ECConv感受野的分析2.3 放缩系数α 三、实验结果四、总结 本文将…...

1.3 Expression.Lambda表达式树的介绍

在 C# 中,几乎所有东西都是表达式,比如: 1). 3是常量表达式 : Expression.Constant 2). x,y是变量表达式:Expression.Parameter(typeof(变量类型), 变量名称); 3). !a 一元表达式 4). a+b 二元表达式, 比如Expression.Add 5).Math.Sin(x) 方法调用表达式, Expre…...

cursor配置mcp并使用

确保在本地安装了Node.js&#xff08;包含 npm&#xff09;&#xff0c;下载地址&#xff1a;Node.js — Run JavaScript Everywhere 检查是否安装成功 node -v npm -v项目配置&#xff1a; 在项目目录中创建一个 .cursor/mcp.json文件 server与clients的地址&#xff1a;MC…...

基于条件随机场(CRF)的词性标注实践探索

在自然语言处理领域&#xff0c;词性标注是一项基础且关键的任务&#xff0c;它能够为后续的语义分析、句法分析等工作奠定坚实基础。条件随机场&#xff08;Conditional Random Field&#xff0c;CRF&#xff09;作为一种强大的概率图模型&#xff0c;在词性标注等序列标注任务…...

【C++】C++中this指针的介绍及使用

this指针的介绍及使用 1.this指针的作用示例代码1&#xff1a;&#xff08;this指针存放当前对象的地址&#xff09;示例代码2&#xff1a;&#xff08;this指针的使用&#xff09; 2.this指针的写法示例代码&#xff1a; 1.this指针的作用 Cat &cmpAge(Cat &other) {…...