Skip to content

LangChain vs LlamaIndex

先给结论

如果你在做的是一个会持续演进的完整 LLM 应用,优先从 LangChain 入手。
如果你当前最核心的问题是“怎样把文档问答和检索链路先做顺”,LlamaIndex 往往更直接。

对这个仓库里的 AI 学习助手 来说,当前主线更适合以 LangChain 为核心,因为项目不只做检索,还要覆盖链、Tool、Agent、LangGraph 和工程化调试。

一句话区分

  • LangChain 更像“通用 LLM 应用编排层”
  • LlamaIndex 更像“围绕知识库和检索问答展开的应用框架”

快速对比

维度LangChainLlamaIndex
核心关注点组合 Prompt、Model、Parser、Tool、Agent、Workflow组织数据接入、索引、检索和基于知识库的问答
适合起点想搭完整 AI 应用主线想优先把知识问答做出来
对本项目的贴合度高,覆盖课程全部主线中,尤其适合第 5、6 章的知识问答部分
常见优势组合能力强,扩展面广数据接入和检索抽象更聚焦
常见代价初学时概念面更宽超出检索问答后,边界可能不如通用编排层自然

什么时候选 LangChain

  • 你的系统不只有 RAG,还要做固定链、Tool 调用、Agent 和工作流
  • 你希望不同阶段都沿着同一套抽象推进
  • 你更在意“应用编排”而不是“知识库问答”单点最短路径

这个仓库就是典型例子。第 3 章做链,第 5、6 章做 RAG,第 7 章做 Agent,第 8 章做 LangGraph。如果主线框架不能贯穿这些阶段,读者会在中途被迫换思路。

什么时候选 LlamaIndex

  • 你最急的问题是把私有资料接进系统
  • 你主要在做知识库问答、检索增强总结、文档问答入口
  • 你暂时不打算扩展到复杂工作流或工具编排

如果你的产品目标更像“课程资料问答机器人”或“公司文档搜索助手”,而不是完整 AI 应用平台,那么 LlamaIndex 可能会更省力。

容易踩的误判

误判 1:以为它们只能二选一

现实里它们并不是绝对互斥。很多团队会把 LlamaIndex 用在数据接入或检索层,再把结果接回 LangChain 或其他编排层。

但对学习阶段来说,最好先有一个清晰主轴。这个课程当前选择 LangChain,是为了让抽象更连续。

误判 2:以为 LlamaIndex 一定更“高级”

它不是更高级,而是更聚焦。
如果你的问题不是知识库问答,而是完整应用编排,那它未必更合适。

误判 3:以为 LangChain 天生更重

LangChain 只有在你把很多层都引进来时才会变重。
从第 3 章的最小链开始,它也完全可以很轻。

选型建议

  1. 如果你在做课程仓库这种“从链到工作流”的完整学习项目,先学 LangChain
  2. 如果你在做以文档问答为核心的单点应用,优先评估 LlamaIndex
  3. 如果你已经有稳定编排层,只是想补强数据接入和检索,不必把选型理解成全盘替换

对应回看章节