LangChain vs LlamaIndex:LLM应用开发必看!选对框架,事半功倍!

📅 2026/7/16 14:05:50
LangChain vs LlamaIndex:LLM应用开发必看!选对框架,事半功倍!
做 LLM 应用时很多人都会卡在一个问题上LangChain 和 LlamaIndex 看起来都很强但真正写项目时到底该用哪个LangChain 更擅长 Agent、工作流编排和工具调用适合把复杂任务一步步组织起来LlamaIndex 更擅长文档索引、知识库检索和 RAG 优化适合让模型更准确地“查资料”。两者不是简单的替代关系而是各有分工。这篇文章会用一条清晰的主线把 LangChain 和 LlamaIndex 的核心定位、优势短板、适用场景讲明白并通过一个实战例子演示如何在 LangChain Agent 中接入 LlamaIndex 检索器。看完之后你就能判断什么场景该选 LangChain什么场景该选 LlamaIndex什么时候应该把两者组合起来使用。一、先搞清楚两者不是同一种框架LangChain 和 LlamaIndex 经常被放在一起比较但它们解决的问题并不完全相同。简单说LangChain 更像“应用编排框架”负责把模型、工具、记忆、Agent 和多步骤流程组织起来LlamaIndex 更像“数据与检索框架”负责把文档、索引、向量库和查询策略组织起来。如果把一个 AI 应用看成一家公司LangChain 更像项目经理决定任务怎么流转、下一步调用哪个工具、多个 Agent 如何协作。LlamaIndex 更像资料管理员把资料整理成可检索的结构并在用户提问时快速找出最相关的内容。二、LangChain适合把复杂任务编排起来LangChain 的强项不是单纯“查资料”而是把一个任务拆成多个环节并让模型在不同工具之间做选择。比如一个 Agent 既要查询数据库又要调用搜索接口还要根据结果继续追问或生成报告这类场景就很适合 LangChain。它的核心优势可以概括为四点通用应用编排可以把模型、提示词、工具、记忆、输出解析等组件组合起来。Agent 能力适合让模型根据任务目标决定调用哪个工具、执行哪一步。多步骤工作流可以承载更复杂的业务流程尤其适合需要反复判断和流转的任务。工具生态丰富更容易和外部系统、API、数据库、搜索服务等结合。当然LangChain 在 RAG 方向并不是没有能力但如果你的核心目标是把大量文档处理成高质量知识库并持续优化检索效果单靠 LangChain 往往会显得偏基础。三、LlamaIndex适合把文档和知识库检索做好LlamaIndex 的优势集中在数据层。它关心的是文档怎么读取、怎么切分、怎么建立索引、怎么接入向量数据库、怎么用更好的检索策略把相关内容找出来。所以当项目主要围绕“文档问答”“知识库检索”“RAG 优化”展开时LlamaIndex 会更顺手。它提供了更丰富的索引结构和更细的检索控制适合对召回质量、数据管道和检索性能有要求的场景。它的短板也比较明确如果任务需要复杂 Agent 决策、多智能体协作或者频繁和外部系统交互LlamaIndex 自身的编排能力就不如 LangChain 灵活。四、怎么选看你的应用主线是什么选型时不要只问“哪个框架更强”而要先问“这个项目最核心的问题是什么”。如果核心问题是任务如何流转优先考虑 LangChain如果核心问题是资料如何被准确检索优先考虑 LlamaIndex。组合使用时最自然的分工是LangChain Agent 负责理解用户目标、决定是否调用工具LlamaIndex Retriever 负责从文档库中找出相关内容。这样既保留了 Agent 的灵活性也能让 RAG 检索质量更稳定。五、实战在 LangChain Agent 中使用 LlamaIndex 检索器下面的例子会把 LlamaIndex 构建出来的文档检索器包装成 LangChain 工具再交给 LangChain Agent 使用。这样用户问问题时Agent 可以主动调用这个工具从本地文档中检索相关信息。安装依赖先安装 LlamaIndex 以及和 LangChain、DashScope Embedding 相关的依赖pip install llama-index llama-index-embeddings-langchain llama-index-embeddings-dashscope准备本地文档在项目根目录创建一个 data 文件夹并在里面创建 langchain_intro.txt。示例内容如下LangChain 是一个用于构建 LLM 应用的框架。 核心优势 模块化设计易于组合 丰富的工具生态系统 支持多种 LLM 提供商 内置 Agent 框架 强大的链式调用能力 LangChain 适合需要灵活编排多个组件的复杂应用场景。这份文档很短但已经足够演示完整流程读取文档、生成向量索引、创建检索器、封装为工具、交给 Agent 调用。构建 LlamaIndex 检索器第一段代码负责读取 data 目录下的文档并使用 DashScope 的 text-embedding-v3 模型构建向量索引。这里的关键对象是 VectorStoreIndex它会把文档转成可检索的向量结构as_retriever 则把索引转换成检索器。import os from langchain.agents import create_agent from langchain_community.embeddings import DashScopeEmbeddings from langchain_core.tools import tool from langchain_openai import ChatOpenAI from llama_index.core import SimpleDirectoryReader, VectorStoreIndex from llama_index.core.base.embeddings.base import similarity if not os.getenv(DASHSCOPE_API_KEY): raise Exception(Please set DASHSCOPE_API_KEY environment variable) documents SimpleDirectoryReader(./data).load_data() # 初始化向量模型 embeddings DashScopeEmbeddings(modeltext-embedding-v3, dashscope_api_keyos.getenv(DASHSCOPE_API_KEY), ) #创建 向量索引 index VectorStoreIndex.from_documents(documents, embed_modelembeddings) #转换为 检索器 retriever index.as_retriever(similarity_top_k3)similarity_top_k3 表示每次检索时取最相关的 3 个片段。这个参数可以根据文档长度和回答质量调整太小可能漏信息太大则可能把不相关内容也带进上下文。把检索器包装成 LangChain 工具接下来用 tool 把 LlamaIndex 的检索能力包装成 LangChain Agent 可以调用的工具。Agent 并不需要知道底层是怎么建索引的它只需要知道有一个 query_docs 工具可以根据问题返回相关文档内容。tool def query_docs(query:str) -str: 从文档中检索相关信息 nodes retriever.retrieve(query) if not nodes: return 没有相关文档 return \n.join([node.text for node in nodes])这一步就是两者结合的关键LlamaIndex 专心做检索LangChain 把这个检索器当作一个可调用工具纳入 Agent 工作流。创建 Agent 并发起提问最后创建模型和 Agent把 query_docs 作为工具传入。用户提问时Agent 会根据问题判断是否调用文档检索工具并基于返回内容组织回答。#模型 model ChatOpenAI( modelqwen3.5-plus, api_keyos.getenv(DASHSCOPE_API_KEY), base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1, ) #agent agent create_agent(modelmodel, tools[query_docs]) response agent.invoke({messages: [(user, LangChain核心优势是什么)]}) print(response[messages][-1].content)这段代码跑通后问题“LangChain 核心优势是什么”就不会只依赖模型记忆而是会从 langchain_intro.txt 中检索出相关内容再由 Agent 生成回答。对于真实业务来说这就是最常见的组合方式业务流程交给 LangChain知识检索交给 LlamaIndex。六、把这个例子放到真实项目里该怎么扩展示例里只有一个 txt 文件但思路可以直接扩展到更完整的知识库应用。比如你可以把 data 目录换成产品文档、制度文件、课程资料或客服知识库再根据效果调整切分策略、向量模型、top_k 数量和检索后处理。如果后续任务只是“问文档、答问题”可以继续强化 LlamaIndex 这一层如果后续任务变成“先查资料再调用接口再生成方案再让另一个角色复核”就应该把 LangChain 的 Agent 和工作流能力加进来。因此新项目可以按这个思路判断·以对话、任务执行、工具调用为主首选 LangChain。·以文档检索、知识库问答为主优先考虑 LlamaIndex。·既需要复杂流程又需要高质量 RAG就把两者结合起来。最后唠两句为什么AI大模型成为越来越多程序员转行就业、升职加薪的首选很简单这些岗位缺人且高薪智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200% 远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。那0基础普通人如何学习大模型 深耕科技一线十二载亲历技术浪潮变迁。我见证那些率先拥抱AI的同行如何建立起效率与薪资的代际优势。如今我将积累的大模型面试真题、独家资料、技术报告与实战路线系统整理分享于此为你扫清学习困惑共赴AI时代新程。我整理出这套 AI 大模型突围资料包【允许白嫖】✅从入门到精通的全套视频教程✅AI大模型学习路线图0基础到项目实战仅需90天✅大模型书籍与技术文档PDF✅各大厂大模型面试题目详解✅640套AI大模型报告合集✅大模型入门实战训练这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】①从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图0基础到项目实战仅需90天全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤640套AI大模型报告合集⑥大模型入门实战训练如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】