【RAG 系列·第 03 篇】框架实战LangChain·LlamaIndex·Haystack·DSPy——四大 RAG 框架对比与选型系列回顾第 01 篇我们绘制了 RAG 的全景图第 02 篇我们拆解了索引·检索·生成三大组件。本篇进入最实操的领域框架实战——用什么框架构建 RAG2024-2025 年RAG 框架百花齐放LangChain通用 LLM 框架生态最大、LlamaIndexRAG 数据框架5 行代码启动、Haystack生产管道框架组件化设计、DSPy编程式优化框架自动调优。四大框架四种哲学组合 vs 数据 vs 管道 vs 优化。哪个框架适合你的场景RAG 管道的五步流水线加载→分块→嵌入→检索→生成在每个框架中如何实现今天我们从四大框架对比、RAG 管道实战到选型指南彻底拆解 RAG 框架的实战之路。 文章目录️ 一、四大框架对比四种哲学 二、RAG 管道实战五步流水线 三、选型指南与场景推荐️ 一、四大框架对比四种哲学1.1 LangChain组合哲学——链式组合灵活万能LangChain 是目前生态最大的 LLM 框架2022 年底由 Harrison Chase 创建GitHub 星标超过 90K。LangChain 的核心思想将 LLM 应用拆解为可组合的链Chain——每一步是一个组件组件之间通过输入输出连接形成处理流水线。LangChain 的 RAG 实现RetrievalQA链——将检索器和 LLM 组合成端到端的问答链。更灵活的方式是用 LCELLangChain Expression Language——用管道操作符|连接组件retriever | prompt | llm | parser。LangChain 的优势生态最大——80 种文档加载器、50 种向量库集成、30 种 LLM 提供商。几乎所有 LLM 相关的工具都有 LangChain 集成。LangSmith 提供可观测性LangServe 提供部署LangGraph 提供 Agent 编排。LangChain 的局限RAG 不是核心——LangChain 是通用 LLM 框架RAG 只是众多能力之一。RAG 相关的高级功能高级索引、查询路由、自动优化不如 LlamaIndex 和 DSPy 深入。代码量较多——显式控制每一步灵活性高但代码冗长。1.2 LlamaIndex数据哲学——索引驱动RAG 深度LlamaIndex原名 GPT Index由 Jerry Liu 创建2023 年底更名。LlamaIndex 的核心思想以索引为中心的数据框架——一切围绕如何最好地组织和检索数据设计。LlamaIndex 的核心抽象Index索引→ QueryEngine查询引擎。Index 定义数据的组织方式向量索引/摘要索引/关键词索引/知识图谱索引QueryEngine 定义查询的方式检索生成。一行代码index.as_query_engine()就能创建完整的 RAG 管道。LlamaIndex 的优势RAG 深度最强——支持 10 种索引结构、高级检索策略子问题分解、递归检索、自动路由、高级分块语义分块、句子窗口、自动合并。5 行代码就能启动一个 RAG 应用智能默认值覆盖大部分场景。LlamaIndex 的局限通用性不如 LangChain——LlamaIndex 专注于 RAGAgent 能力和工具集成不如 LangChain。黑盒程度较高——智能默认值方便但调试和定制需要深入理解内部机制。1.3 Haystack管道哲学——组件化生产就绪Haystack 由 deepset 创建是四大框架中最工程化的。Haystack 的核心思想将 RAG 拆解为可替换的管道组件——每个组件有明确的输入输出类型组件之间通过类型检查连接确保管道的正确性。Haystack 的核心抽象Pipeline管道→ Component组件。Pipeline 是组件的容器定义数据流Component 是独立的处理单元检索器/阅读器/生成器/重排序器可以自由替换。Haystack 2.0 引入了更灵活的管道设计支持条件分支和循环。Haystack 的优势生产就绪——组件化设计便于测试、替换和监控类型检查防止运行时错误内置评估和标注工具支持 REST API 部署。deepset Cloud 提供企业级托管服务。Haystack 的局限生态不如 LangChain/LlamaIndex——集成的数据源和模型较少社区规模较小学习曲线比 LlamaIndex 陡。1.4 DSPy优化哲学——编程式自动调优DSPy 由 Stanford NLP 的 Omar Khattab 创建是四大框架中最学术的。DSPy 的核心思想用编程代替 Prompt 工程——不手写 Prompt而是声明式定义模块的输入输出签名SignatureDSPy 自动优化 Prompt 和检索策略。DSPy 的核心抽象Signature签名→ Module模块→ Metric指标→ Optimizer优化器。Signature 定义输入输出question - answerModule 定义处理逻辑dspy.ChainOfThoughtMetric 定义评估标准Optimizer 自动调优。DSPy 的优势自动优化——不需要手写 PromptDSPy 根据训练样本和评估指标自动优化。这在 RAG 场景中特别有价值——自动找到最佳的检索策略和生成 Prompt。DSPy 的局限学习曲线陡——需要理解签名、模块、指标、优化器等概念生态较小不适合快速原型。 二、RAG 管道实战五步流水线2.1 五步流水线概览无论用哪个框架RAG 管道都遵循五步流水线加载Load→ 分块Chunk→ 嵌入Embed→ 检索Retrieve→ 生成Generate。每一步都有明确的输入输出每一步都可以独立优化。2.2 LangChain 实战LangChain 的 RAG 管道需要显式控制每一步——代码量较多但灵活性最高。第一步加载文档。LangChain 提供 80 种 DocumentLoader覆盖几乎所有数据源。最常用的PyPDFLoaderPDF、WebBaseLoader网页、DirectoryLoader目录、NotionDirectoryLoaderNotion。第二步分块。LangChain 的RecursiveCharacterTextSplitter是默认选择——按分隔符层级递归切割尽量保持语义边界。参数chunk_size512chunk_overlap50。第三步嵌入。OpenAIEmbeddings是最简单的选择——调用 OpenAI API无需本地部署。HuggingFaceEmbeddings支持本地部署推荐BAAI/bge-large-en。第四步存储和检索。FAISS.from_documents()一行代码创建向量库和检索器。as_retriever(search_kwargs{k: 5})创建 Top-5 检索器。第五步生成。RetrievalQA.from_chain_type()创建端到端问答链。或用 LCELretriever | prompt | llm | output_parser。2.3 LlamaIndex 实战LlamaIndex 的 RAG 管道更简洁——智能默认值覆盖大部分配置。第一步加载文档。SimpleDirectoryReader自动识别文件类型一行代码加载整个目录。第二步第三步第四步索引。VectorStoreIndex.from_documents()一行代码完成分块嵌入存储。LlamaIndex 自动选择分块策略和嵌入模型。第五步查询。index.as_query_engine()创建查询引擎query_engine.query(什么是RAG)获取答案。LlamaIndex 的核心优势5 行代码启动 RAG。但当你需要自定义时LlamaIndex 也提供了丰富的配置选项——自定义分块器、嵌入模型、向量库、检索策略、生成 Prompt。 三、选型指南与场景推荐3.1 六大场景选型快速原型LlamaIndex。5 行代码启动智能默认值最少配置。适合验证想法和 POC。企业生产Haystack。管道化设计组件可替换内置监控和评估企业级部署。复杂数据LlamaIndex。10 种索引结构支持多源异构数据自定义路由策略。自动优化DSPy。编程式自动调优无需手写 Prompt基于指标优化。Agent RAGLangChain。Agent 生态最强DeepAgents 集成工具调用循环。全栈应用LangChain。生态最完整LangServe 部署LangSmith 监控LangGraph 编排。3.2 框架融合趋势四大框架正在互相学习LangChain 加 RAG 优化引入更多检索策略LlamaIndex 加 Agent 能力SubQuestionQueryEngine、路由查询Haystack 加易用性更简洁的 APIDSPy 加生态更多集成和教程。未来趋势框架差异缩小选型更看生态和习惯。就像 Web 框架React/Vue/Angular最终差异缩小一样RAG 框架也在走向同质化。选型的核心不再是哪个框架更好而是哪个框架的生态和习惯更适合你的团队。 总结对比四大框架维度LangChainLlamaIndexHaystackDSPy定位通用LLM框架RAG数据框架生产管道编程式优化RAG深度中深深深上手难度低低中高生态最大大中小生产就绪中中强弱自动优化无有限无强场景推荐场景推荐框架原因快速原型LlamaIndex5行代码启动企业生产Haystack管道化可观测复杂数据LlamaIndex索引结构最丰富自动优化DSPy编程式自动调优Agent RAGLangChainAgent生态最强全栈应用LangChain生态最完整一句话总结RAG 框架的四大哲学LangChain组合哲学——链式组合灵活万能生态最大80加载器/50向量库/30LLM但RAG不是核心代码量较多、LlamaIndex数据哲学——索引驱动RAG深度最强5行代码启动10索引结构/高级检索策略/智能默认值但通用性不如LangChain、Haystack管道哲学——组件化生产就绪类型检查/可替换/监控/评估/REST部署但生态较小、DSPy优化哲学——编程式自动调优Signature→Module→Metric→Optimizer无需手写Prompt但学习曲线陡。RAG管道五步流水线加载→分块→嵌入→检索→生成LangChain显式控制灵活但代码多20行LlamaIndex自动推断简洁但黑盒15行/5行启动。选型决策快速原型→LlamaIndex/企业生产→Haystack/复杂数据→LlamaIndex/自动优化→DSPy/Agent RAG→LangChain/全栈应用→LangChain。框架在融合差异缩小选型更看生态和习惯。参考链接LangChainLlamaIndexHaystackDSPyLangGraphRAG Framework Benchmark系列预告第 04 篇将深入进阶优化——查询改写·重排序·评估体系·RAG 优化全攻略。