用LangGraph的父图和子图再写一个小RAG 这篇把RAG这段相对完整、内部稳定的流程拆出来封装成父图里的一个子图来使用看看效果。父图和子图封装成子图【前】的结构封装成子图【后】的结构上面的rag_subgraph只是一张子图逻辑基本还是之前那些逻辑只是它被父图当成一个节点来使用了。分成上下两层看上层是父图 START - normalize_question - rag_subgraph - format_response - END 下层是rag_subgraph内部 retrieve_docs有资料 - build_context - answer retrieve_docs没资料 - fallback父图视角rag_subgraph是一个节点展开视角rag_subgraph内部仍然是一张图子图怎么写先要单独构建子图def build_rag_subgraph(): builder StateGraph(RagState, context_schemaRagContext) builder.add_node(retrieve_docs, retrieve_docs) builder.add_node(build_context, build_context) builder.add_node(answer, answer) builder.add_node(fallback, fallback) builder.add_edge(START, retrieve_docs) builder.add_conditional_edges( retrieve_docs, route_after_retrieve, {build_context: build_context, fallback: fallback}, ) builder.add_edge(build_context, answer) builder.add_edge(fallback, END) return builder.compile(namerag_subgraph)父图里把编译后的子图当节点加入再正常接边rag_subgraph build_rag_subgraph() builder.add_node(”rag_subgraph”, rag_subgraph) builder.add_edge(”normalize_question”, ”rag_subgraph”) builder.add_edge(”rag_subgraph”, ”format_response”)核心就三句话1、子图先compile 2、父图add_node时把编译后的子图加进去 3、父图正常给它接边有几个重要的点也需要知道下state、namespace和checkpoint。State负责传数据父图和子图会共用同一份State数据流是1、父图写入normalized_question2、子图读取normalized_question3、子图写入retrieved_docs、context、route、answer4、父图读取这些结果写入final_response父图和子图能共享数据是因为它们共用同一个State结构并不是因为checkpoint。checkpoint只是保存State快照这个点很容易被误解要分清。namespace负责标识层级运行时要知道一件事当前节点是在父图里跑还是在子图里跑namespace就是这个层级标记。父图节点namespace为空 子图内部节点namespace类似rag_subgraph:xxx上面的“rag_subgraph”这个名字是我们自己可以定义的节点名在add node时候指定的builder.add_node(”rag_subgraph”, rag_subgraph)checkpoint负责存快照checkpoint是State的快照开启checkpointer后LangGraph会保存运行过程中的State方便之后查看、恢复和调试checkpointer InMemorySaver() graph build_parent_graph(checkpointer)通过这个特性父图和子图内部都可以留下了State快照。知道【checkpoint namespace不是用来共享State的而是告诉你这份快照属于父图还是子图的】就可以了。一般什么情况下该拆成子图适合拆子图的情况一组节点有共同目标 父图只关心输入和输出 内部已经有分支、fallback或多步状态更新 未来可能复用如果你的业务只有一两个简单节点或者拆完以后字段交接更难懂的话别硬拆子图的价值不是让代码看起来多牛逼而是让复杂Agent有层次感。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】