Claude Code + LightRAG = 强到无敌

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00关于 RAG 已死的言论被大大夸大了。
00:00:03是的,我知道像 Opus 4.6 这样的大型语言模型
00:00:05最近在处理超长上下文方面变得更强了。
00:00:09但如果你认为这意味着你再也不需要 RAG,
00:00:12你将会撞上一堵墙,
00:00:14那是光靠提示词(Prompt)无法解决的。
00:00:16所以今天我要解释你何时需要 RAG,
00:00:19以及在 2026 年什么样的 RAG 方案才真正奏效,
00:00:22因为过去一年里,这个领域发生了翻天覆地的变化。
00:00:25我还会向你展示如何将 Claude Code
00:00:28连接到你的 RAG 系统,
00:00:30并教你一些可以学以致用的技能。
00:00:32所以今天的目标是带你构建这个:
00:00:35一个基于 LightRAG 的 GraphRAG(图增强检索)系统,
00:00:38我们可以配合 Claude Code 使用。
00:00:40更重要的是,这会为我们提供一个系统,
00:00:43让我们在需要利用 AI 处理
00:00:45海量、庞大的文档库时大显身手。
00:00:49不仅仅是 5 个或 10 个文档
00:00:51像你在演示中看到的那样,
00:00:52而是 500 个、1000 个文档。
00:00:55因为仅仅依赖 Claude Code
00:00:57或任何其他 LLM 自带的上下文窗口是不够的。
00:00:59因为当规模变得极大时,
00:01:01无论是在许多大型企业
00:01:03还是小型企业中都能见到这种情况,
00:01:05拥有这样的 RAG 系统实际上比标准的
00:01:06智能体全局搜索(Agentic Grep)更便宜、更快。
00:01:10考虑到这一点,
00:01:12掌握创建此类 RAG 系统的技能
00:01:13非常重要,
00:01:14幸运的是,它其实相当简单。
00:01:16正如我刚才提到的,
00:01:18我们今天将使用 LightRAG。
00:01:19这是一个我非常喜欢的开源项目。
00:01:21它已经存在一段时间了,
00:01:25并且一直在不断更新迭代。
00:01:26它能够以极低的成本
00:01:28与微软等公司更复杂的
00:01:30GraphRAG 系统一较高下。
00:01:32所以,如果你以前从未用过 GraphRAG,
00:01:35它是测试这些概念的绝佳选择。
00:01:37但为了充分发挥 LightRAG 的威力,
00:01:40我们需要从底层理解 RAG 的运作方式,
00:01:43因为 RAG 的技术格局已经变了。
00:01:46我们在 2024 年底和 2025 年初所做的,
00:01:48被称为 Naive RAG(朴素 RAG),也就是最基础的 RAG。
00:01:51还记得那些 n8n 自动化流程吗?
00:01:54比如“让我们把数据存入 Pinecone 或 Supabase”。
00:01:56那就是 Naive RAG。
00:01:58那一套现在已经行不通了。
00:02:00它无法满足现在的需求。
00:02:02我们必须使用更复杂的 RAG 版本,
00:02:03但我们首先需要理解基本原理。
00:02:06所以在深入研究 LightRAG 配置之前,
00:02:08让我们快速复习一下什么是 RAG
00:02:12以及它是如何工作的。
00:02:14RAG,即检索增强生成(Retrieval Augmented Generation)。
00:02:18它的工作原理是:首先
00:02:20从某种文档开始,对吧?
00:02:22在一个强大的 RAG 系统中,
00:02:25你会有成千上万个这样的文档。
00:02:27但接下来发生的是,我有一份文档
00:02:29想要存入我的 RAG 系统,
00:02:31存入一个向量数据库中。
00:02:34其实,文档并不是
00:02:38直接被扔进这个数据库里的,
00:02:40就像 Google Drive 系统那样。
00:02:41文档会经过一个嵌入模型(Embedding Model),
00:02:44然后被转化为一个“向量”。
00:02:46更进一步说,
00:02:47文档并不是作为一个整体存入的。
00:02:50它会被切分成块(Chunking)。
00:02:51想象我们有一份单页文档,
00:02:54它被切分为块 1、块 2 和块 3。
00:02:59其中的每一块都会变成向量,
00:03:03也就是图上的一个点,
00:03:05向量数据库中的一个坐标点。
00:03:06嵌入模型负责为我们执行这个切块过程。
00:03:09它负责处理这份文档,
00:03:11理解它的核心内容,
00:03:13然后将其转化为图上的一个坐标点。
00:03:16所以,文档被切块,
00:03:18通过嵌入模型处理,
00:03:20然后我们的文档就变成了图上的一个向量。
00:03:24现在,这是一个三维图。
00:03:27但在现实中,它是成千上万维的,
00:03:30不过现在就把它想象成三维图吧。
00:03:33现在,假设这份文档是关于“战舰”的。
00:03:36好,每个向量都被转化为
00:03:39关于战舰的内容块。
00:03:40那它会存放在哪里呢?
00:03:41显而易见,它会放在“小船”和“船只”旁边,
00:03:43成为它自己的一个小向量。
00:03:45所谓向量,我的意思是,
00:03:46它被赋予了一系列代表它的数字。
00:03:50你可以在这边的“香蕉”示例中看到。
00:03:53“香蕉”是 0.52, 5.12, 9.31 等等。
00:03:57这种数字会有成千上万个。
00:04:00所以我们这边的小船就是 1, 2, 3,
00:04:05点点点,以此类推。
00:04:07很简单。
00:04:08显然,它不会排在香蕉和苹果旁边,
00:04:10但这就是文档到嵌入的过程,
00:04:14以及切块处理。
00:04:15现在,假设你在这儿,好吗?
00:04:18你是我们这儿快乐的小家伙,
00:04:20你问了大型语言模型
00:04:21一个关于战舰的问题。
00:04:24那么,在 RAG 系统的情境下,那个问题
00:04:27也将被转化为一个向量。
00:04:30你的问题,LLM 会扫视一遍,
00:04:34并为它分配一系列数字,
00:04:35这些数字同样对应于数据库中
00:04:38的某个向量,明白吗?
00:04:41它要做的是对比
00:04:43你的问题向量
00:04:45与图中其他向量的差异。
00:04:49它在寻找所谓的“余弦相似度”,
00:04:51但它实际在说的是:
00:04:53“嘿,这个问题是关于这个的。”
00:04:55“我们分配了这些数字。”
00:04:56“哪些向量离它最近?”
00:04:58“哪些数字与该问题最接近?”
00:05:00嗯,那会是关于战舰的那一个,
00:05:02可能还有关于小船和船只的。
00:05:04所以它现在会检索所有这些向量
00:05:08以及它们包含的信息,
00:05:10并用这些信息来增强为你生成的答案,
00:05:13这就是“检索增强生成”。
00:05:16因此,大型语言模型不再是
00:05:17单纯依赖其训练数据,
00:05:19而是能够进入向量数据库,
00:05:22抓取相关的向量,
00:05:24带回它们并给出关于战舰的答案。
00:05:27这就是 RAG 的工作原理,对吧?
00:05:29文档摄取,内容块转化为向量。
00:05:32将向量与提出的问题进行对比,
00:05:35取回最接近的内容,大功告成,这就是 RAG。
00:05:39但那是 Naive RAG(朴素 RAG),
00:05:40实际上它的效果并不怎么好。
00:05:44所以,比你我更聪明的人
00:05:46想出了更好的方法,
00:05:49即混合搜索、GraphRAG 和智能体 RAG。
00:05:53我们今天重点关注的是 GraphRAG。
00:05:55GraphRAG 遵循相同的流程。
00:05:57你仍然会有那份文档。
00:05:58它仍然会被切块。
00:05:59它仍然会被放入这个扁平的向量数据库中,
00:06:03但它还会做另外一件事。
00:06:05它还会创建一个知识图谱。
00:06:07它会创建这个神奇的东西。
00:06:08那这些都是什么呢?
00:06:09所有这些向量和线条代表什么?
00:06:11这到底意味着什么?
00:06:12其实,所有这些向量,这些小圆圈,
00:06:14就是所谓的“实体(Entities)”。
00:06:17而连接两个实体的线条
00:06:21被称为“边(Edge)”或“关系(Relationship)”。
00:06:23回到我们的文档例子,
00:06:25假设这份文档是关于 Anthropic 和 Claude Code 的。
00:06:28被提取出的整个内容块写着:
00:06:31“Anthropic 开发了 Claude Code”。
00:06:35它会提取这段话并将其拆解
00:06:36为实体和关系。
00:06:38那两个实体是什么?
00:06:39实体将会是
00:06:41Anthropic 和 Claude Code。
00:06:44关系则是“Anthropic 开发了 Claude Code”。
00:06:48所以你在这儿有 Anthropic,
00:06:51在那儿有 Claude Code。
00:06:54你可以看到这是一个实体,那也是一个实体,
00:06:58它们之间存在某种关系。
00:06:59在可视化的图谱上,它只是一条线,
00:07:03但在底层的代码逻辑中,
00:07:05这两个实体之间的那条线
00:07:08关联着一堆文本内容,
00:07:10用来解释它们的关系。
00:07:11而在 GraphRAG 系统中,
00:07:13它会为你添加的每一份文档都执行此操作。
00:07:16想象一下这个过程重复一千份文档。
00:07:19这是只有 10 份文档时的样子,
00:07:21已经有了这么多关系和实体。
00:07:24你可以想象这比一堆
00:07:26孤立在向量数据库中的随机向量
00:07:28要复杂得多。
00:07:30有了像 LightRAG 这样的系统,
00:07:33我们既能得到知识图谱的创建,
00:07:35也能得到标准的向量数据库。
00:07:38它并行地完成这两件事。
00:07:40因此,当你现在向大型语言模型
00:07:43提出任何问题时,
00:07:45它不仅会提取它找到的
00:07:47最接近的特定向量,
00:07:49还会深入到这里查看实体。
00:07:54比如你询问关于 Anthropic 的事。
00:07:56那么现在它会遍历各种关系
00:07:59和连接边,并找到所有它认为相关的内容。
00:08:03对于作为用户的你来说,
00:08:06使用 GraphRAG 系统意味着
00:08:08通过 Graph RAG 系统,我如今可以
00:08:11提出更深入的问题,而不仅仅是针对某份文档
00:08:13本质上只是在进行各种意义上的
00:08:15关键词搜索。
00:08:17我现在可以询问不同的文档、理论
00:08:19以及不同的想法之间是如何相互关联的,
00:08:21因为这些关系已经被映射出来了,对吧?
00:08:24这就是它的核心所在。
00:08:25它是关于提取零散的信息并将其连接起来。
00:08:30这就是 Graph RAG 的力量。
00:08:32这就是 LightRAG 的力量。
00:08:33这也是我们今天要学习的内容。
00:08:35安装和使用 LightRAG
00:08:37可以随你心意一样简单。
00:08:40我会向你展示最简单的方法,
00:08:42也就是直接使用 Claude Code。
00:08:44我们会把 LightRAG 的 URL 给它,
00:08:48然后说:"嘿,帮我们把这个设置好。"
00:08:50它基本上会完成所有工作。
00:08:52在这种情况下,我们只需要准备几样东西。
00:08:55就像你在 RAG 运作流程分解中看到的那样,
00:08:58我们需要一个嵌入模型。
00:08:59这需要一个 API。
00:09:02我建议使用 OpenAI。
00:09:04他们拥有非常有效的嵌入模型。
00:09:07所以你需要一个 OpenAI 的密钥。
00:09:09使用 LightRAG,你确实有能力
00:09:11将其完全本地化。
00:09:14所以你可以通过 Ollama 拥有一个本地模型
00:09:17来处理所有像嵌入分解之类的事情,
00:09:20以及问答环节。
00:09:21所以请知晓这也是一个选项,即实现完全本地化。
00:09:24我们要采用的是一种折中方案。
00:09:25我们将设置一个 OpenAI 嵌入模型
00:09:28以及实际执行所有工作的模型。
00:09:31然后我们还需要 Docker。
00:09:34如果你以前从未用过 Docker,
00:09:35它的设置非常简单。
00:09:36你只需要下载 Docker Desktop,
00:09:39安装它并保持运行,
00:09:41当你运行 LightRAG 时,
00:09:42因为它需要一个容器。
00:09:45现在你要做的就是
00:09:46打开 Claude Code
00:09:47然后说:克隆 LightRAG 仓库,
00:09:50编写针对 OpenAI 配置的 .env 文件,
00:09:53使用 GPT-4o mini 和 text-embedding-3-large,
00:09:56使用所有默认的本地存储
00:09:58并使用 docker-compose 启动它,
00:10:00然后给出 LightRAG 的链接。
00:10:02如果你这样做,它会为你处理好一切。
00:10:06我会把这个提示词放在免费的 School 社区里,
00:10:10链接就在简介中。
00:10:12另外,那里还会提供
00:10:13我稍后会展示给你们的一些
00:10:15与 Claude Code 和 LightRAG 相关的技能,
00:10:17以便更轻松地通过 Claude Code 进行控制。
00:10:19所以你也可以在那里找到这些内容。
00:10:22你应该已经预料到了。
00:10:22说到我的 School,
00:10:24快速为 Claude Code 大师课打个广告,
00:10:25这是从零开始成为 AI 开发者的头号途径,
00:10:28特别是如果你没有技术背景,
00:10:31链接在置顶评论中。
00:10:33我几乎每周都会更新内容,
00:10:35在过去的两个星期里,
00:10:36我已经增加了大约一个半小时
00:10:38的额外内容。
00:10:39所以如果你真的想
00:10:40精通 Claude Code 和通用 AI,
00:10:42一定要去看看。
00:10:44但还是那句话,如果你是新手,觉得这些太复杂,
00:10:46一定要去看看那个免费 School,
00:10:47那里有大量适合新手的
00:10:49优秀资源。
00:10:50在你运行这个之前,
00:10:51只需确保 Docker Desktop 正在运行,
00:10:53准备好 OpenAI 的密钥,
00:10:55然后让 Claude Code 开始工作。
00:10:56一旦 Claude Code 完成安装,
00:10:58并且你在 .env 文件中添加了 OpenAI 密钥,
00:11:01你应该会看到类似这样的内容。
00:11:02首先,在你的 Docker Desktop 上,
00:11:04你应该能看到一个名为 LightRAG 的容器正在运行。
00:11:07然后 Claude Code 应该也会给你一个
00:11:11本地主机的链接,端口应该是 9621。
00:11:13它会带你进入这样一个页面。
00:11:15这就是 LightRAG 的 Web 用户界面。
00:11:18在这里我们可以上传文档、
00:11:21查看知识图谱、检索内容,
00:11:24我们还可以查看
00:11:25所有不同的 API 端点,
00:11:28这在以后会派上用场。
00:11:30你在这里看到的是我为这个视频
00:11:31上传的文档。
00:11:33上传文档非常简单。
00:11:35我们只需要点击右边的
00:11:36“上传 (Upload)”,然后把文件拖进去。
00:11:39但请注意,只有某些类型的文档
00:11:42是可以放进来的,对吧?
00:11:43文本文件、PDF,基本上
00:11:46仅限于文本类文档。
00:11:49当然,也有绕过这个限制的方法,
00:11:51也就是处理图像、图表和表格
00:11:56之类的内容。
00:11:57我们会在最后讨论这个,
00:11:59因为它稍微超出了目前的范围,
00:12:00但我们会学习它。
00:12:02所以把你想要的任何文档拖到这里,
00:12:04然后你就能看到
00:12:07它们的上传状态。
00:12:08这需要一点时间,因为同样地,
00:12:10它在上传的同时正在构建知识图谱。
00:12:12所以这个过程可能会花些时间。
00:12:14如果你出于某种原因在知识图谱页面上,
00:12:16这种情况偶尔会发生,页面显示
00:12:18“嘿,加载失败”之类的,
00:12:19你只需点击左上角的
00:12:21这个按钮来重置它。
00:12:23如果你来到“检索 (Retrieval)”选项卡,
00:12:25你就可以向大语言模型
00:12:27询问关于你知识图谱的问题,
00:12:30在这里大模型很可能是 OpenAI,
00:12:31如果你在嵌入时使用了同一个密钥。
00:12:33右边这里有一些参数。
00:12:36说实话,刚开始并没有太多需要更改的。
00:12:39稍后我会向你展示 Claude Code 是如何处理的。
00:12:42当你提出问题时,比如,
00:12:44我放了一堆关于 AI 和 RAG 的文档在里面。
00:12:47我问:"嘿,2026 年运行 RAG 的
00:12:48完整成本估算是怎样的?"
00:12:50它给了我一个相当专业的回答。
00:12:53最重要的是,它还为你提供了
00:12:56它所做一切的引用参考,对吧?
00:12:57看这里的 4、3、2,
00:13:00因为在页面底部,
00:13:01它实际上会列出
00:13:03它抓取的文档参考资料。
00:13:05显然在我们的知识图谱中,对吧,
00:13:07我们解释了实体和关系。
00:13:09如果我点击其中一个实体,比如 OpenAI,
00:13:12我可以查看它的一些属性。
00:13:14所以 LightRAG 在嵌入过程中不仅仅是
00:13:17提取关系和实体。
00:13:19它实际上会更深入一步,它会识别
00:13:20“好,这是什么类型的实体,对吧?
00:13:22是一个组织还是一个人?”
00:13:25它关联了抓取的具体文件
00:13:27以及分块 ID。
00:13:29然后你可以在右下角
00:13:31看到实际的关系。
00:13:32我先把它移开一下。
00:13:33就在右下角这里,
00:13:35如果你视觉上看不清,
00:13:36因为图谱上可能会显得很拥挤,
00:13:40你其实可以直接点击这里,
00:13:41它也会带你找到它们。
00:13:43我们要使用的就是这个服务器 API
00:13:46来将这个东西连接到 Claude Code。
00:13:48因为尽管这个界面很棒,
00:13:50但我并不会在每次
00:13:51想通过检索选项卡询问
00:13:53关于我知识图谱的问题时都坐在这里。
00:13:56那太麻烦了。
00:13:57所以相反,我们将使用这些 API。
00:14:00现在,每一个 API,对吧,
00:14:03都有描述,你可以看到参数之类的内容,
00:14:05每一个 API 都可以被转化成一个“技能 (Skill)”,对吧?
00:14:08这就是我今天准备展示给你们看的内容。
00:14:11这样,当你想要 Claude Code 使用 LightRAG 时,
00:14:15我们只需在 Claude Code 的任何地方,
00:14:17说:"嘿,我想使用 LightRAG 查询技能
00:14:19并询问问题,省略号省略号。"
00:14:22这和你在这里使用
00:14:23检索选项卡提问的效果是一样的。
00:14:26更好的是,Claude Code 会获取它给你的回答
00:14:28并进行总结,
00:14:30因为在 LightRAG 中,这些回答
00:14:32一开始可能会非常详尽。
00:14:34但如果你只想要原始答案,
00:14:36你也可以那样设置。
00:14:37重点是,虽然它有一个 Web 用户界面,
00:14:40但如果你不想用,你完全不必
00:14:41与它进行交互。
00:14:42而且把它引入到我们的
00:14:44Claude Code 生态系统中也非常容易。
00:14:46我认为你最常用的四大核心技能是
00:14:48查询、上传、探索和状态。
00:14:51这四项也都会包含在免费 School 中。
00:14:55但你平时主要会做什么呢?
00:14:56你会不断添加新文档
00:14:58并针对这些文档提出问题。
00:15:01你可能还想知道,
00:15:02"嘿,我到底往里面放了什么?"
00:15:04因为当你有了大量文档后,
00:15:05你会想避免重复放入
00:15:07同一个文档。
00:15:08所以如果我在 Claude Code 内部问同样的问题,
00:15:12我刚刚调用了 LightRAG 查询技能,
00:15:14它正在将请求发送给 LightRAG,
00:15:18它同样托管在我们的电脑上,
00:15:21运行在那个 Docker 容器中,
00:15:22然后它会将响应返回。
00:15:24现在,你并不局限于这种半本地系统。
00:15:28如果你是那种需要大规模扩展
00:15:30LightRAG 的用户,你可以将其托管
00:15:33在标准的 Postgres 服务器上。
00:15:36你有许多选择,比如可以使用 Neon。
00:15:38所以它的适用范围非常广。
00:15:40你可以完全走本地路线,或者如果你愿意,
00:15:43也可以将所有这些推送到云端。
00:15:44LightRAG 的可定制化程度非常高。
00:15:46这是 Claude Code 返回的响应,
00:15:48同样,它是对 LightRAG 给我们的
00:15:52原始响应的总结,并且它还引用了来源。
00:15:55我还向它索要了原始响应,
00:15:57因为你也可以获取到那个,
00:15:58因为它只是以 JSON 响应的形式
00:16:00传回给 Claude Code。
00:16:02所以这就是全部内容。
00:16:04而且,如果你需要,它也提供了参考资料。
00:16:07正如你刚才所见,安装 LightRAG 非常简单,
00:16:10将其集成到你的 Claude Code 工作流中也非常容易。
00:16:14现在问题来了,“好吧,Chase,听起来不错。”
00:16:18“我从概念上理解了,如果我有大量文档,”
00:16:20“我或许应该使用这个。”
00:16:22“那么,界限在哪里呢?”
00:16:23“我什么时候该开始集成 LightRAG 呢?”
00:16:26嗯,这并没有一个精确的数字。
00:16:28灰色地带大约是在 500 到
00:16:332000 页文档之间。
00:16:36我不想只说“文档”,
00:16:37因为谁知道那些文档有多大,
00:16:39大概是 500 到 2000 个文本页。
00:16:42到了 2000 页的时候,你已经开始
00:16:44接近 100 万个 token 了。
00:16:47超过这个量级,毫无疑问
00:16:50开始集成 LightRAG 是非常有意义的,
00:16:52因为按照 RAG 的架构设定,
00:16:54这样做会比单纯依赖
00:16:57Claude Code 的标准 grep 搜索更便宜、更快速。
00:17:00Agent 化的 grep,即 Claude Code 现有的
00:17:03文件搜索方式已经很出色了。
00:17:04Claude Code 选择这种方式是有原因的。
00:17:07然而,那并不是建立在你拥有 2000 页、
00:17:124000 页或 5000 页文档的假设之上的,对吧?
00:17:14它有一个上限。
00:17:16好在你不必非得现在就
00:17:19死板地做决定,正如你所见,
00:17:22实现这个功能非常容易。
00:17:24所以,尽管去尝试吧。
00:17:26如果你觉得文档太多了,并且在想:
00:17:28“嘿,我们这时候是不是该用 RAG 了?”
00:17:30我也不确定,试一下就知道了。
00:17:32这花不了多少时间。
00:17:34最痛苦的部分是嵌入(embedding)过程。
00:17:36那确实需要一点时间,但也不至于让人崩溃。
00:17:40而且成本并不夸张,尤其是使用 LightRAG。
00:17:43如果你把它与其他 GraphRAG 系统
00:17:45(如微软的 GraphRAG)相比,
00:17:48它的成本只是极小的一部分。
00:17:49而在处理海量文档时,
00:17:52使用 RAG 与使用 grep 之类工具的
00:17:56成本差异高达一千倍。
00:17:58去年夏天有一项研究
00:18:04表明,在那些情况下使用 RAG
00:18:07要便宜 1250 倍。
00:18:08你可以在这里看到文本 RAG
00:18:10对比文本大模型的成本以及实际响应时间。
00:18:14坦白说,这是去年七月的数据。
00:18:19所以模型已经发生了变化。
00:18:20我高度怀疑现在将 RAG 与标准
00:18:23文本处理情况对比时,差距是否依然如此惊人。
00:18:26而且那当时还是 Gemini 2.0。
00:18:28我们当时还没讨论过测试基准。
00:18:29所以很多事情都变了,
00:18:31但这种变化是否足以弥补 1250 倍的差距?
00:18:36也许吧,也许没有。
00:18:39我不这么认为。
00:18:40不管怎样,试试看。
00:18:42我觉得没什么损失。
00:18:44关于 LightRAG 的另一个想法是,
00:18:46嘿,如果我想上传文档,
00:18:48我们之前稍微聊过这个。
00:18:49如果文档里有表格、图表等
00:18:53非文本内容,我们该怎么办?
00:18:54LightRAG 能处理这些吗?
00:18:57不完全能,但我们可以解决这个问题。
00:18:59答案就是使用 RAG-Anything,
00:19:02它出自 LightRAG 的同一批开发者之手。
00:19:04这本质上是一个可以实现多模态的工具。
00:19:07我们基本上可以把它直接
00:19:09插入到 LightRAG 之上。
00:19:10现在,我不想让你失望,
00:19:13但那将超出今天、
00:19:15超出今天视频的讨论范围。
00:19:17不过,在明天的视频里,
00:19:18你觉得我们会做什么?
00:19:19明天,我们将深入探讨 RAG-Anything,
00:19:22并展示如何将其
00:19:25集成到我们用 LightRAG 构建的系统中。
00:19:27所以这会是一套非常棒的组合拳。
00:19:28如果你对此感兴趣,
00:19:31请点赞并订阅,
00:19:32因为我们明天就会讲解它。
00:19:34说到这里,
00:19:35我们也准备收尾了。
00:19:39希望你们喜欢这个视频。
00:19:41这也是我第一次使用这套新相机设备拍摄。
00:19:43我已经能感觉到灯光
00:19:46还没有完全达到我想要的效果。
00:19:48所以为此向大家致歉。
00:19:49还在磨合中,
00:19:50只是庆幸它还能正常工作,
00:19:52而且相机在录制过程中没有过热。
00:19:55但是,所有的技能都在那个免费的 School 里。
00:19:58这些 RAG 的东西非常有趣,特别是 LightRAG。
00:20:01它一直是一个很棒的产品。
00:20:02我已经用了相当长一段时间了。
00:20:03说句心里话,
00:20:06而且正如你所见,它很容易就能
00:20:07集成到 Claude Code 中。
00:20:08所以请去免费的 School 查看这些技能,
00:20:12如果需要的话还有提示词。
00:20:14坦白说,
00:20:15如果你直接让 Claude Code 对接 LightRAG,
00:20:16它自己就能配置得很好。
00:20:19除此之外,
00:20:20如果你想参加那个大师班,
00:20:21记得关注 Chase AI Plus。
00:20:24我们回头见。

Key Takeaway

通过将 LightRAG 的图增强检索能力集成到 Claude Code 工作流中,开发者可以在处理超过 2000 页文档的大规模任务时,以低于标准搜索千倍的成本实现跨文档的深层关系分析。

Highlights

在处理超过 2000 页(约 100 万 token)的海量文档时,使用 RAG 系统比单纯依赖大模型的上下文窗口更具成本效益。

LightRAG 通过并行构建向量数据库和知识图谱,实现了比传统朴素 RAG 更深层次的关系检索。

在处理大规模数据集时,RAG 系统相比于标准的 Agentic Grep 搜索,成本差异最高可达 1250 倍。

GraphRAG 将文档拆解为实体(Entities)和边(Edge/Relationship),允许用户询问不同想法和理论之间的关联性。

通过 Docker 部署 LightRAG 并配合 OpenAI 的 text-embedding-3-large 模型,可以快速搭建高性能的本地化检索系统。

利用 Claude Code 的自定义技能(Skills)功能,可以直接在命令行中调用 LightRAG 的查询、上传、探索和状态 API。

Timeline

2026 年 RAG 技术现状与必要性

  • 大模型长上下文能力的提升并未取代 RAG 在处理超大规模文档库时的地位。
  • 当文档数量达到 500 到 1000 份时,专用 RAG 系统在速度和成本上优于大模型自带的上下文窗口。
  • 掌握构建高效 RAG 系统的技能对于处理企业级海量数据至关重要。

尽管 LLM 的上下文窗口不断扩大,但在面对真实业务中数以千计的文档时,光靠 Prompt 无法解决规模化问题。针对海量数据的检索增强生成不仅是技术补充,更是一种高性价比的解决方案。在 2026 年的背景下,简单的文件搜索已经无法满足复杂任务的需求。

从朴素 RAG 到 GraphRAG 的演进

  • 朴素 RAG 将文档切块并转化为向量点,通过计算余弦相似度检索相关信息。
  • 嵌入模型负责将文本转化为多维空间中的坐标,使语义接近的内容在物理位置上靠拢。
  • 传统的向量检索本质上是高级的关键词搜索,在处理复杂逻辑关联时效果有限。

2024 年至 2025 年初流行的朴素 RAG 流程通常涉及将数据存入 Pinecone 或 Supabase。这种方式依赖于将文本切分为 Chunk 并生成 Embedding,以此增强大模型的回答。然而,这种扁平化的检索方式无法理解文档深层的结构化逻辑,因此需要更先进的架构来应对。

GraphRAG 的核心机制与优势

  • GraphRAG 在向量数据库的基础上额外构建了一个由实体和关系组成的知识图谱。
  • 系统提取文档中的主客体作为节点,并将它们之间的逻辑关联定义为连接边。
  • 用户可以通过图谱检索跨文档的复杂联系,而不仅仅局限于单一文档内的相似内容。

GraphRAG 的威力在于它能映射零散信息之间的连接。例如,系统能识别出“Anthropic”和“Claude Code”这两个实体,并记录它们之间“开发”这一特定关系。这种结构化的方式让 AI 能够回答关于不同理论如何相互关联的深层次问题,超越了简单的相似度匹配。

使用 Claude Code 部署 LightRAG

  • 利用 Claude Code 自动执行克隆仓库、编写 .env 配置和启动 Docker 容器等一系列操作。
  • 推荐组合使用 GPT-4o mini 作为推理模型以及 text-embedding-3-large 作为嵌入模型。
  • LightRAG 支持通过 Ollama 实现完全本地化的部署方案,保障数据隐私。

部署过程可以通过给 Claude Code 一个简单的指令序列来完成,包括配置 OpenAI API 密钥和运行 docker-compose。对于没有技术背景的用户,Docker Desktop 提供了一个简单的容器化环境。这种配置方式兼顾了云端模型的性能与本地存储的灵活性。

LightRAG 管理界面与 API 集成

  • LightRAG 的 Web UI 支持文本和 PDF 格式的文档上传,并提供实时的可视化知识图谱查看功能。
  • 检索响应包含引用参考,指明了 AI 获取信息所依据的具体文档分块 ID。
  • 通过将 API 封装为 Claude Code 的“技能”,用户可以在终端直接进行查询和上传操作。

Web 界面虽然直观,但通过 API 集成到开发工作流中效率更高。核心技能包括查询(Query)、上传(Upload)、探索(Explore)和状态(Status)。这种集成允许 Claude Code 获取 LightRAG 的原始 JSON 响应并进行总结,从而在统一的命令行界面中管理海量知识库。

RAG 的应用边界与成本分析

  • 集成 RAG 的临界点通常位于 500 到 2000 页文本(约 100 万 token)之间。
  • 在大规模应用场景下,RAG 的响应成本比直接调用大模型长上下文便宜约 1250 倍。
  • 对于包含图表和表格的多模态文档,可以结合 RAG-Anything 工具进行处理。

尽管模型性能在不断迭代,但 RAG 在成本和速度上的巨大优势依然存在。研究表明,在处理极大量数据时,RAG 的效率远超标准的文本处理方式。虽然嵌入过程需要一定的成本和时间,但相比于频繁调用长上下文窗口产生的费用,这笔投入在长期来看极具优势。针对非文本内容的解析,开发者可以引入多模态扩展工具来完善系统。

总结与未来展望

  • LightRAG 是一个高定制化且低成本的开源 GraphRAG 替代方案。
  • 通过不断更新自定义技能和提示词,可以持续优化 Claude Code 的 AI 开发效率。
  • 多模态集成将是提升 RAG 系统理解能力的下一个关键步骤。

LightRAG 证明了即使是复杂的图增强检索也可以通过简单的工具链实现集成。未来的方向将集中在如何更好地处理图像、表格等复杂媒体。通过在社区分享具体的技能代码和提示词,用户可以更轻松地从零开始构建自己的 AI 知识库系统。

Community Posts

View all posts