[特殊字符]️ 优化 GraphRAG:LightRAG 的三大改进,大模型入门到精通,收藏这篇就足够了!

让lightrag索引速度更快的工程实现优化设计 今天在学习lightrag的时候发现代码构建索引的过程很慢要使insert。 阅读详情


🦁 前言

在上一篇文章中,我们一起了解了 GraphRAG 是如何通过构建知识图谱来获得全局视野,从而回答那些传统 RAG 难以处理的宏观问题的。

这个思路很有启发性,但在实际操作中,我们可能会发现它的检索过程有些缓慢,更新一次数据的成本也不低。这些现实问题促使我们思考:有没有办法在保留其优势的同时,对它进行优化呢?

这正是我们今天要讨论的话题。最近我读到一篇名为 LightRAG: Simple and Fast Retrieval-Augmented Generation 的论文,它提出了一套非常巧妙的优化方案。这篇文章将和你一起,看看 LightRAG 是如何解决 GraphRAG 遇到的一些现实问题的。

🤔 GraphRAG 的现实挑战

在深入了解 LightRAG 的优化方案之前,我们先来回顾一下 GraphRAG 在实际应用中可能会遇到的几个主要问题。

首先是检索效率低下的问题。GraphRAG 通过生成社区报告来聚合信息,但在检索时需要遍历每一个社区,这会导致 token 消耗和 API 调用次数急剧增加。例如,在一项针对法律文档的实验中,GraphRAG 为了回答一个问题,可能需要消耗超过 60 万的 token 和数百次 API 调用。

其次是增量更新成本极高。当知识库需要加入新文档时,GraphRAG 的架构要求它拆解现有的社区结构,然后将新旧数据混合在一起,重新生成所有的社区报告。这个过程几乎等同于全量重建,计算开销非常大,尤其不适合数据需要频繁更新的场景。

最后,在回答的多样性方面,GraphRAG 的表现也有限。由于它的社区聚合机制倾向于将相似主题的节点归到一起,生成的报告内容会比较单一。当用户提出一个需要从多个维度进行探讨的问题时,GraphRAG 的回答可能无法覆盖所有相关的视角。

✨ LightRAG 的三大优化思路

针对上面提到的这些问题,LightRAG 提出了一套环环相扣的优化方案。它的核心在于重新设计了知识图谱的构建、检索和更新方式。

🦋 1. 索引的构建:基于图的文本索引

LightRAG 的第一步,也是最关键的一步,就是构建一种全新的基于图的文本索引(Graph-Based Text Indexing)。这个过程的目标是把非结构化的文本,转化成一个结构化的、易于检索的知识图谱,从而为后续步骤打下基础。

这个转化的过程,可以用下面的公式来概括:

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Formula (2)

我们来一起看看这个公式里每个符号代表什么意思,这样能更好地理解整个流程。

  • 代表最终生成的那张完整的知识图谱。
  • 是图谱的具体构成,其中 是经过处理后的最终实体节点集合,而 是最终的关系边集合。
  • 、 和 分别是三个核心的处理函数,代表实体关系识别、键值对生成和去重。
  • 是函数复合符号,表示这三个函数是依次执行的。
  • 指的是我们输入的原始文档集合,而 是其中一个单独的文本块。
  • 是并集符号,表示我们会把从所有文本块中提取出的实体和关系都合并起来。
  • 和 分别指在去重之前,从所有文本块中初步提取出来的全部实体和关系的集合。

理解了这些符号后,我们再来看具体的三个步骤就清晰多了。

📜 实体与关系提取 (Recog)

第一步是识别。系统会先把长文本切分成大小适中的文本块,然后利用大语言模型从每个文本块中识别出实体(Entity)和它们之间的关系(Relation)。

V 键值对生成 (Prof)

第二步是描述。识别出实体和关系后,模型会为每一个它们生成一个键值对(Key-Value Pair)。

🔗 去重与优化 (Dedupe)

第三步是合并。系统会把从不同文本块中提取出的重复实体和关系进行合并,减少图谱的冗余。我记得graphrag的论文里面他们是没有进行去重环节的。

🥩 图谱与键值对:骨架与血肉的关系

有的读者看到这里可能会疑惑,这里提到的知识图谱和键值对,它们之间到底是什么关系呢?

这是一个非常核心的问题。简单来说,知识图谱是“骨架”,而键值对是附着在骨架上的“血肉”。它们是同一个索引的两个方面:一个是结构,一个是内容。

我们用论文中提到的例子来具体看一下。对于下面这个句子:

“Cardiologists assess symptoms to identify potential heart issues.” (心脏病专家通过评估症状来识别潜在的心脏问题。)

Recog 函数会先提取出图谱的骨架:一个节点 Cardiologists (心脏病专家),另一个节点 Heart Disease (心脏病),以及一条连接它们的关系边 diagnose (诊断)。这就形成了一个 (Cardiologists) -[diagnose]-> (Heart Disease) 的基本结构。

接下来,Prof 函数就要为这个骨架的每个部分填充内容,也就是生成键值对:

  • 对于 Cardiologists 这个节点:
  • 键:就是实体名本身,"Cardiologists"。这个键是唯一的,方便我们精确地找到它。
  • 值:是一段由大模型生成的、关于这个实体的详细描述。比如:“心脏病专家是专注于心血管系统的医疗专业人员。他们的工作包括评估患者症状,以识别和诊断潜在的心脏问题和疾病。”
  • 对于 diagnose 这条关系边:
  • 键:不是简单的 "diagnose",而是由模型提炼出的、更宏观的多个主题词,比如 ["medical diagnosis", "symptom assessment", "cardiovascular health"]。
  • 值:是对这条“诊断”关系的具体解释,比如:“‘诊断’关系描述了医学专家如何利用症状分析等手段来确定患者的特定状况。”

通过这个例子我们就能明白,知识图谱负责提供宏观的关联结构,而键值对则负责填充微观的语义内容。两者结合,才让 LightRAG 的索引既能通过图结构理解全局信息,又能通过键值对快速检索到具体、丰富的内容。

🦉 2. 检索逻辑的升级:双层级检索

有了这样一个既有结构又有内容的图索引,LightRAG 设计了一套巧妙的双层级检索范式(Dual-Level Retrieval Paradigm)来解决不同类型的用户问题。它就像一个分工明确的团队,协同工作,既能精准提取细节,又能全面覆盖主题。

这里补充说明一下,节点和边在检索中的分工非常明确。节点的 Key-Value 结构主要服务于低层级检索,适合处理那些针对具体实体、需要精确信息的问题。比如你想了解某个专有名词或人物的详细介绍,系统会直接通过节点的键(实体名)定位,然后返回与之相关的丰富内容。而边的 Key-Value 则承担高层级检索的任务,专门应对那些宏观、主题性的问题。当用户提出的是关于某个领域或话题的抽象问题时,系统会通过关系边的主题词进行匹配,聚合所有相关的节点和内容,形成多角度、全局性的回答。

这种设计就像在图书馆查资料:如果你知道具体书名(实体),可以直接查找书名索引(节点);如果你只知道主题(比如“人工智能伦理”),则通过主题索引(边)找到所有相关书籍和内容。节点和边各司其职,使得 LightRAG 能够灵活应对从具体到抽象的各种检索需求,既保证了信息的准确性,也提升了答案的多样性和全面性。

🎯 低层级检索:精确打击,聚焦实体

首先是低层级检索(Low-Level Retrieval),它的任务是处理那些“细节导向型”的查询。这类查询通常包含明确的实体,需要精确的信息。

比如,当用户问“cardiologists(心脏病专家)的核心工作是什么?”时,系统会直接利用我们前面提到的键值对匹配机制,通过实体名 cardiologists 这个唯一的键(Key),快速定位到对应的节点,然后提取出它的值(Value)——那段详细的描述。这样就避免了在大量无关文本中进行模糊搜索,实现了精准打击。

🔭 高层级检索:全局视野,覆盖主题

与低层级检索相对应的是高层级检索(High-Level Retrieval),它负责处理那些“概念导向型”的查询。这类问题通常没有一个明确的实体,需要综合多个维度的信息才能回答。

比如,当用户问“人工智能如何影响现代教育?”时,系统就会去匹配那些由大模型生成的、更宏观的“全局关键词”(也就是关系边的键),比如“个性化学习”、“教师角色转变”等。通过这些主题标签,系统可以找到所有相关的实体和关系,并将它们的信息聚合起来,形成一个逻辑连贯、视角多元的回答,而不是像传统 RAG 那样,仅仅拼接几个零散的文档片段。

⚙️ 辅助机制:图结构与向量的合作

为了让这个双层级检索的过程既快又好,LightRAG 还用了一个混合机制,把图的结构化优势和向量的快速匹配优势结合了起来。

首先,它会把所有用于匹配的关键词(无论是实体的名字还是关系的主题词)都转化为向量,存入一个轻量级的向量数据库。这样做的好处是检索速度极快,而且还能处理一定的语义相似性,比如用户搜“electric cars”,也能匹配到“electric vehicles”。

然后,在通过向量快速定位到一批候选的节点或边之后,它会利用图的结构来进行“邻域扩展”。比如,当检索到“电动汽车”这个节点后,系统会自动把它的一跳邻居,如“电池技术”、“充电桩建设”等节点的信息也关联进来,补充了单纯向量匹配无法覆盖的深层语义依赖。

通过这种方式,LightRAG 形成了一套覆盖“具体实体”与“抽象主题”、兼顾“效率”与“全面性”的多维度检索模式。

🐘 3. 更新机制的简化:增量更新

针对 GraphRAG 更新成本高的问题,LightRAG 的增量更新算法就显得非常灵活了。

当有一份新文档需要加入时,系统只需要对这个新文档单独执行一遍前面提到的图索引构建流程,生成一个新的子图谱。然后,它会直接将新图谱中的节点和边,与原有的大图谱进行合并(取并集),并仅对新增的部分进行去重。

这个过程完全不需要重建整个索引。它的计算开销非常低,仅仅和新数据量有关,这就使得系统能够快速、低成本地适应动态变化的数据环境,确保检索结果能够反映最新的信息。

📊 效果怎么样?

理论上的设计很巧妙,那么 LightRAG 的实际效果如何呢?我们可以从论文的实验结果中找到答案。

🐢 1. 实验数据集

研究人员在四个不同领域的数据集上进行了测试,这些数据集来自 UltraDomain 基准,内容源于大学教科书。其中 Legal 数据集的规模最大,超过了 500 万 token,这对于检验模型处理大规模文档的能力很有说服力。

StatisticsAgricultureCSLegalMix
Total Documents12109461
Total Tokens2,017,8862,306,5355,081,069619,009

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Table 4

这个表格展示了实验数据的基本情况,让我们对测试的广度和深度有了一个直观的了解。

🚀 2. 效率和成本对比

在效率和成本方面,LightRAG 的优势非常明显。下面的表格是在 Legal 数据集上进行的对比测试结果。

PhaseRetrieval Phase (GraphRAG)Retrieval Phase (LightRAG)Incremental Text Update (GraphRAG)Incremental Text Update (LightRAG)
Tokens610 × 1,000< 1001,399 × 2 × 5,000
API Calls数百次11,399 × 2 +

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Figure 2

我们可以很直观地看到差距。

在检索阶段,GraphRAG 需要消耗约 61 万个 token 和数百次 API 调用,而 LightRAG 只需要不到 100 个 token 和 1 次 API 调用。这个效率提升是数量级的。

在增量更新阶段,当加入一份同等大小的新数据时,GraphRAG 的 token 消耗是千万级别的,而 LightRAG 的成本仅仅是提取新文档信息所需的 token()。这个对比让我们认识到 LightRAG 在效率和成本控制上的巨大优势。

💡 3. 答案质量对比

提升效率的同时,答案的质量有没有下降呢?实验结果表明,不仅没有下降,在某些方面反而还有提升。

指标Agriculture (GraphRAG)Agriculture (LightRAG)CS (GraphRAG)CS (LightRAG)Legal (GraphRAG)Legal (LightRAG)Mix (GraphRAG)Mix (LightRAG)
Comprehensiveness45.6%54.4%48.4%51.6%48.4%51.6%50.4%49.6%
Diversity21.8%77.2%40.8%59.2%26.4%73.6%36.0%64.0%
Empowerment42.2%58.8%45.2%54.8%43.6%56.4%50.8%49.2%
Overall45.2%54.8%48.0%52.0%47.2%52.8%50.4%49.6%

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Table 1 (节选)

从这个表格里,我们可以看到几个有意思的点。

最显著的一点是在多样性(Diversity)这个指标上,LightRAG 取得了压倒性的胜利。这直接证明了它的双层级检索范式,确实能有效解决 GraphRAG 在这方面的短板,提供更多元的视角。

在全面性(Comprehensiveness)和赋能性(Empowerment)上,LightRAG 相比 GraphRAG 也略有优势。

最后,在整体表现(Overall)上,LightRAG 在大多数数据集上都优于 GraphRAG。这说明,它在提升效率的同时,并没有牺牲答案的质量,反而有所提升。

🧩 4. 消融实验

为了进一步验证双层级检索的有效性,研究人员还做了消融实验。也就是分别去掉高层级检索和低层级检索,看看模型表现会发生什么变化。

指标NaiveRAG-High-Low-Origin
Overall (CS)38.8%44.0%43.6%39.2%
Overall (Legal)15.2%22.0%18.8%15.6%

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Table 2 (节选), 表格中对比的对象为LightRAG的ablation版本,数字代表NaiveRAG的胜率

这里的 -High 指的是去掉高层级检索,只用低层级;-Low 指的是去掉低层级检索,只用高层级。可以看到,无论去掉哪一个,模型的整体表现都会有所下降,这证明了双层级协同工作的必要性。

而 -Origin 指的是在检索中不使用原始文本,只使用图谱信息。有趣的是,它的表现甚至比完整的 LightRAG 还要好一些。这说明,经过精心构建的图索引,已经包含了足够高质量的信息来回答问题,而原始文本中的一些无关内容反而可能成为噪音。

🙋♂️ 入群交流公众号菜单点击「社群」,扫码直接入群回复关键词「入群」,添加作者微信人工邀请,注意备注:入群

🐨 总结

读到这里,我们一起把 LightRAG 如何优化 GraphRAG 的思路和实践梳理了一遍。

希望现在你对这种优化方法有了一个更具体的认识。我们从 GraphRAG 在检索效率、更新成本和回答多样性上遇到的现实问题出发,看到了 LightRAG 是如何通过三个核心改进来应对的。

我们学到了,通过构建一种更轻量的、基于键值对的图索引,可以替代掉 GraphRAG 笨重的社区报告。我们还了解了一种巧妙的双层级检索范式,它能够根据问题的类型,灵活地调用低层级检索来抓取细节,或者调用高层级检索来整合全局主题,从而在全面性和多样性上都取得了更好的表现。最后,我们还看到了一个灵活的增量更新算法,它使得知识库的动态维护变得既简单又低成本。

通过这些内容,我们能理解 LightRAG 不仅仅是一个简单的修补,而是一套系统性的优化方案,它在保持图增强 RAG 优势的同时,让整个系统变得更快、更省、也更灵活。

📜 附录:详细实验数据

为了方便希望深入研究的读者,这里提供了论文中的两份完整的实验数据表格。

📊 1. LightRAG 与所有基线的详细对比

下表展示了 LightRAG 与 NaiveRAG、RQ-RAG、HyDE 和 GraphRAG 在四个数据集和四个评估维度上的完整胜率对比。

AgricultureCSLegalMix
vs. NaiveRAGLightRAG WinLightRAG WinLightRAG WinLightRAG Win
Comprehensiveness67.6%61.6%83.6%61.2%
Diversity76.4%62.0%86.4%67.6%
Empowerment67.6%61.2%83.6%57.2%
Overall67.6%61.2%84.8%60.0%
vs. RQ-RAGLightRAG WinLightRAG WinLightRAG WinLightRAG Win
Comprehensiveness68.4%61.2%84.8%60.8%
Diversity70.8%60.8%88.4%69.2%
Empowerment68.4%63.6%84.8%57.6%
Overall67.6%62.0%85.6%60.8%
vs. HyDELightRAG WinLightRAG WinLightRAG WinLightRAG Win
Comprehensiveness74.0%58.4%73.2%59.6%
Diversity76.0%61.2%80.0%67.6%
Empowerment74.8%59.2%74.0%54.0%
Overall75.2%58.4%73.6%57.6%
vs. GraphRAGLightRAG WinLightRAG WinLightRAG WinLightRAG Win
Comprehensiveness54.4%51.6%51.6%49.6% (GraphRAG Win)
Diversity77.2%59.2%73.6%64.0%
Empowerment58.8%54.8%56.4%49.2% (GraphRAG Win)
Overall54.8%52.0%52.8%49.6% (GraphRAG Win)

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Table 1

🔬 2. 消融实验详细数据

下表是消融实验的完整数据,展示了 LightRAG 的不同变体(-High, -Low, -Origin)在所有评估维度上与 NaiveRAG 的对比结果。数字代表 NaiveRAG 的胜率,因此数字越低,表示 LightRAG 的变体版本越强。

AgricultureCSLegalMix
LightRAG (Full)NaiveRAG WinNaiveRAG WinNaiveRAG WinNaiveRAG Win
Comprehensiveness32.4%38.4%16.4%38.8%
Diversity23.6%38.0%13.6%32.4%
Empowerment32.4%38.8%16.4%42.8%
Overall32.4%38.8%15.2%40.0%
-High (Low-level only)NaiveRAG WinNaiveRAG WinNaiveRAG WinNaiveRAG Win
Comprehensiveness34.8%42.8%23.6%40.4%
Diversity27.2%36.8%16.8%36.0%
Empowerment36.0%42.4%22.8%47.6%
Overall35.2%44.0%22.0%42.4%
-Low (High-level only)NaiveRAG WinNaiveRAG WinNaiveRAG WinNaiveRAG Win
Comprehensiveness36.0%33.2%19.2%36.0%
Diversity28.0%49.6%13.6%33.2%
Empowerment34.8%42.8%16.4%35.2%
Overall34.8%43.6%18.8%35.2%
-Origin (No original text)NaiveRAG WinNaiveRAG WinNaiveRAG WinNaiveRAG Win
Comprehensiveness24.8%39.2%16.4%44.4%
Diversity26.4%44.8%14.4%25.6%
Empowerment32.0%43.2%17.2%45.2%
Overall25.6%39.2%15.6%44.4%

来源: LightRAG: Simple and Fast Retrieval-Augmented Generation, Table 2

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!

👇👇扫码免费领取全部内容👇👇

​

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

​

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

(三十四)人工智能应用--自然语言处理--自然语言处理概述 自然语言处理(NLP)是让机器理解人类语言的交叉学科,涵盖语音识别、语义理解与生成。其发展历经规则驱动、统计学习到深度学习三阶段,核心突破在于词向量(如Word2Vec)实现语义表示。课程以“三层金字塔”框架梳理基础技术、核心技术与应用实践,并强调数据维度:文本为2D,序列3D,图像4D,视频5D,第一维恒为样本数。掌握文本→ID→Embedding的转化链路,是构建模型的基础。 阅读详情

相关推荐

Kerberos基础及KDC服务(理论知识)

kerberos基础理论讲解+KDC服务

Siobhan_Mxin的博客 9712

<论文>让RAG变得高效且简单:LightRAG

本文介绍了论文​《LightRAG: Simple and Fast Retrieval-Augmented Generation》的核心创新点。

学习与分享人工智能技术 1491

别再到处找了!2024最新银河麒麟V10全版本(飞腾/龙芯/兆芯)官方下载与安装保姆级教程

本文提供2024年银河麒麟V10操作系统全版本(飞腾/龙芯/兆芯)的官方下载与安装保姆级教程,涵盖版本选择、镜像获取、启动盘制作及安装优化等关键步骤,助您高效部署国产操作系统。

weixin_26846533的博客 485

LightRAG性能实测:从百到万级文档的并发处理优化指南

你是否在处理大规模文档时遭遇系统响应迟缓?是否因并发查询请求导致服务崩溃?本文通过实测LightRAG在文档处理与并发查询场景下的表现,详解参数调优策略,助你将系统吞吐量提升300%。读完本文你将掌握:多维度并发控制参数配置、大规模数据处理性能瓶颈突破、高并发查询响应优化技巧。 ## 性能测试环境与基准配置 LightRAG采用分层并发架构,通过四大控制参数实现性能调优。测试基于以下环境: -...

gitblog_00398的博客 948

NCCL 源码深度解析:从初始化到通信链路构建全流程

本文深入解析了NVIDIA Collective Communication Library (NCCL) 的核心工作机制,从通信组初始化、硬件拓扑发现,到P2P、共享内存及网络传输链路的构建。详细剖析了源码中集合通信任务的执行流程与Proxy线程的协同机制,为开发者进行高性能分布式训练的性能调优与深度问题排查提供了清晰的底层视角。

hp777的博客 551

【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM

如果之前添加了网卡,这里就可以看见有3个网卡(没添加的现在再加也行),* Active *为Linux内核正在使用的网卡,另外两张是未启用的网卡(注:未启用的网卡在终端中使用ifconfig命令是查不到的,需要先使用ip addr找出网卡,再激活,此时网卡会变为* Active *状态。

lingshengxiyou的博客 2130

GraphRag性能优化实战:内存管理与缓存策略高级技巧

你是否遇到过GraphRAG索引时内存溢出、查询响应缓慢的问题?作为基于图的检索增强生成(RAG)系统,GraphRAG在处理大规模知识图谱时经常面临内存占用过高和重复计算的挑战。本文将揭示3个经过实战验证的优化技巧,帮助你将系统吞吐量提升50%,同时降低40%内存消耗。读完本文你将掌握:分块策略调优、多级缓存配置、向量存储优化的核心方法,所有技巧均配备项目内源码路径和可视化配置示例。 ## 内...

gitblog_01185的博客 610

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 780

【2025最新】如何定制化、高效化使用LIghtRAG进行规范知识抽取

‌LightRAG‌ 定制化抽取及neo4j导入

Kakaxiii的博客 2922

Python 爬虫实战:亚马逊商品评论 + 评分抓取(情感分析数据预处理)

在电子商务领域,用户评论是了解产品口碑和市场反馈的重要渠道。亚马逊作为全球领先的电商平台,拥有海量的商品评论数据。本文将详细介绍如何使用 Python 编写爬虫程序,从亚马逊网站抓取商品评论和评分数据,并进行情感分析的数据预处理。

yansideyucsdn的博客 769

基于SOLIDWORKS API的工业级插件开发指南

SOLIDWORKS API是基于COM技术的一套开发接口,支持C#、VB.NET等语言,用于自动化建模、属性管理、界面定制等功能。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 2749

基于聊天记录的问答——问答篇

本文介绍了基于聊天记录的问答系统实现方案,主要采用GraphRAG和Text2SQL两种技术相结合的方法。GraphRAG擅长处理全局性问题(如人物特征分析、话题检索等),而Text2SQL则适用于精确查询(如特定时间段的聊天记录查询)。文章详细阐述了两种技术的实现策略:GraphRAG通过实体关系抽取和合并来实现全局性回答,采用昵称映射解决特殊字符和复读问题;Text2SQL通过路径向量化和LLM重排来快速定位查询表。系统最终结合两种技术,并加入Text2CQL来保证效果,虽然响应时间较长(约1分钟),但

qq_44193969的博客 894

HDR 成像技术学习(三)—— LOFIC

LOFIC(Lateral Overflow Integration Capacitor,横向溢出集合电容)介绍,从像素结构到工作时序。

沧海一升的博客 9729

Local AI Packaged知识图谱应用:Neo4j与GraphRAG实战教程

想要构建强大的本地AI知识图谱系统吗?Local AI Packaged为您提供了完整的解决方案!这个开源项目集成了Ollama、Supabase、n8n、Open WebUI、Flowise、Neo4j、Langfuse、SearXNG和Caddy等顶级工具,让您轻松搭建私有化的AI智能体环境。🚀 ## 💡 什么是知识图谱与GraphRAG? 知识图谱是一种结构化的语义知识库,用于描述物

gitblog_00995的博客 466

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

山东大学项目实训六

检索器通常需要在毫秒级延迟内处理百万甚至亿级的文档,因此只能使用轻量级的双编码器或 ANN 索引。重排序则不同——它只需要处理检索返回的 top-k(通常 k=50 到 200)个候选,因此可以使用计算量更大但更精确的方法。从 2020 年 Lewis 等人的一篇开创性论文,到 2026 年遍布各行各业的成熟基础设施,RAG 技术走过了令人瞩目的演进之路。从静态到动态:RAG 从离线批处理的固定流水线,走向在线实时、智能体自主决策的动态系统。从简单到复杂。

2301_79938092的博客 1201

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Github 20.3K! LightRAG:极简之道,让大模型“秒懂”你的知识库

LightRAG 是由香港大学数据智能系统实验室(HKUDS)开源的 轻量级检索增强生成框架,专注于把大型语言模型(LLM)与外部知识库高效、可扩展地结合在一起。

2301_81888214的博客 1151

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

自然语言处理的技术演进与核心任务

从早期的规则与统计方法,到以神经网络为代表的深度学习方法,再到当前以大规模预训练语言模型为主导的范式,这一领域发生了深刻变化。早期的自然语言处理高度依赖人工编写的语言规则与词典,虽在受限场景可用,却难以覆盖语言的开放性与多样性。这种先通识后专精的范式,使自然语言处理从分散的小模型走向统一的能力底座,也催生了对话、写作、摘要等丰富应用。对话系统把理解与生成结合,在上下文中持续回应。这类能力极大提升了内容生产的效率,但也带来事实准确性与原创性的挑战,需要配合检索与人工审核,避免流畅却失实的表达误导读者。

renhongxia1的博客 514

总结1:大语言模型概述

AI是什么 → AI发展从1.0到2.0的演变 → 什么是大语言模型LLM → 市面上常见大模型介绍 → 大模型各行各业落地应用 → 大模型未来趋势与现存挑战、解决办法

xiaobaivera的博客 399

港大 RosettaSim 让语言模型学会长时交通仿真(ECCV 2026)

在验证集 2% 子集、骨干冻结及单个 epoch 的训练预算下,Qwen2.5-0.5B-Instruct 的综合分数达到 0.7620,优于 Llama-3.2-1B-Instruct 的 0.7594、TinyLlama 的 0.7397 和 GPT-2-Small 的 0.5425。SMART 和 CAT-K 的行为整体分数较高,而 RosettaSim 在持续补充新参与者的同时,取得了更好的交通流表现与综合分数。在常见的短时设置中,模拟器主要关注初始场景里的参与者,预测它们接下来如何运动。

soaring_casia的专栏 116

11.04 大语言模型研究简报:OpenAI 工程 Agent 在 BenchCAD 2.0 上达到 0.875 分

大型语言模型的应用场景正在从代码编写延伸至真实的工程设计。2026 年 11 月 3 日,OpenAI 发表《Accelerating engineering for the physical world》,介绍 GPT-6 Astra 与 Codex 在机械设计、计算机辅助设计(CAD)、印刷电路板(PCB)设计、有限元分析(FEA)及制造工作流中的应用。

qq_48717745的博客 430

论文 | WebCopass:面向代码语言模型的多模态Web编码评估 | 多模态网页编码评估基准

WebCompass:面向代码语言模型的多模态Web编码评估多模态基准测试平台完整的 lifecycle:生成-编辑-修复用任务感知评估方法,需要强大的功能推理能力,还深入的视觉设计理解和更高的输出一致性。代码生成评估流程图:流程:模型上下文协议(MCP)对真实浏览器的控制。

weixin_42479421的博客 109

新书预告 从《Transformer与大语言模型》到《LLM量化实战》

《Transformer 与大语言模型》完结,新系列《LLM 量化实战》启动。上一本解析“为什么”设计大模型,本册聚焦“怎么”让模型变小变快——从FP16到4-bit量化,详解GPTQ、AWQ、QLoRA、GGUF等技术,结合RTX 4090实测,手把手教你压缩模型、降低显存、部署推理。适合想在8GB~24GB显存设备上运行7B/70B模型的开发者与工程师。原理+实战双线并进,只写真实跑通的结果。

AI服务生活 337

【字节拥抱开源】Cola2:用连续隐变量重构语言模型,346B Token 跑出 60.10 八任务均分

Cola2 是一款基于连续隐变量的自适应语言模型,通过动态语义压缩与块因果扩散 Transformer(DiT)实现高效生成。它在346.03B token上训练,八项评测平均得分60.10,性能超越部分更大规模模型。其核心创新在于联合优化隐变量压缩与离散解码,支持受控扩展与稳定推理。项目提供完整权重、工具链及评测数据,适用于研究与应用。

weixin_41446370的博客 285

总结2:大语言模型入门

我用开一家AI小餐馆做整套比喻: 把大模型想象成一家餐馆,大语言模型就是餐馆本身;训练原理就是装修、培训后厨;使用技巧是顾客怎么点菜才能吃到合心意的菜;解决幻觉就是避免后厨瞎编菜品;Agent智能体是雇来的全能店长;模型生态就是选后厨是自研(开源)还是外包(闭源),以及调整后厨规模大小。下面按顺序梳理,每个专业术语配一句话解释+生活化例子。

xiaobaivera的博客 738
上一篇: LangChain + Milvus组合拳,从零搭建一个 LLM 应用,大模型入门到精通,收藏这篇就足够了!
下一篇: 万字探讨:如何成为一名 AI 产品经理?大模型入门到精通,收藏这篇就足够了!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值