LangChain 概述

LangChain 是一个用于构建 大语言模型(LLM)应用的开源框架,通过模块化设计将 Prompt、Model、Memory、Chain、Agent、Tool 等核心组件有机组合,使开发者能够快速构建复杂的 AI 应用。以下覆盖 LangChain 的框架定位、核心设计理念、版本演进以及生态系统。

概念速览

图片

一、LangChain 是什么


1.1 框架定位

通俗理解:如果把 LLM 比作一个聪明的大脑,那么 LangChain 就是给这个大脑装上「手脚」的框架。光有大脑只能思考(聊天),装上手脚才能真正做事——查天气、搜网页、读文件、调用公司内部系统。

LangChain 的官方定位是: 构建基于大语言模型的智能体和应用程序的最简单方式 。

图片

LangChain 解决的核心问题 :

图片

1.2 LangChain 能做什么

通俗理解:光靠 ChatGPT 只能聊天,但通过 LangChain,你可以让 AI 查天气、搜网页、读文件、写代码、调用公司内部 API,甚至自己决定该做什么。

典型应用场景 :

图片

二、核心设计理念


2.1 模块化:像搭积木一样构建应用

通俗理解:LangChain 把构建 AI 应用所需的各种能力拆成了一块块「积木」,你可以根据需求自由组合。需要记忆?加上 Memory 积木。需要搜索?加上 Retriever 积木。这种设计让开发变得灵活且可维护。

LangChain 的核心设计哲学是 模块化(Modular)、可组合(Composable)、可扩展(Extensible) 。

图片

模块化的好处 :

图片

2.2 可组合:用管道操作符串联流程

LangChain 引入了 LCEL(LangChain Expression Language) ,使用管道操作符 | 将组件串联,代码简洁直观:

# LCEL 风格:声明式、可读性强
chain = prompt | model | parser

# 等价于传统写法
def chain(input):
    formatted = prompt.format(input)
    response = model.invoke(formatted)
    result = parser.parse(response)
    return result

关键理解:LCEL 的核心是 Runnable 协议,所有组件都实现了统一的 invoke/batch/stream/ainvoke 接口,这使得组件可以像水管一样自由连接。

2.3 可扩展:统一接口屏蔽厂商差异

通俗理解:无论你用 OpenAI、Claude、通义千问还是本地模型,LangChain 都提供统一的调用方式。就像用 USB 接口一样,不管插什么设备,接口都是一样的。

图片

统一接口的价值 :

  • 避免厂商锁定 :随时切换模型提供商
  • 降低学习成本 :学一套 API,适用所有模型
  • 简化代码维护 :切换模型只需改一行配置

三、版本演进


3.1 版本历史概览

版本说明:截至 2026 年 2 月,LangChain 当前版本为 v1.2.8。

图片

3.2 各版本重点变化

图片

3.3 v1.0 重要更新

Agent 创建方式的变化 :

# v1.0 推荐方式:统一 create_agent API(底层基于 LangGraph)
from langchain.agents import create_agent
from langchain_core.tools import tool

@tool
def get_weather(city: str) -> str:
    """获取城市天气信息"""
    weather_db = {
        "北京": "晴天,15-25°C",
        "上海": "多云,18-28°C",
    }
    return weather_db.get(city, f"{city}的天气暂不可用")

# 创建 Agent
agent = create_agent(
    model=llm,
    tools=[get_weather],
    system_prompt="你是一个智能助手,可以查询天气信息。"
)

# 调用
result = agent.invoke({
    "messages": [{"role": "user", "content": "北京天气怎么样?"}]
})

关键理解:v0.3 的 Agent 底层基于 LangGraph 实现,获得了持久化执行、流式传输、人机协作等高级能力。

四、生态系统


4.1 包结构全景

通俗理解:LangChain 把功能拆成了多个独立的包,就像乐高积木分成不同系列。核心包是必须的,集成包按需安装,这样既保持轻量,又能灵活扩展。

图片

4.2 核心包说明

图片

注意:langserve 已被官方建议弃用,新项目推荐使用 LangGraph Platform 进行 API 服务部署。

4.3 LangGraph:Agent 的底层引擎

LangChain 官方将产品分为三个层级:Deep Agents(开箱即用的高级 Agent)→ LangChain(快速构建 Agent 和应用)→ LangGraph(底层编排框架)。简单应用用 LangChain,复杂工作流用 LangGraph。

图片

LangChain 产品层级选择建议 :

图片

4.4 LangSmith:生产环境的守护者

通俗理解:LangSmith 就像 LLM 应用的「监控摄像头」,它能记录每一次调用的完整过程,帮你定位问题、优化性能、评估质量。在生产环境中,没有可观测性就像盲人摸象。

LangSmith 核心功能 :

图片

启用 LangSmith :

import os

# 在代码最前面添加
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "你的 LangSmith API Key"

# 然后正常使用 LangChain,追踪自动开启

五、快速示例


5.1 环境搭建

# 创建虚拟环境(推荐)
python -m venv langchain_env
source langchain_env/bin/activate  # Mac/Linux
# langchain_env/Scripts/activate   # Windows

# 安装核心包
pip install langchain langchain-core

# 根据使用的模型安装对应包
pip install langchain-openai       # OpenAI
pip install langchain-anthropic    # Claude
pip install dashscope              # 通义千问

# Agent 必装(v0.3 基于 LangGraph)
pip install langgraph

# 可选:环境变量管理
pip install python-dotenv

5.2 配置 API Key

创建 .env 文件:

# OpenAI
OPENAI_API_KEY=sk-xxx

# 通义千问
DASHSCOPE_API_KEY=sk-xxx

# Claude
ANTHROPIC_API_KEY=sk-xxx

# LangSmith(可选)
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=xxx

5.3 第一个 LangChain 应用

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

load_dotenv()

# 1. 初始化模型
model = ChatOpenAI(model="gpt-4")

# 2. 定义 Prompt 模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一位{role},擅长用简洁易懂的方式解释概念。"),
    ("human", "请解释:{concept}")
])

# 3. 定义输出解析器
parser = StrOutputParser()

# 4. 用 LCEL 组合成 Chain
chain = prompt | model | parser

# 5. 调用
result = chain.invoke({
    "role": "物理学教授",
    "concept": "量子纠缠"
})
print(result)

4.4 第一个 Agent

from langchain.agents import create_agent
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI

# 1. 定义工具
@tool
def get_weather(city: str) -> str:
    """获取城市天气信息"""
    weather_db = {
        "北京": "晴天,15-25°C",
        "上海": "多云,18-28°C",
    }
    return weather_db.get(city, f"{city}的天气暂不可用")

# 2. 初始化模型
llm = ChatOpenAI(model="gpt-4")

# 3. 创建 Agent
agent = create_agent(
    model=llm,
    tools=[get_weather],
    system_prompt="你是一个智能助手,可以查询天气信息。"
)

# 4. 调用
result = agent.invoke({
    "messages": [{"role": "user", "content": "北京天气怎么样?"}]
})

print(result["messages"][-1].content)

关键要点回顾

  1. 1. LangChain 是智能体工程平台 :让大模型能够调用工具、访问数据、执行任务,而不只是聊天

  2. 2. 模块化设计是核心 :组件独立可用、自由组合、易于替换,像搭积木一样构建应用

  3. 3. LCEL 是推荐的编程范式 :使用管道操作符 | 声明式组合组件,代码简洁可读

  4. 4. v0.3 深度整合 LangGraph :Agent 底层基于 LangGraph,获得状态管理、人机协作等高级能力

  5. 5. 生态系统分层清晰 :core(核心抽象)→ langchain(高层封装)→ community/integrations(集成)→ langgraph(运行时)→ langsmith(平台)

这里给大家精心整理了一份全面的AI大模型学习资源包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

👇👇扫码免费领取全部内容👇👇
在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2026行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

7. 资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐