⛓️ LangChain / LlamaIndex
LangChain · LlamaIndex
大白话:两个让你轻松开发“AI应用”的工具。想做一个能读你公司文档然后回答问题的AI助手?想让AI上网查资料再整合答案?LangChain像“乐高积木”,把大模型和外部工具串起来;LlamaIndex像“图书管理员”,帮你把一堆文件整理成AI能理解的知识库。两者通常一起用。
💻平台:跨平台(Python库)
💰价格:开源免费
📂所属:信息与计算
🎯方向:AI · 软件工程
🔗 访问 LangChain 官网 →
🛠️ 专业软件导航 📍 你在这里
覆盖12大学科,数百个行业标配软件
基础科学 · 信息与计算 · 工程与制造 · 艺术与设计 · 生命与健康 · 社科与经管 · 农业与生态 · 生活与技艺 · 娱乐与媒介 · 人文基础 · 体育与健康
📦 核心库·框架·插件生态
覆盖15个技术生态,主流库、框架与插件一网打尽
Python生态 · JavaScript/TS · Java生态 · C/C++生态 · Go生态 · Rust生态 · DevOps云原生 · 移动端开发 · 游戏开发 · 设计师插件 · 编辑器插件 · 浏览器插件 · 生产力工具 · 学术科研
📚 学习资源与开发辅助
五大类软资源,从理论到实战的完整学习生态
权威课程平台 · 官方文档 · 技术问答社区 · 实战练习 · 开放数据集
📋 常用功能 · 按使用顺序排列

开发一个“能读文档再回答问题”的AI应用标准流程:加载文档→切分→存向量库→检索→生成回答。

1
📥
安装环境
pip install langchain llama-index openai chromadb 一键安装全家桶
🎯 开发环境就绪
2
🔑
配置API密钥
在环境变量里设OPENAI_API_KEY,或换成本地模型
🎯 大模型连接成功
3
📂
加载文档
用SimpleDirectoryReader读取文件夹里所有PDF/Word/文本文件
🎯 文档进入程序
4
✂️
切分文档
用SentenceSplitter把长文档切成小块(chunk),每块几百字
🎯 文档变成小块
5
🧮
向量化存储
每块文本用embedding模型转成向量,存入ChromaDB向量数据库
🎯 知识库建成
6
🔍
检索相关块
用户提问时,从向量库里搜出最相关的几块文档内容
🎯 找到相关段落
7
🤖
LLM生成回答
把搜到的段落+用户问题拼成提示词,发给ChatGPT生成回答
🎯 AI根据文档回答
8
🔗
构建对话链
用LangChain把检索→生成→回答串成一条链(chain),自动流转
🎯 对话流程自动化
9
🧠
创建智能体
用Agent让AI自己决定先查什么、再干什么,能上网搜索和调用工具
🎯 AI能自主决策
10
🚀
部署上线
用Streamlit/Gradio做界面,或FastAPI写接口,部署到服务器
🎯 AI应用对外服务

💡 前7步就是经典的RAG(检索增强生成)流程。第8步链和第9步Agent是进阶玩法,初学阶段掌握前7步就能做出一个有实用价值的AI文档问答系统。

💡 善智点评 · LangChain / LlamaIndex到底怎么样?

LangChain好在哪:大模型应用开发的“瑞士军刀”。它统一了各种大模型API的调用方式——不管用OpenAI、Claude还是本地模型,代码写法都一样。链(Chain)和智能体(Agent)的设计让复杂应用变得像搭积木,几行代码就能实现“AI上网搜索→整理资料→写报告”这样的多步任务。社区极其活跃,生态丰富。

LlamaIndex好在哪:数据索引领域的绝对王者。它把“怎么把文档变成AI能理解的知识库”这件事做到了极致——支持几十种文档格式,内置多种切分策略和检索算法。如果你主要做RAG(让AI基于你的文档回答问题),LlamaIndex比LangChain更专业、更高效。

坑在哪:两个库的API变化极其频繁——今天学的写法,下个月可能就过时了。版本兼容性是大坑,langchain、llama-index、openai这几个库之间的版本依赖非常脆弱,经常出现“升级了一个库,另一个库就报错”。抽象层级太多,新手容易迷失在“到底用哪个类”的选择中。最核心的坑:AI应用的质量很大程度取决于你的文档质量和检索策略——软件只是工具,不是魔法。

适合谁:想用大模型开发实际应用的Python开发者。想做企业知识库问答、AI客服、文档分析等应用的人。不需要深度学习背景,会用Python调API就能上手。

免费替代:两个框架本身就是开源的。如果只用OpenAI的API,成本在调用费上,框架本身不收费。可以用Ollama跑本地开源模型(如Llama 3),完全免费。Haystack是另一个RAG框架,功能类似但设计理念不同。如果只是想快速体验RAG,用ChatGPT的“上传文件”功能就够了。

普通人建议:不要同时学两个。想做AI问答系统(RAG)从LlamaIndex入手,想做复杂AI工作流(多步推理、工具调用)从LangChain入手。两个框架现在互相集成得越来越紧密,学通一个再补另一个很容易。先做出一个能用的“文档问答机器人”,感受RAG的全流程,再逐步深入。

🧠 专业解析 · 如果你想深入理解LLM应用开发
📖 核心定义

LangChain是一个用于构建大语言模型(LLM)应用的开发框架,提供链(Chain)、智能体(Agent)、工具(Tool)、记忆(Memory)等抽象,让开发者能像搭积木一样组合大模型和外部资源。LlamaIndex(原GPT Index)是专注于数据索引和检索增强生成(RAG)的框架,它把用户的私有文档结构化地存入向量数据库,让LLM能基于这些文档回答问题。两者互补——LangChain擅长编排流程,LlamaIndex擅长管理知识。

🧠 核心逻辑:RAG与Agent——大模型的两大增强范式

大模型有两个致命短板:知识有截止日期(训练数据是旧的),而且容易“幻觉”(编造不存在的事实)。RAG解决前者——检索相关文档,把文档内容喂给模型,让它基于事实回答。Agent解决后者——让模型自己决定需要查什么、用什么工具、按什么步骤来,像人一样思考和行动。LangChain和LlamaIndex分别是这两种范式的代表框架,底层逻辑都是“给大模型外挂能力和知识”。

🌳 功能结构树 & 学习资源地图
  • 🌱 层级一:新手起步
    pip安装框架 · 配置API密钥调用ChatGPT · 第一个文档问答Demo · 理解Document/Node/Index基本概念
    📚 LlamaIndex官方入门示例
  • 🌿 层级二:核心能力
    多种文档加载器(PDF/网页/数据库) · 切分策略调优(chunk大小/重叠) · 不同检索方式(相似度/BM25/混合) · LangChain Chain串联多步操作 · 对话记忆
    📚 LangChain官方入门指南
  • 🌲 层级三:进阶工具
    Agent开发(ReAct/OpenAI Functions) · 自定义工具(Tool) · 多模态RAG(图片+文字) · 高级索引(知识图谱/树索引) · 流式输出
    📚 DeepLearning.AI免费短课(LangChain/LlamaIndex)
  • 🌳 层级四:专业应用
    生产级RAG优化(重排序/查询重写) · LangServe部署 · LangSmith追踪调试 · 多Agent协作 · 本地模型(Ollama+开源模型)替代GPT
    📚 LangSmith官方文档
📋 前置依赖

Python基础(会用pip装库、写简单函数)。了解什么是API(会用OpenAI的API Key调ChatGPT)。不需要机器学习背景——LLM应用开发更像是“调用API+处理文本”,而不是训练模型。如果有向量和数据库的基本概念会更容易理解检索部分,但可以边用边学。

🚀 后续延伸

模型部署:Ollama本地运行开源模型 · 前端界面:Streamlit/Gradio/Next.js · 向量数据库选型:ChromaDB/Qdrant/Weaviate/Pinecone · 生产监控:LangSmith/LangFuse · 多模态:GPT-4V图像理解

🪜 分步学习 · 3步从小白到能做出应用

⚠️ 新手最容易踩的3个坑

❌ 坑1:版本地狱——升级了一个库,另一个库就报ImportError。
✅ 避开方法:新建项目时用venv或conda创建隔离的Python环境。用 pip freeze > requirements.txt 锁定所有库的版本号。不要在系统Python环境里直接装,多个项目之间会互相污染。LangChain和LlamaIndex的版本更新极快,看文档时注意版本号是否匹配。
❌ 坑2:RAG检索出来的内容不相关,AI回答牛头不对马嘴。
✅ 避开方法:首先检查文档质量——格式是否标准?有没有乱码?然后调整chunk_size(太小丢失上下文,太大检索不精确)和chunk_overlap(推荐10%-20%)。最后检查检索策略——默认的余弦相似度不够好时,换成BM25或混合检索。最根本的解决方案是优化你的数据,而不是调参。
❌ 坑3:API费用超预期——一个简单的测试跑了几百次调用,账单吓人。
✅ 避开方法:开发阶段用便宜的模型(如GPT-3.5-turbo)而不是GPT-4。设置max_tokens限制每次调用的消耗。用LangSmith或LangFuse监控Token使用量。如果想完全免费,用Ollama跑本地开源模型,但需要较好的硬件。另外,注意不要把API Key提交到GitHub上——会被别人盗用。

✅ 学到什么程度算"会了"

  • 能加载自己的文档,用RAG让AI基于文档回答问题
  • 能调整chunk策略和检索方式,提升回答质量
  • 能用LangChain串联多步操作,用Streamlit写简单Web界面
  • 能创建调用外部工具的Agent,并部署上线
🤖 AI助教 · 遇到不懂的,复制这段话问AI

在实际操作中卡住了?把下面这段话完整复制到任何AI对话框,把【】里的内容换成你的具体问题

我正在自学 LangChain / LlamaIndex 开发AI应用,请你以一位耐心、专业的LLM应用开发工程师身份,用大白话帮我拆解以下问题。

我的问题是:【在这里写你的具体问题,比如:怎么用LlamaIndex加载一个PDF文件,让ChatGPT能基于这个PDF回答问题?】

要求:
1. 用大白话解释,不要用专业术语
2. 给出一步一步的操作指令,让我能照着做
3. 每一步都告诉我输入什么、点哪里、会看到什么结果
4. 如果这个操作有常见的坑,请提前告诉我怎么避开
5. 最后告诉我,做到什么程度就算成功了

我的水平:有Python基础,但刚接触大模型应用开发
🎓 高阶版:帮我构建知识体系(点击展开)

如果你想系统深入地学习,把下面这段话复制到AI对话框,把【】里的内容换成你的具体情况

我正在深入学习 LLM应用开发,请你以一位精通LangChain和LlamaIndex的认知导航专家身份,遵循“为知识建立秩序”的理念,帮我构建一个高阶学习地图。

我的当前水平:【描述你的水平,如:已经能用LlamaIndex做基础RAG,想系统学习Agent开发和RAG生产级优化】

请按以下框架回答:
1. 🧭 认知导航:先帮我理清【我想学的方向】在整个LLM应用开发知识体系中的位置
2. 🗺️ 知识地图:用“结构化学习路径”列出3-4个阶段
3. 🪜 学习路线图:按“新手→进阶→专业”的顺序给出练习项目
4. ⚠️ 高阶避坑指南:列出这个方向最容易踩的3个深层坑
5. ✅ 学习效果自查清单:判断自己是否真正理解了这个方向的核心概念

请用大白话回答,但不要回避必要的专业术语。

💡 使用技巧:新手版适合“这个报错怎么修”类问题;高阶版适合“我应该怎么系统学LLM应用开发”类问题。