开发一个“能读文档再回答问题”的AI应用标准流程:加载文档→切分→存向量库→检索→生成回答。
💡 前7步就是经典的RAG(检索增强生成)流程。第8步链和第9步Agent是进阶玩法,初学阶段掌握前7步就能做出一个有实用价值的AI文档问答系统。
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的全流程,再逐步深入。
LangChain是一个用于构建大语言模型(LLM)应用的开发框架,提供链(Chain)、智能体(Agent)、工具(Tool)、记忆(Memory)等抽象,让开发者能像搭积木一样组合大模型和外部资源。LlamaIndex(原GPT Index)是专注于数据索引和检索增强生成(RAG)的框架,它把用户的私有文档结构化地存入向量数据库,让LLM能基于这些文档回答问题。两者互补——LangChain擅长编排流程,LlamaIndex擅长管理知识。
大模型有两个致命短板:知识有截止日期(训练数据是旧的),而且容易“幻觉”(编造不存在的事实)。RAG解决前者——检索相关文档,把文档内容喂给模型,让它基于事实回答。Agent解决后者——让模型自己决定需要查什么、用什么工具、按什么步骤来,像人一样思考和行动。LangChain和LlamaIndex分别是这两种范式的代表框架,底层逻辑都是“给大模型外挂能力和知识”。
Python基础(会用pip装库、写简单函数)。了解什么是API(会用OpenAI的API Key调ChatGPT)。不需要机器学习背景——LLM应用开发更像是“调用API+处理文本”,而不是训练模型。如果有向量和数据库的基本概念会更容易理解检索部分,但可以边用边学。
模型部署:Ollama本地运行开源模型 · 前端界面:Streamlit/Gradio/Next.js · 向量数据库选型:ChromaDB/Qdrant/Weaviate/Pinecone · 生产监控:LangSmith/LangFuse · 多模态:GPT-4V图像理解
跟着做:
跟着做:
跟着做:
在实际操作中卡住了?把下面这段话完整复制到任何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应用开发”类问题。