news 2026/9/26 18:40:52

从RAG到Agent:AI应用开发核心模块拆解与实战避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从RAG到Agent:AI应用开发核心模块拆解与实战避坑指南

先从结论说起:如果你现在想入行或者正在做 AI 应用开发,别再纠结“我到底该先学 LangChain 还是先学 LlamaIndex”这种问题了,先把 RAG 和 Agent 这两条主线的核心模块吃透,比什么都管用。我见过太多人,一上来就追着最新框架跑,结果连最基本的检索链路都说不清楚,面试的时候一问一个准,直接被问穿。这篇文章我不跟你扯 roadmap 大而全的东西,就聚焦一个事儿:从 RAG 到 Agent,真正的 AI 应用开发到底是由哪些核心模块组成的,每个模块解决什么问题,以及你自己动手做的时候要注意哪些坑。

先说下这篇文章适合谁。如果你是刚接触 RAG 和 Agent 的初学者,这篇文章能帮你建立一张完整的地图,知道该往哪个方向使劲;如果你已经在做 Rag 项目或者 Agent 项目,那这篇文章里的架构拆分、模块边界、踩坑记录,能帮你把脑子里那些“模糊的感觉”变成可复用的方法论。如果你正准备面试,那就更好了,文末我会聊几个高频面试题,你对照着自查一遍,能少走很多弯路。

我自己做这块业务的感受是,市面上 90% 的教程都在给你讲“怎么调用 API”,但很少讲“为什么这个模块要这么设计”,以及“串联起来之后数据是怎么流动的”。而这些,恰恰是 AI 应用开发面试、实际项目中最重要的部分。所以下面我按自己的理解,把整个链路拆成了几个层次,一层一层剥给你看。

1. 内容整体设计与思路拆解

1.1 先搞清楚 RAG 和 Agent 不是并列关系,是递进关系

很多初学者会把 RAG 和 Agent 当成两个独立的方向去学,今天刷两个 RAG 项目,明天刷两个 Agent 项目,结果越学越乱。我自己也是从这条弯路走过来的,后来才慢慢意识到一个关键点:RAG 解决的是“让模型拥有你不知道的知识”,Agent 解决的是“让模型能帮你干活”。两者解决的问题完全不同。

用一个生活化的类比来解释,RAG 就像是给一个刚入职的新员工配了一套完整的公司档案库,他不懂的问题可以去档案库查资料,查完再回答你,所以他的回答永远是“有依据的”。而 Agent 更像是给这个员工配了手、脚和大脑的决策系统,他不仅能查资料,还能根据你的指令制定计划、调用工具、执行操作,比如帮你发邮件、查天气、订机票。你可以把 Agent 理解为“能行动起来的 RAG”,而 Agentic RAG 则是把两者的能力揉在一起,让 Agent 在行动的过程中,随时通过 RAG 获取所需的知识支撑。

所以学习路径上,我的建议是先打通 RAG 的完整链路,再去看 Agent。原因很简单:RAG 是 Agent 感知世界的重要途径之一,如果你连检索质量都做不好,那 Agent 后续的决策和行动就是建立在沙子上,一碰就碎。

1.2 从需求出发反向推导模块划分

我们再换个角度,从需求出发,看看一条完整的 AI 应用开发链路里,一定会出现哪些模块。不管你用什么框架,最终都绕不开下面这几件事。

  • 第一,你需要一个地方存放知识,这就是知识库的构建,涉及文档解析、切块、向量化、索引存储。
  • 第二,用户提问后,你需要从知识库里找到最相关的内容,这就是检索模块,涉及向量检索、关键词检索、混合检索、重排序。
  • 第三,模型需要基于检索到的内容生成回答,这就是生成模块,涉及 Prompt 模板设计、上下文管理、大模型调用。
  • 第四,如果这个应用不只是一个问答机器人,而是要完成一系列任务,那你需要任务规划与工具调用模块,这实际上就是 Agent 的核心能力,包括推理、规划、工具选择、多步执行。
  • 第五,不管是 RAG 还是 Agent,都需要有记忆模块来缓存历史对话或长期偏好。
  • 第六,最后还需要一套评测与可观测性体系,不然你根本不知道系统改得好不好。

你会发现,这套模块划分和具体选哪个框架是没有关系的,它是整个 AI 应用开发的通解。基于这套思路,接下来我逐一拆解每个模块的核心细节和实践要点。

2. 核心细节解析与实操要点

2.1 RAG 的命中率决定项目生死:切块与检索

很多人在 RAG 项目实战里最容易犯的错,就是把精力全放在调 Prompt 上,结果发现效果怎么也上不去。我跟你讲,大概率问题出在检索这一层,而且是切块这一步就已经埋下了雷。

先说切块。切块这事看着简单,实际上非常讲究。比如有个常见问题:**你们切块到底用固定长度还是用语义切块,chunk_size 和 overlap 怎么设?**这里面的门道不少。固定长度切块最简单,token 数设个 500 或者 1000,overlap 设个 50 到 100,就能跑起来,但缺点也很明显,容易把语义完整的段落拦腰截断。语义切块会更合理,按标题、段落、句子边界去切,但计算成本高,而且遇到排版混乱的 PDF 也会出错。

我个人的经验是,在项目初期用固定长度切块快速跑通链路,等发现问题后再针对特定文档类型优化切块策略。比如,对于结构化的技术文档,可以用 Markdown 标题级别来切,保留层级信息;对于 FAQ 类问答对,可以参考 Ontology RAG 的思路,一个问一个答就当成一个 chunk;对于长表格,你可能需要单独设计解析逻辑,不能简单按行切。

再说索引。索引存储这一层,你可以选择向量数据库(比如 Milvus、Qdrant、pgvector),也可以用传统数据库加向量插件,最关键的参数是 Embedding 模型的选择。Embedding 模型决定了“语义相似”这件事在你业务场景里准不准,常见的开源选择有 BGE 系列、M3E、text-embedding-ada-002。我在实测里的结论是,中文场景下 BGE 系列模型的效果通常比英文原版模型好,因为中文分词和语义表示本身就不同,你用训练英文数据为主的模型来跑中文检索,会明显感觉 top-k 结果不贴切。这块也可以做混合检索,同时跑向量相似度检索和关键词检索(比如 BM25),再用 RRF 或者重排序模型把结果合并,能有效提升召回率。

2.2 混合检索与重排序:从“能搜到”到“搜得准”

搜索和检索是 RAG 项目里最值得砸时间优化的一环。因为大模型本身是不知道答案的,你给它的检索结果如果是不相关内容,你再怎么调 Prompt 它也只能一本正经地胡说八道。

我在做 rag 实战的时候喜欢拆成两个阶段来看。第一阶段是召回,目的是“宁可多召回,不可漏掉关键信息”,所以一般使用向量检索配合关键词检索来做多路召回。第二阶段是重排序,目的是“把真正有用的信息顶到最前面”,因为大模型上下文窗口有限,你如果给 20 个 chunk 进去,既浪费 token 又容易让答案失焦。具体做法是在召回得到 20 到 50 个候选片段后,用一个轻量级重排序模型对片段逐一打分排序,最后只要 Top 5 到 Top 8 进入提示模板。这个操作在我的项目里实测下来非常稳,有时候相关度提升是跳跃性的,不用换模型,不用改 Embedding,就一个重排序层就能让答案质量跨一个台阶。

另外还值得注意的一点是,RAG 多轮对话怎么设计,这也是面试里高频出现的题目。很多人在多轮对话场景下做 RAG 时,直接把整段历史都塞进检索 query 里,结果检索出来的内容乱七八糟。更好的做法是拆两步:第一步先做对话改写,把“它多少钱”改写成“iPhone 15 Pro 的价格是多少”;第二步再用改写后的独立问句去做检索或召回。改写可以用大模型来做,也可以用规则处理,具体看你的成本和时延要求。

2.3 Agent 的五大核心模块逐个拆解

讲完了 RAG,下面进入 Agent。我在 agent 开发的过程中发现,Agent 系统拆来拆去,最终都会落到五个问题上:模型、规划、记忆、工具、执行。每一个如果你没想清楚,后面都要返工。

先说模型。这个没什么好讲的,作为 Agent 的大脑,它需要具备较强的推理能力,尤其是函数调用和结构化输出能力。如果模型本身不支持可靠的函数调用,那工具调度环节就会出现诡异 bug,你让模型输出一段 JSON,它非要夹带文字,那你不得不在解析层做一堆容错,处理引号、换行、多余逗号,整得跟考古一样。

然后是规划。规划这块的热门方案包括思维链、ReAct 框架、Plan-and-Execute 等。通俗地说,ReAct 是让模型边想边做,每一步先推理再行动;Plan-and-Execute 是先让模型生成一个完整计划,再一步步执行。这两种我都在项目里试过,经验是:任务简单、步骤固定的场景用 ReAct 反而更灵活;任务复杂、步骤明确的场景用 Plan-and-Execute 更可控。如果你用 Agent 框架,这些编排逻辑框架已经帮你封装好了,但你要理解底层在发生什么,不然出了问题根本不知道怎么排查。

接着是记忆。记忆分为短期工作记忆和长期记忆。短期工作记忆其实就是对话历史,比较推荐用消息列表的形式保存;长期记忆通常用向量库保存用户偏好、项目事实、历史决策等,在关键时刻检索出来注入上下文。注意事项是记忆模块要设置淘汰策略或者压缩策略,不然时间一长,上下文爆掉只是时间问题,token 成本也会蹭蹭往上涨。

然后是工具。工具是 Agent 连接外部世界的桥梁,你给 Agent 注册工具时,描述一定要写得足够清晰,因为模型决策调用哪个工具,靠的就是工具名和描述。你写“get_weather”肯定比写“查询天气接口封装”要好得多,前者模型一眼就知道用来干嘛,后者它可能真的理解不了。另外,工具的入参定义要严谨,能用 enum 限定取值就用 enum,能加描述就都加上描述,这会大幅提升函数调用成功率。

最后是执行。执行层本质上是 Agent 循环,模型决策调用工具、代码执行工具、拿到结果再喂回模型、模型再推理下一步,直到任务结束。这一块建议你从一开始就设计好最大迭代步数限制,防止 Agent 进入死循环烧钱。

2.4 Harness 与框架:别被概念名词绕晕

热搜词里我看到有人在问 Harness 和 Agent 的区别,这确实是新手很容易被绕晕的地方。简单来说,Agent 是这个智能体本身,而 Harness 是承载和驱动 Agent 运行的那套运行时环境。你可以把 Agent 想成一个人,Harness 是他身处的整套配套系统,比如办公桌,各种工牌、通讯工具、任务清单看板等等。没有 Harness 的 Agent 就像没穿宇航服的宇航员,想法再多也出不了仓。所以现在做企业级应用的时候,不能只关注模型能力,还要关注 Harness 层的工程化能力,包括沙箱环境、资源隔离、监控告警、审计日志等。

类似的概念还有 Skill 与 Agent 的区别、Pi Agent 这类框架和传统框架的差异。我的建议是,这些名词了解即可,不要过度纠结,关键是抓住本质:Agent 是脑,工具是手,Harness 是生存环境,Skill 是预制能力包。面试时能在三五句话里把这个概念讲清楚,面试官通常会认为你是真懂,而不是在背术语。

3. 实操过程与核心环节实现

3.1 从零搭建一个最小可用的 RAG 项目

这个最小项目我建议按下面的链路来做:文档加载、文本切块、向量化、写入向量库、检索、重排序、生成。

为了让你有更具体的体感,我直接给一个实战链路。第一步是加载文档,我建议你直接从 Markdown 文件开始,因为 Markdown 本身保留结构信息。第二步切块,按 Markdown 标题切,块内用固定长度兜底,比如每个块不超过 800 个 token。第三步是用一个 Embedding 模型批量向量化,这个步骤要注意批量大小别设太大,否则容易内存溢出。第四步写入向量库,你要额外保存元数据,比如来源文档路径、标题层级等,这能帮你后续做引用溯源。

检索部分的代码逻辑可以按下面这个思路来实现:先对用户输入问题做改写,然后同时走向量检索和关键词检索两条路,把结果合并后重排序。这里有个细节值得记录:关键词检索不要用简单的分词拼接,建议用 BM25 或者全文索引,召回效果差别明显。

最后生成阶段的 Prompt 模板我习惯这样写:先设定系统角色,说明只能基于上下文回答,然后用清晰的分隔符把检索到的上下文内容包起来。千万注意一点:所有检索到的上下文一定要带来源标识,这样模型在幻觉的时候你能快速定位是哪一步出了问题,到底是检索没召回,还是生成的时候没按上下文走。

3.2 把一个普通 RAG 升级成 Agentic RAG

接下来是最有价值的部分:怎么把一个只会问答的 RAG 升级成一个能执行任务的 Agentic RAG。这一步做得好,你在中小自研公司的 AI 应用开发岗就能直接干活了,而不是整天被人指挥着改提示词。

第一步,抽象任务类型。先列一下用户可能会让你做什么,比如查资料、写摘要、对比分析、生成周报、调用内部接口查数据等。把任务类型列出来后,你会自然意识到,光靠“检索+生成”是不够的,必须让模型有“选择工具”和“多次执行”的能力。

第二步,设计工具层。你自己定义几个简单工具,比如“检索企业知识库”“调用天气 API”“执行 SQL 查询”等。每个工具都用一个函数实现,函数需要给模型描述清楚用途、参数、返回值格式。实测下来,工具描述写不好,Agent 的成功率会明显下降,所以描述里除了功能说明,最好带上一两个示例,比如“get_employee_salary(employee_id),示例:get_employee_salary(10086)”。

第三步,让模型自己做规划。把用户请求发给模型,要求模型一步步推理,先决定整体计划,再决定每一步调哪个工具。在代码实现上,可以给大模型附上工具列表和说明,让它先输出 JSON 格式的计划,然后你的系统根据计划依次调用工具,每次调用后把结果追加到上下文里,再让模型决定下一步,直到输出最终结果。

第四步,接入重检索。这里的 Agentic RAG 和普通 RAG 的区别在于:模型在推理过程中可能会发现“当前信息不足,需要再查一次”。比如第一步查了“项目背景”,第二步要写“项目风险”,发现上下文里没有相关内容,于是自动发起第二次检索。这个能力就是 Agentic RAG 的核心,也是热搜里这个词热度极高的原因。实现这个逻辑的原理并不复杂,本质就是给模型一个“检索工具”,让它在推理循环里按需调用。

3.3 多 Agent 协作与编排的落地方案

当任务粒度越来越大时,单个 Agent 会显得力不从心,因为他既要会写代码,又要懂业务知识,还得分心去控制对话节奏。这时候需要做多 Agent 架构:把任务拆成几个角色 Agent,每个 Agent 聚焦一个子领域,再用一个主控 Agent 或者编排层来调度。

我常用的模式是“主管-工人”模式:主管 Agent 接收用户请求,拆解任务,然后分发给工人 Agent,比如“检索 Agent”“分析 Agent”“写作 Agent”。每个工人 Agent 完成自己的子任务并把结果返回给主管,主管再汇总整理最终答案。这种架构好在哪里呢?一是每个 Agent 的上下文窗口压力变小了,二是每个 Agent 的 Prompt 和工具集可以专精优化,三是出了问题好排查,你可以看是哪个 Agent 掉链子。但它的缺点也很明显,就是多轮调用会增加 token 消耗和时延。所以,如果你面对的任务比较简单,一个普通 RAG 就能解决,就真的别硬上多 Agent 架构,杀鸡用牛刀。

另外,在多 Agent 编排时,很多人会问那选什么框架。这个我可以给一个中肯的建议,如果你偏向轻量级灵活控制,LangGraph 这类偏底层的编排框架会比较顺手;如果你想要开箱即用、少写胶水代码,那就用成熟度较高的 Agent 框架。你甚至可以在生产环境里把不同框架混合使用,底层流程自己控制,上层用框架快速搭建。道理和炒菜一样,锅和铲可以混着用,关键是菜得熟。

4. 常见问题与排查技巧实录

4.1 检索效果差,问题可能根本不在检索

很多朋友在 rag 项目里遇到的现象是:文档也拆了,向量库也建了,模型也换了,结果问答效果还是不行。排查来排查去,最后发现是源头数据是脏的。比如 PDF 里文字扫描件没做 OCR,文档里大量乱码;比如表格被拆成了碎片,关键数字对不上了;还比如文档版本混乱,同一个产品有新旧两版说明书,你也没做版本过滤。这些都是检索链条上游的问题,你再怎么调下游都解决不了。

所以我的排查顺序一般是这样:先看召回结果,如果召回出来的片段本身全是垃圾,那就是数据源或切块的问题;如果召回结果还不错,但模型答得不好,那才是生成环节的问题,重点调 Prompt 模板和上下文组织方式。把这两类问题分开,排查效率会高很多,不至于乱成一锅粥。

4.2 Agent 执行总是中断或者结果不符合预期,怎么办

热词里出现“Agent execution terminated due to error.”,我猜不少人都遇到过这种报错,Agent 跑着跑着突然终止执行。经验是,这通常由三种原因导致。一是工具调用异常,比如参数格式不对、入参缺失,导致函数抛出异常,Agent 循环被中断;二是上下文超限,步数多了或者单步结果太大直接超出模型上下文窗口;三是模型输出不符合解析规则,模型没按要求的 JSON 结构输出,你的解析器直接报错退出。

针对这三种情况,我的处理办法分别是:给每个工具调用包一层 try-catch,捕获异常后把错误信息返回给模型,让它自行调整重试;设置全局最大步数和单步结果截断规则,防止上下文膨胀;解析模型输出时尽量宽容,支持提取 JSON 片段而不是要求全量严格匹配。这些都是老鸟踩坑踩出来的经验,你提前做好,能省非常多调试时间。

4.3 RAG 与 MCP 的关系到底怎么理解

这个热点问题也是面试里近来出现频率较高的。说实话,RAG 和 MCP 本来就不是同一层的东西,硬要比就有点关公战秦琼了。MCP 的全称是 Model Context Protocol,它是一个给模型提供上下文和工具访问的标准协议,它的目标是标准化“模型如何连外部工具和数据源”。而 RAG 是一种检索增强生成的技术范式,它管的是“怎么把外部知识检索出来辅助回答”。两者可以配合使用:RAG 可以作为 MCP 的一个工具服务,或者说 MCP 提供了工具接入的标准化能力,而 RAG 是其中一个工具类型。理解到这个层面就够了,面试时考官会认为你概念边界很清晰。

4.4 面试前建议自测的五个核心问题

我还整理了五个高频问题,你上考场前可以拿它自测,随便抽一个能说上三四分钟,基本就稳了。

  1. 你最常用的 RAG 链路是怎样的?如果检索结果不够好,你怎么排查?
  2. 你讲讲向量检索和关键词检索各自的优缺点,什么时候用哪一个,为什么?
  3. Agent 和传统程序的区别是什么?Agent 的规划、记忆、工具调用分别解决什么问题?
  4. 你在 Agent 项目里遇到过什么棘手 bug?后来怎么解决的?
  5. 如果给你一个全新的业务场景,你会怎么设计一套 AI 应用开发的 SOP?从哪里入手?

上述每个问题,都应该能用“场景背景、方案选择、绕过的坑、最终效果”来组织回答。这也是我从实际项目中提炼出来的答题套路,比背一堆概念强十倍。

4.5 中小自研公司到底缺不缺 AI 应用开发岗位

热词里还有个很现实的问题:中小自研公司的 AI 应用开发岗位多吗?说实话,多,但和你想的不太一样。大厂的确在招很多算法工程师和研究型岗位,但中小公司往往更缺的是“能把大模型能力落地成业务功能”的复合型工程师。他们不要求你发明新算法,但要求你能做知识库、打通业务流、做内部工具、调 Prompt、保障系统稳定。说白了就是:你要能做工程,而不是只会聊论文。

如果你面向这个市场去定位自己,我的建议是重点积累全链路项目经验,尤其是在某一个行业场景下的完整落地案例。比如“针对公司的售后知识库做一个带权限隔离的 RAG 问答系统”,这比写十个玩具 Demo 更能体现你的价值。同时把 Agent 相关能力补上,因为越来越多中小公司已经开始试点用 Agent 替代部分重复性人力工作,供给缺口正在打开。

5. 学习路径与踩坑经验总结

5.1 建议的 AI 应用开发学习路线

网上关于 AI 应用开发学习路线的文章铺天盖地,但大多数越写越厚,反而让人不知道怎么执行。我的建议是把它压缩成四步走。

第一步,掌握大模型基础调用逻辑,包括补全、对话、函数调用、结构化输出。能用代码裸调一个大模型 API,不走任何框架。这一步的终点是你会写一个简单的命令行问答工具。

第二步,完整做完一个 RAG 项目。从文档加载开始,自己手动实现一遍切块、向量化、检索、重排序、生成,不依赖任何高级框架,把每一环都跑透,再用框架快速重构一遍。这一步的终点是你能回答清楚“RAG 项目的每个环节为什么存在,改了会怎么样”。

第三步,做一个带工具调用的 Agent 项目。从手动函数调用开始,给模型定义三五个工具,让它自主决定调用顺序。跑通之后再引入 Agent 框架,观察框架帮你做了什么,以及它有哪些隐藏限制。这一步的终点是你能设计并实现一个能完成多步任务的智能体。

第四步,做一个集成 RAG 能力的 Agentic RAG 项目。让 Agent 在规划时按需检索,把检索结果作为观察输入,再迭代执行。这一步是你从“应用开发”走向“智能应用开发”的关键一步。

5.2 我在项目中踩过的五个坑

最后,我必须交底,把我自己踩过的几个坑原原本本列出来,免得你再走一遍。

第一个坑是“过度设计”:刚接触 Agent 的时候总想把所有功能做成自动化,最后发现稳定性完全没法保障。后来学乖了,所有 Agent 设计都从最简路径开始,按“先规则再多步决策再自主规划”的梯度演进,每一步稳定了再动下一步。第二个坑是“Embedding 模型选型走弯路”:一开始图便宜用了非常小的 Embedding 模型,结果检索相关性长期上不去,后来换了 BGE 系列才明显改善。这个领域没有免费的午餐,Embedding 模型的质量直接决定系统上限。第三个坑是“切块参数想当然”:看到网上说 chunk_size 500 好就照抄,忽略了你的文档长度、语义密度、问题粒度都有差异。现在做任何新项目的第一件事,是先花半天时间对文档样本做切块与召回实验,再定参数,而这个实验往往能让你对最终效果更有底。第四个坑是“不设计可观测性”:早期做 Agent 项目,一旦出问题就只能在日志里捞,非常痛苦。后来我在工具调用层统一加了耗时记录、入参出参记录、模型原始响应快照,再配合可视化工具做链路追踪,整体调试效率至少翻了一倍。第五个坑是“不考虑成本”:没有限制最大迭代步数、没有设置重试策略、没有做结果缓存,一个简单问题烧了很多 token,月底一查账单才吓一跳。现在的做法是,所有外部模型调用都加超时、重试上限和结果缓存层,相当于给系统上了一道安全阀门。

从 RAG 到 Agent,这中间的跨越不仅是技术栈的扩展,更是一种思维方式的转换。你得从“我给模型喂资料,让它回答”的思维,升级到“我给模型工具和目标,让它自己找资料、自己干活”的思维。这个转变,恰恰是从应用开发迈向智能应用开发的分水岭。

我个人在实际操作中的体会是,RAG 和 Agent 的技术点虽然多,但真的没有哪个是理解不了的,关键在于你能不能系统性地把它们串起来。如果你正在准备面试或者正在做一个相关项目,建议你先从最小闭环做起,哪怕用最朴素的方式,不依赖任何框架,手动实现一遍检索、重排序、工具调用,把你的 AI 应用开发 SOP 文档沉淀下来,再慢慢迭代优化。等你有一天能一边画架构图一边讲清楚每个模块的边界和风险点,你就已经比大多数只会调包的人强出去一大截了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 18:40:14

变压器热仿真如何精准定位热点:COMSOL多物理场建模与工程实践

做变压器的朋友应该都有同感:电磁方案算得再漂亮,一到温升试验就心里打鼓。温升这东西不像电感、损耗可以直接测个数据出来对比,它跟绝缘寿命直接挂钩,变压器负载导则里那些运行曲线,本质都是在跟热点温度博弈。这几年…

作者头像 李华
网站建设 2026/9/26 18:39:06

红警2在Win10/11闪退花屏黑屏?DDraw包装器修复全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 18:39:04

RAG数据管道全流程实战:从文档解析到向量化落地

1. 先理清楚一个事:RAG到底卡在哪儿这两年聊RAG(检索增强生成)的人特别多,从“RAG知识库”、“RAG实战”到“agentic rag”、“ontology rag”,概念越拆越细。但真正上手做过的人都有一个共识:RAG项目能不能…

作者头像 李华
网站建设 2026/9/26 18:38:14

Synapse数据集:医学图像3D器官分割的黄金基准

1. Synapse 数据集:医学图像分割领域的“教科书级”基准资源 Synapse 数据集——这个词在医学影像AI圈子里,几乎等同于“入门必过的第一道关卡”。它不是某个商业公司私有打包的黑盒数据,也不是实验室里临时凑出来的几例样本,而是…

作者头像 李华
网站建设 2026/9/26 18:37:49

开源大模型安全内生护栏SingProbe Infra:设计、接入与排查指南

模型能力越强,用起来就越要小心。这一两年开源大模型的发展速度肉眼可见,Qwen、Llama、GLM、DeepSeek这些名字已经频繁出现在生产环境里。但大多数团队把模型拉回来部署之后,第一反应是测推理性能、调上下文窗口、压并发,很少有人…

作者头像 李华
网站建设 2026/9/26 18:37:05

Flask搭配Django开发化妆预约系统:微信小程序全栈实践

做化妆造预约系统,前后端技术栈怎么配才顺手?这个标题里同时出现了 Flask 和 Django,老实说第一次看到的时候我也愣了一下——这两个框架平时很少出现在同一个项目里。但实际做下来你会发现,这个组合不但不冲突,反而把…

作者头像 李华