AI工具箱
LangChain

LangChain 使用教程

从入门到精通的完整指南

LangChain 简介

LangChain是最流行的开源LLM应用开发框架,提供标准化的接口和工具链,帮助开发者构建基于大语言模型的复杂应用。框架核心概念包括链(Chain)、代理(Agent)、记忆(Memory)和检索(Retrieval),通过模块化组合实现从简单对话到复杂推理的各类应用。LangChain支持Python和JavaScript两种语言版本,兼容OpenAI、Anthropic、本地模型等几乎所有主流LLM供应商。框架内置文档加载器、文本分割器、向量存储、工具调用等丰富组件,并提供LangSmith用于调试监控和LangGraph用于构建有状态的多步Agent工作流。LangChain已成为LLM应用开发的事实标准,拥有庞大的社区生态。

详细功能介绍

【工具简介】LangChain是最流行的开源LLM应用开发框架,提供标准化组件和工具链,帮助开发者快速构建复杂的AI应用。

【核心功能】

①链式调用编排:通过LCEL表达式语言将提示词、模型、输出解析器等组件串联,构建可复用的处理管道,支持流式输出和并行执行。

②Agent智能体:基于ReAct等推理框架实现自主决策,模型可根据用户意图选择调用不同的工具,支持多步推理和动态规划。

③RAG检索增强:提供完整的文档加载、分割、向量化、检索和生成管道,支持多种向量数据库和检索策略。

④对话记忆管理:内置多种记忆模式,包括缓冲记忆、摘要记忆和向量记忆,支持多轮对话上下文维护。

⑤LangGraph工作流:支持构建有状态的多Agent协作系统,通过图结构定义复杂的工作流,支持人工审核和断点续执行。

【适用场景】

企业构建智能客服系统,集成知识库检索和业务API调用,让AI自动回答用户问题并执行订单查询等操作;数据分析师开发自然语言查询工具,将用户的自然语言问题转换为SQL或API调用,自动获取和分析数据;开发者构建复杂的AI工作流,如多步骤文档处理、自动化报告生成、多Agent协作完成复杂任务。

【快速入门】

①安装框架:通过pip install langchain安装核心包,根据需要安装langchain-openai、langchain-community等扩展包。

②配置模型:设置API Key环境变量,使用init_chat_model或ChatOpenAI等类初始化模型实例。

③构建链:使用管道运算符将提示词模板、模型和输出解析器组合,创建第一个处理链。

④扩展能力:添加工具、记忆和检索组件,利用Agent模式让模型自主决定调用哪些工具完成任务。

【优缺点分析】

优点:生态系统极其丰富,几乎所有LLM供应商和工具都有LangChain集成;社区活跃文档完善,遇到问题容易找到解决方案;抽象层次合理,从简单调用到复杂工作流都能支持。

缺点:抽象层较多导致调试困难,错误信息不够直观;版本迭代频繁,API变更频繁带来维护成本;对于简单场景引入的复杂度偏高,存在过度工程化问题。

【适合人群】

AI应用开发者,需要快速构建基于LLM的对话、检索和自动化应用;全栈工程师,希望使用统一框架对接多种LLM和工具;技术团队负责人,评估和选择LLM应用开发技术栈。

1LangChain 入门教程:大模型应用开发实战指南

入门10分钟
LangChain 是最流行的大语言模型应用开发框架,提供链式调用、代理工具和数据连接器等丰富组件,可用于构建 AI 写作助手、文本摘要、内容生成等各类 LLM 应用。 快速开始 1. 安装 LangChain:pip install langchain langchain-openai,确保 Python 版本 3.8 以上。 2. 获取 OpenAI API Key,在环境变量中设置:export OPENAI_API_KEY=your-api-key。 3. 创建第一个应用,新建 app.py 文件,写入基础代码即可运行。推荐使用 Jupyter Notebook 进行交互式开发和调试。 核心功能演示 功能一:链式调用(Chain) 链式调用是 LangChain 的核心概念。以文本摘要为例,先创建提示词模板:from langchain.prompts import PromptTemplate,定义摘要模板。然后创建 LLMChain,将提示词模板和模型串联。调用 chain.run() 传入长文本,即可获得结构化的摘要结果。链式调用支持多级串联,前一步的输出自动作为后一步的输入。 功能二:文档加载与检索 使用 DocumentLoader 加载各类文档,支持 PDF、网页、数据库等多种数据源。加载后通过 TextSplitter 将文档切分为适当大小的片段,再用 Embedding 模型将文本转为向量存入向量数据库(如 FAISS、Chroma)。查询时先检索最相关的文档片段,再交给 LLM 生成回答,这就是 RAG 的基本流程。 功能三:代理(Agent) Agent 让 LLM 具备使用工具的能力。定义一组工具如搜索引擎、计算器、数据库查询等,创建 Agent 时将工具列表传入。当用户提问时,Agent 会自主决定调用哪些工具、以什么顺序执行,最终综合所有信息给出回答。适合构建需要多步推理和外部数据访问的智能应用。 实际使用案例 场景一:智能客服系统 用 LangChain 构建企业客服机器人,将产品文档和 FAQ 加载到向量数据库。用户提问时先检索相关文档,再由 LLM 生成自然语言回答。结合 Agent 功能,机器人还能查询订单状态、发起工单等操作,实现端到端的客服自动化。 场景二:内容创作助手 搭建写作辅助工具,输入主题关键词后自动搜索相关素材,通过链式调用依次完成大纲生成、段落撰写和润色修改。支持自定义写作风格和输出格式,帮助内容创作者提升产出效率。 常见问题 FAQ Q:LangChain 只支持 OpenAI 吗? A:不是,LangChain 支持几乎所有主流 LLM 提供商,包括 Anthropic、Google、Hugging Face、本地模型等。通过统一的接口抽象,切换模型只需更改几行代码,业务逻辑无需修改。 Q:调用速度慢怎么优化? A:使用流式输出(Streaming)提升首字响应速度;对重复查询启用缓存;将复杂任务拆分为并行子任务;减少不必要的链式调用层数。生产环境建议使用异步调用提升并发性能。 小贴士 1. 先用 LCEL 语法:LangChain 推荐使用 LCEL(LangChain Expression Language)构建链,语法更简洁,支持流式和批处理,比传统的 Chain 类更灵活高效。 2. 调试时开启 verbose 模式:在链或 Agent 中设置 verbose=True,可以看到每一步的输入输出和中间推理过程,快速定位问题所在。 3. 善用社区模板:LangChain Hub 提供大量现成的提示词模板和应用模板,新手可以直接复用并在此基础上修改,避免从零开始搭建。