之前自己用OpenCode开发了一个本地知识库助理,但是有一个困扰的问题:多跳检索推理。不解决这个问题,本地检索相关内容时总是不尽人意。
举个栗子:假设知识库里有三份独立文档:
文档 1:“2023赛季,曼城足球俱乐部签下了多特蒙德的中场贝林厄姆。”
文档 2:“瓜迪奥拉自2016年起担任曼城足球俱乐部的主教练。”文档 3:“2025年,瓜迪奥拉不再续约曼城,转而去了英格兰国家队。”
**用户提问:**签下了贝林厄姆的俱乐部,其主教练后来去执教了哪支队伍?
传统的向量知识库的检索方式,全文+向量+重排,就是使用关键词去匹配,尽管有语义相似性的比较,可以匹配到文档1和文档2,但绝对匹配不到文档3。
因为:文档3里没有出现【贝林厄姆】【俱乐部】【主教练】【执教】【队伍】,也无法通过语义进行关联。
0****1
大模型的答案
那么怎么解决呢?
我们看大模型的回答:
很显然,大模型给出的答案是需要用到知识图谱,需要完成多步推理才可以给出正确答案。
0****2
知识图谱
要解决这个问题也很简单,就是把文档的各个实体、属性、关联关系表述出来,然后在检索的过程沿着实体的关系一个个查出来即可。
这就是知识图谱干的事情,微软发布的GraphRAG(Graph-based Retrieval-Augmented Generation)一种由实体(如“人物”“产品”)和关系(如“关联”“因果”)构成的结构化网络。它不仅能检索孤立的事实信息,还能主动抽取、整合实体间的复杂关联,实现跨多数据源的“多跳推理”(如从“A关联B”“B关联C”推导出“A与C的间接关系”)。
但是问题来了,本地要搭建这么一个知识图谱太重了,需要大量、频繁的进行LLM调用,速度非常慢,成本非常高;新数据进行更新合并时,需要对整个知识图谱进行更新;如果语料内容关系稀疏的则应用效果一般。在README中也有醒目的提醒:
⚠️警告:GraphRAG 索引可能是一个昂贵的操作,请阅读所有文档以了解所涉及的过程和成本,并从小处着手。
目前而看,GraphRAG更适合用在资源充足、数据庞大、内容垂直度高的成熟的企业重量级场景。
那么有没有更轻量级的替代呢?答案是有的,它来了,就是标题中的LightRAG。
0****3
LightRAG应用实战
话不多说,我们先实战。
安装
安装很简单,通过github安装指引一步步操作即可。
uv tool install "lightrag-hku[api]" ## 构建前端代码 cd lightrag_webui bun install --frozen-lockfile bun run build cd .. # 配置 env 文件 cp env.example .env # 启动(先配置.env) lightrag-server启动
首先配置下大语言模型和嵌入模型
#大语言模型 LLM_BINDING=openai LLM_MODEL=gpt-4o LLM_BINDING_API_KEY=你的API_KEY #嵌入模型 EMBEDDING_BINDING=ollama EMBEDDING_MODEL=bge-m3:latest EMBEDDING_BINDING_HOST=http://localhost:11434 EMBEDDING_DIM=1024启动后,显示如下:
打开WebUI界面:
http://localhost:9621/webui/
准备测试
为了验证lightRAG能否成功找到答案,我们通过大模型生成测试文档,要求大模型生成2000字左右的文本内容,其中需要包含上述主要的文字,但是特别要求不能在第三份文档中出现问题中的关键字,以防止知识库直接检索关键字就能找到答案。
文档1
文档2
文档3
上传解析
查看知识图谱
检索验证
知识库成功找到隐藏的关系,并且给出了正确答案,甚至将引用的文件都列出来了,堪称完美。
0****4
LightRAG功能预览
在Web UI上完成文档上传/批量导入
后台会自动对文档做切分/嵌入/图谱构建
支持增量更新:无需重建整个库,就能合并新文档
支持多种文档格式:如PDF、Word、Markdown 等
在Web UI中直接输入用户问题,系统会返回答案 + 支持来源
通过 API 接口调用,向/query 或类似endpoint 发送问题
支持多种检索缓存策略:如 naive、local、global、hybrid、mix 等混合模式
部分示例代码中支持流式响应/模型兼容接口(如OpenAI 兼容路径)
此外,LightRAG还内置知识图谱可视化模块,可在UI上看到节点、子图、关系等结构信息,点击图谱节点就可以显示具体的节点信息,项目还提供lightrag_visualizer工具可以用于3D图谱展示等。
0****5
LightRAG整体架构
1. 基于图的文本索引构建
文档分块与实体提取
将长文档切分为更小、更易管理的片段,避免全篇分析的算力消耗。
键值对(K-V)生成
利用 LLM 为提取出的实体和关系生成键值对。其中,“键(Key)”作为高效的检索索引,“值(Value)”则是基于原文生成的摘要或详细描述,用于辅助后续的内容生成。
图谱去重与优化
自动识别并合并来自不同片段的重复实体与关系,有效缩减图谱规模,降低图操作的计算开销,提升数据处理效率。
2. 增量更新机制
无缝集成新数据
采用增量更新算法,当引入新的外部数据时,系统只需对新数据进行相同的图索引处理,并将其与现有图谱合并(取节点与边的并集)。
3. 双层检索范式(Dual-level Retrieval)
- 低级检索(Low-Level Retrieval)
适用场景
特定查询(Specific Queries)。这类查询以细节为导向,旨在获取具体事实(例如:“谁担任曼城足球俱乐部的主教练”)。
检索逻辑
侧重于精确匹配,专注于检索特定实体及其关联的属性或关系,从图中提取关于特定节点或边的精确信息。
- 高级检索(High-Level Retrieval)
适用场景
抽象查询(Abstract Queries)。这类查询更具概念性,涉及广泛的主题、总结或全局趋势,不直接针对单一实体(例如:“知识检索的新趋势?”)。
检索逻辑
侧重于宏观聚合,通过跨多个相关实体和关系收集信息,提供对更高级别概念和主题的深刻洞察,而非局限于具体细节。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~