RAG 框架对比:LlamaIndex / LangChain / Haystack(2026 年版)

1. 引言

检索增强生成(Retrieval-Augmented Generation, RAG)已经成为企业 AI 应用最主流的架构模式。与纯粹依赖大模型的"参数记忆"不同,RAG 通过实时检索外部知识库,让模型能够基于最新、最准确的信息生成回答。

构建 RAG 系统有三个主流开源框架:LlamaIndex(专注数据索引和检索)、LangChain(通用 LLM 应用框架)、Haystack(由 deepset 开发的端到端 NLP 框架)。本文从架构设计、核心能力、性能表现、社区生态等维度进行系统对比。

2. 框架定位

维度 LlamaIndex LangChain Haystack
创始团队 Jerry Liu 等 Harrison Chase 等 deepset GmbH (德国)
首发时间 2022年底 2022年底 2019年(2.0 重构于 2024)
GitHub Stars ~38K ~95K ~18K
核心定位 数据框架:索引 + 检索 + 查询 通用 LLM 应用框架 端到端 NLP/RAG 管道
设计哲学 Data-first(数据优先) Chain-first(链式编排优先) Pipeline-first(管道优先)
适用范围 RAG 和数据查询专精 广泛(Agent/RAG/Chat/工具) NLP 全链路(搜索/QA/RAG)

3. 架构设计对比

3.1 LlamaIndex 架构

LlamaIndex 的核心抽象围绕"数据"展开:

数据源                    索引层                    查询层
─────────────          ──────────────           ──────────────
PDF / Word             VectorStoreIndex         QueryEngine
网页 / API     ──>     SummaryIndex      ──>    ChatEngine
数据库 / CSV           KnowledgeGraphIndex      SubQuestion
代码仓库               TreeIndex                 Router
                       PropertyGraphIndex

核心概念

  • Document / Node:文档被拆分为节点(Node),每个节点携带文本、元数据和关系信息
  • Index:索引是节点的组织方式(向量、树、图、关键词等)
  • Retriever:从索引中检索相关节点的策略
  • QueryEngine:将检索结果与 LLM 结合生成回答
  • Ingestion Pipeline:文档加载、解析、分块、嵌入的标准化流程

LlamaIndex 2.0(LlamaParse + LlamaCloud)

2025年,LlamaIndex 推出了云服务 LlamaCloud,提供:

  • LlamaParse:高精度文档解析(PDF 表格、图表识别)
  • 托管索引服务:无需管理向量数据库
  • 企业级 RAG API:开箱即用的检索 API

3.2 LangChain 架构

LangChain 的核心抽象围绕"链式调用"展开:

组件层                   编排层                   运行时
─────────────          ──────────────           ──────────────
LLMs / ChatModels      Chain(链)               LangServe
Embeddings             Agent(代理)             LangSmith
VectorStores           Graph(LangGraph)        LangChain Hub
DocumentLoaders        Retriever
Tools / Toolkits       Memory
OutputParsers

核心概念

  • Runnable:所有组件实现统一的 Runnable 接口(invoke / stream / batch)
  • LCEL(LangChain Expression Language):声明式管道语法
  • LangGraph:基于图的状态机框架,用于构建复杂 Agent 工作流
  • LangSmith:可观测性和评估平台

LangChain 的演进

LangChain 在 2024-2025 年经历了重大重构:

  • 核心库拆分为 langchain-core + langchain-community + 各 provider 包
  • 推出 LangGraph 取代旧的 Agent 框架
  • LCEL 成为推荐的管道构建方式

3.3 Haystack 架构

Haystack 的核心抽象围绕"管道"展开:

组件(Components)          管道(Pipeline)
────────────────           ──────────────
Converters                 Sequential Pipeline
PreProcessors              Branching Pipeline
Embedders                  Looping Pipeline
Retrievers
Rankers
Generators
Writers

核心概念

  • Component:每个组件有明确的输入/输出类型定义
  • Pipeline:组件的有向无环图(DAG),支持分支和循环
  • DocumentStore:统一的文档存储抽象
  • Component Protocol:基于 Python dataclass 的严格类型系统

Haystack 2.0 的设计理念

Haystack 2.0(2024年发布)是一次彻底的重写,核心理念:

  • 管道是一等公民(Pipeline-first)
  • 严格的类型系统(输入/输出必须类型匹配)
  • 可序列化的管道定义(YAML / JSON)
  • 组件是纯函数(无隐藏状态)

4. 核心能力对比

4.1 文档加载与解析

能力 LlamaIndex LangChain Haystack
支持格式数量 100+ 80+ 30+
PDF 解析质量 优秀(LlamaParse) 依赖第三方 良好
表格提取 优秀 一般 良好
图片/图表理解 支持(多模态) 支持(多模态) 有限
网页爬取 支持 支持 支持
数据库连接 支持(Text-to-SQL) 支持 有限
API 数据加载 支持 支持 支持

LlamaIndex 在文档解析方面有明显优势,LlamaParse 是目前市场上最好的 PDF 解析服务之一,能够准确提取复杂的表格、公式和多栏布局。

4.2 分块策略(Chunking)

策略 LlamaIndex LangChain Haystack
固定大小分块 支持 支持 支持
按句子分块 支持 支持 支持
语义分块 支持 支持 支持
递归字符分块 支持 核心特色 支持
文档结构分块 支持(Heading/Section) 有限 支持
代码分块 支持 支持 有限
自定义分块 支持 支持 支持
分块重叠 支持 支持 支持

4.3 检索策略

策略 LlamaIndex LangChain Haystack
向量检索 支持 支持 支持
BM25 关键词检索 支持 支持 支持
混合检索 支持 支持 支持
重排序(Reranking) 内置 需额外配置 内置
递归检索 核心特色 有限 不支持
知识图谱检索 支持 有限 不支持
多索引路由 支持 有限 支持
Auto-merging Retrieval 支持 不支持 不支持
父子节点检索 核心特色 有限 不支持

LlamaIndex 在高级检索策略方面领先,特别是递归检索父子节点检索:先检索到细粒度的子节点,再上溯到包含更多上下文的父节点,这种策略能显著提高回答质量。

4.4 查询与生成

能力 LlamaIndex LangChain Haystack
简单 QA 支持 支持 支持
多步推理 SubQuestionQueryEngine 需手动编排 可通过管道实现
对话式 RAG ChatEngine ConversationalRAG 可组合
Text-to-SQL 内置 SQLDatabaseChain 有限
流式输出 支持 支持 支持
引用/溯源 内置(节点级) 需额外配置 支持
响应合成策略 多种(Refine/Compact/Tree) 基本 基本

4.5 Agent 能力

能力 LlamaIndex LangChain Haystack
ReAct Agent 支持 支持(LangGraph) 支持
工具调用 支持 核心特色 支持
多 Agent 编排 支持 LangGraph(核心特色) 有限
状态管理 有限 LangGraph(核心特色) 管道状态
人工审核节点 有限 LangGraph(核心特色) 支持

LangChain(通过 LangGraph)在 Agent 构建方面有明显优势。如果你的需求是复杂的多 Agent 工作流而非纯 RAG,LangGraph 是目前最成熟的选择。

5. 性能与可扩展性

5.1 索引性能

以 1000 篇 PDF 文档(平均 20 页/篇)为基准:

指标 LlamaIndex LangChain Haystack
索引时间 ~15 min ~20 min ~18 min
内存占用 ~2 GB ~2.5 GB ~1.8 GB
增量更新 支持 需手动实现 支持
并行处理 支持 有限 支持

5.2 查询性能

以相同的向量数据库(Chroma)和模型(GPT-4o)为基准:

指标 LlamaIndex LangChain Haystack
首次响应时间 ~1.2s ~1.5s ~1.3s
端到端延迟 ~3.5s ~4.0s ~3.8s
并发处理 良好 一般 良好

5.3 向量数据库集成

向量数据库 LlamaIndex LangChain Haystack
Chroma 支持 支持 支持
Pinecone 支持 支持 支持
Weaviate 支持 支持 支持
Qdrant 支持 支持 支持
Milvus 支持 支持 支持
PostgreSQL (pgvector) 支持 支持 支持
Elasticsearch 支持 支持 核心特色
OpenSearch 支持 支持 核心特色

Haystack 由 deepset 开发,deepset 也是 Elasticsearch 生态的深度参与者,因此在 Elasticsearch/OpenSearch 集成方面最为成熟。

6. 可观测性与评估

能力 LlamaIndex LangChain Haystack
原生可观测 LlamaTrace LangSmith Haystack Logging
第三方集成 Arize / Weights & Biases Arize / W&B / Datadog W&B
RAG 评估框架 llama-index-evaluation langchain-evaluation haystack-evaluation
忠实度评估 支持 支持 支持
相关性评估 支持 支持 支持
A/B 测试 LangSmith(需付费) LangSmith(核心功能) 需自建

LangSmith 是三者中最成熟的可观测性平台,提供完整的 trace 追踪、评估、数据集管理和 A/B 测试能力。但它是付费服务,且数据会上传到 LangChain 的云端。

7. 学习曲线与社区

7.1 学习曲线

维度 LlamaIndex LangChain Haystack
入门难度
概念数量 中等
文档质量 优秀 良好(但分散) 优秀
示例项目 丰富 非常丰富 中等
API 稳定性 良好 较差(频繁变动) 优秀(2.0 后)

7.2 社区规模

指标 LlamaIndex LangChain Haystack
GitHub Stars ~38K ~95K ~18K
Discord 成员 ~30K ~40K ~5K
PyPI 月下载 ~5M ~15M ~1M
贡献者数量 ~600 ~3000 ~300
企业采用 中等 广泛 中等(欧洲多)

LangChain 的社区规模最大,但这也带来了代码质量参差不齐的问题。LlamaIndex 社区更聚焦于 RAG 场景,问答质量通常更高。Haystack 在欧洲企业中有较强的存在感。

8. 选型建议

8.1 按场景推荐

场景 推荐 理由
纯 RAG / 知识问答 LlamaIndex 数据索引和检索策略最丰富
复杂 Agent 工作流 LangChain (LangGraph) Agent 编排能力最强
企业搜索引擎 Haystack Elasticsearch 深度集成
快速原型验证 LlamaIndex 5 行代码构建基础 RAG
多模型 / 多工具编排 LangChain 生态集成最广
生产级可观测性 LangChain (LangSmith) 评估和监控最成熟
类型安全 / 严格管道 Haystack 组件类型系统最严格

8.2 组合使用

三个框架并非互斥,实际项目中常见的组合:

  • LlamaIndex 索引 + LangGraph Agent:用 LlamaIndex 构建高质量索引,通过 LangGraph 编排复杂的 Agent 工作流
  • LlamaIndex 检索 + Haystack 管道:利用 LlamaIndex 的高级检索策略,在 Haystack 的类型安全管道中运行
  • LangChain LCEL + 自定义检索:使用 LangChain 的 LCEL 做管道编排,但用自建的检索逻辑替换默认 Retriever

9. 发展趋势

  1. Agentic RAG:RAG 系统正在从"检索-生成"进化为"规划-检索-推理-验证"的 Agent 模式
  2. 多模态 RAG:支持图片、表格、图表的理解和检索
  3. Graph RAG:利用知识图谱增强检索质量(Microsoft GraphRAG 引发关注)
  4. 评估标准化:RAGAS、TruLens 等评估框架正在建立 RAG 质量的行业标准
  5. 端到端优化:从分块策略到检索排序到生成提示词的联合优化

10. 结论

  • 选 LlamaIndex:如果你的核心需求是高质量的数据索引和检索,特别是处理复杂文档(PDF 表格、多栏布局)
  • 选 LangChain:如果你需要构建复杂的 AI 应用(Agent、多工具编排、工作流),RAG 只是其中一部分
  • 选 Haystack:如果你重视类型安全、管道可序列化,或已经深度使用 Elasticsearch 生态

无论选择哪个框架,都建议从最简单的 RAG 管道开始,用真实数据验证效果后再逐步引入高级特性。过早引入复杂的检索策略往往得不偿失。


Maurice | maurice_wen@proton.me