1.1 LangChain介绍
github地址:github.com/langchain-a…
官网地址:www.langchain.com/langchain
官方文档:docs.langchain.com/oss/python/…
API 文档:reference.langchain.com/python/lang…
LangChain是2022年10月,由哈佛大学的Harrison Chase(哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。
比如,搭建 Agent、问答系统(QA)、对话机器人、文档搜索系统等。
LangChain的发布比ChatGPT问世还要早一个月,从这个启动日期也可以看出创始人的眼光,占了先机的它迅速获得广泛关注和支持!
LangChain在Github上的热度变化:
简单概括:
LangChain ≠ LLMs。LangChain 之于 LLMs,类似 Spring 之于 Java,Django 之于 Python。
顾名思义,LangChain中的“Lang”是指language,即大语言模型,“Chain”即“链”,也就是将大模型与外部数据&各种组件连接成链,以此构建AI应用程序。 1.1.1 有哪些大模型应用开发框架
| 框架 | 描述 |
|---|---|
| LangChain(Python ) | 出现最早、最成熟的,适合复杂任务分解和单Agent应用 |
| LlamaIndex(Python ) | 专注于高效的索引和检索,适合 RAG 场景 |
| LangChain4J(Java ) | LangChain出了Java、JavaScript(LangChain.js)两个语言的版本,LangChain4j的功能略少于LangChain,但是主要的核心功能都是有的 |
| SpringAI / SpringAI Alibaba(Java ) | 有待进一步成熟,只是简单的对于一些接口进行了封装 |
| SemanticKernel(C# ) | 微软推出的,对于C#同学来说,那就是5颗星 |
1)问题1:LLMs用的好好的,为什么还需要LangChain?
在大语言模型(LLM)如 ChatGPT、Claude、DeepSeek 等快速发展的今天,开发者不仅希望能“使用”这些模型,还希望能将它们灵活集成到自己的应用中,实现更强大的对话能力、检索增强生成(RAG)、工具调用(Tool Calling)、多轮推理等功能。
2)问题2:我们可以使用GPT 或GLM4 等模型的API进行开发,为何需要LangChain这样的框架?
不使用LangChain,确实可以使用GPT 或GLM4 等模型的API进行开发。比如,搭建Agent、问答系统(QA)、对话机器人、文档搜索系统等复杂的 LLM 应用。
但使用LangChain的好处:
简化开发难度:更简单、更高效、效果更好。
开发人员可以更专注于业务逻辑,而无须花费大量时间和精力处理底层技术细节。
学习成本更低:不同模型的API不同,调用方式也有区别,切换模型时学习成本高。使用LangChain,可以以统一、规范的方式进行调用,有更好的移植性。
现成的链式组装:LangChain提供了一些现成的链式组装,用于完成特定的高级任务。让复杂的逻辑变得结构化、易组合、易扩展。
3)问题3:LangChain提供了哪些功能?
LangChain 是一个帮助你构建 LLM 应用的全套工具集。这里涉及到prompt 构建、LLM 接入、记忆管理、工具调用、RAG、Agent开发等模块。
学习 LangChain 最好的方式就是做项目。
1.1.3 LangChain 使用场景
| 项目场景 | 技术点 |
|---|---|
| 文档问答助手 | Prompt + Embedding + RetrievalQA |
| 智能日程规划助手 | Agent + Tool + Memory |
| LLM+ 数据库问答 | SQLDatabaseToolkit + Agent |
| 多模型路由对话系统 | RouterChain + 多 LLM |
| 互联网智能客服 | ConversationChain + RAG +Agent |
| 企业知识库助手(RAG + 本地模型) | VectorDB + LLM + Streamlit |
1.1.1 LangChain 生态位置
项目类型1:文档问答助手
案例:企业使用 LangChain 加载内部文档(如员工手册、产品说明),结合向量存储实现语义搜索,回答员工或客户的问题。
示例:新员工入职培训中,销售岗位有哪些注意事项呢?检索相关手册并生成自然语言回答。
场景:基于私有或外部数据构建问答系统。
项目类型2:智能助理开发
案例:LangChain 的 Agent 模块(如 ReAct Agent)结合工具,完成任务。
示例1:用户请求调用天气 API、计算器和日历,规划户外旅游活动。
示例2:结合使用Google Search、Firecrawl网页爬取工具,实现“分析某股票趋势并生成报告”的任务。
场景:构建自主决策的Agent,执行复杂任务。
项目类型3:对话聊天机器人
案例:电商平台使用 LangChain 的 ConversationChain,结合 ConversationBufferMemory,记录用户历史对话,提供个性化客服。
示例:用户问“推荐一款跑鞋”,机器人根据之前提到的偏好(如“喜欢轻量鞋”)推荐合适产品。
场景:开发上下文感知的聊天机器人,支持多轮对话。
项目类型4:数据分析与洞察生成
案例:金融分析师使用 LangChain 加载 CSV 数据,结合 LLM 分析销售趋势,生成自然语言报告。
示例:从销售数据中提取“哪些产品在特定地区销量最高”并生成可视化描述。
场景:处理结构化或非结构化数据,生成报告或洞察。
项目类型5:多模态应用
案例:平台使用 LangChain 结合 CLIP 模型,分析产品图片、视频等,生成高质量回复。
示例1:教育平台分析教学视频和讲义,生成互动式学习内容。
示例2:零售平台结合产品图片和描述,回答“哪些产品适合户外使用?”。
场景:结合文本、图像、语音等多模态数据。
项目类型6:教育与学习助手
案例:在线教育平台使用 LangChain 构建数学助手,结合 Wolfram Alpha 工具解答复杂公式。
示例:学生提问“积分的定义”,LangChain 检索教材并生成逐步讲解。
场景:开发个性化教育工具,支持学习和练习。
项目类型7:自动化工作流
案例:营销团队使用 LangChain 整合市场数据,自动生成社交媒体帖子。
示例:从 CRM 数据生成客户跟进邮件,结合日历安排发送时间。
场景:自动化复杂业务流程,如报告生成、任务调度。
项目类型8:研究与创新
案例:研究者使用 LangChain 分析文献,结合知识图谱提取跨领域的概念关系。
示例:从气候变化文献中提取关键趋势,生成研究报告。
场景:支持学术或行业研究,挖掘数据关联。
1.1.2 LangChain 架构
1)总体架构
LangChain 帮助快速开始构建 Agent ,支持选择的任何模型提供商。
LangGraph 允许通过低级编排、记忆和人工参与支持来控制自定义 Agent 的每一步。可以管理具有持久执行能力的长时间运行任务。
LangSmith 是一个帮助 AI 团队使用实时生产数据进行持续测试和改进的平台。提供观测、评估与部署功能。
Deep Agents 用于构建能够规划、使用子 Agent 并利用文件系统处理复杂任务的 Agent,受 Claude Code、Deep Research 和 Manus 等应用的启发。
2)LangChain 架构
| 包 | 描述 |
|---|---|
| langchain | 包含构建使用 LLM 的应用所需的所有实现的主入口点 |
| langchain-core | LangChain 生态系统中的核心接口和抽象 |
| langchain-text-splitters | 用于文档处理的文本分割工具 |
| langchain-mcp-adapters | 在 LangChain 和 LangGraph 应用中提供 MCP 工具 |
| langchain-tests | 用于验证 LangChain 集成包实现的标准化测试套件 |
| langchain-classic | 遗留的 angchain 实现和组件 |
后面讲继续介绍langchain的开发场景以及开发场景介绍