LangChain-基础介绍

129 阅读6分钟

1.1 LangChain介绍

1.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上的热度变化:

image.png

简单概括:

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.2 为什么需要 LangChain

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 生态位置

image.png

  项目类型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)总体架构

image.png   LangChain 帮助快速开始构建 Agent ,支持选择的任何模型提供商。

  LangGraph 允许通过低级编排、记忆和人工参与支持来控制自定义 Agent 的每一步。可以管理具有持久执行能力的长时间运行任务。

  LangSmith 是一个帮助 AI 团队使用实时生产数据进行持续测试和改进的平台。提供观测、评估与部署功能。

  Deep Agents 用于构建能够规划、使用子 Agent 并利用文件系统处理复杂任务的 Agent,受 Claude Code、Deep Research 和 Manus 等应用的启发。

2)LangChain 架构

image.png

描述
langchain包含构建使用 LLM 的应用所需的所有实现的主入口点
langchain-coreLangChain 生态系统中的核心接口和抽象
langchain-text-splitters用于文档处理的文本分割工具
langchain-mcp-adapters在 LangChain 和 LangGraph 应用中提供 MCP 工具
langchain-tests用于验证 LangChain 集成包实现的标准化测试套件
langchain-classic遗留的 angchain 实现和组件

后面讲继续介绍langchain的开发场景以及开发场景介绍