目录

前言

一、为什么我们需要LangChain?

1.原生LLM API 开发的现实痛点

2.原生API与LangChain极简代码对比

3.LangChain 核心价值总结

二、LangChain 完整介绍

1.定义与发展背景

2.LangChain 主流落地场景

3.LangChain 三层生态:LangGraph / LangChain / Deep Agents

4.LangChain三层核心架构

5.模块协作实例:企业文档问答机器人

三、标准化环境准备

1.工具选型说明:venv /conda/uv

2 LangChain 分包结构(按需安装,不冗余)

4.创建项目并安装LangChain依赖

5.项目文件说明

6.主流大模型平台选型指南

7 .env 环境变量配置(禁止硬编码密钥)

8 验证 LangChain 安装成功

四、第一个 LangChain 运行 Demo

五、总结


前言

随着大模型 API 普及,很多开发者直接调用 OpenAI、DeepSeek 等厂商接口开发 AI 应用,但落地过程中会大量重复编写对话管理、文档检索、工具调用、多步骤逻辑等胶水代码。LangChain 作为当前最主流的 LLM 应用开发开源框架,提供标准化组件、统一模型调用接口、完整 RAG/Agent 能力,大幅降低大模型工程化成本。

本文基于官方最新 v1.x 版本,结合 uv 现代化 Python 工具链,完整讲解 LangChain 核心概念、生态分层、环境搭建流程,并提供可直接运行的入门 Demo,适合零基础开发者快速上手。

一、为什么我们需要LangChain?

1.原生LLM API 开发的现实痛点

仅直接调用厂商API,各类业务需求都需要从零开发,重复造轮子:

想要实现功能 纯原生API需要手动开发
多轮对话、长期上下文记忆 手动维护消息列表、控制 Token 长度、处理会话状态
企业私有文档问答(RAG) 自行实现文档加载、文本分割、向量存储、相似度检索
模型调用外部工具(计算机/数据库/联网) 自定义函数 Schema、解析模型工具返回 JSON、异常捕获
复杂多步骤自主任务 手写循环、状态机、重试逻辑,自研 Agent 调度架构
强制模型输出标准JSON 编写正则、自定义解析器,兼容模型输出不规范场景
切换底层大模型(GPT -> DeepSeek -> Claude) 重构接口地址、参数、消息解析逻辑,几乎重写代码

单一功能开发难度不高,但多需求叠加后,80% 开发时间消耗在底层通用逻辑,而非业务本身。

2.原生API与LangChain极简代码对比

方式1:原生OpenAI API(冗余繁琐)

import openai
# 需自行处理消息、流式、工具、记忆等全部逻辑
response = openai.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

方式 2:LangChain 统一接口(简洁通用)

from langchain_openai import ChatOpenAI
# 统一接口,支持流式、异步、批量,换模型仅修改一行配置
llm = ChatOpenAI(model="gpt-4")
response = llm.invoke("你好")
print(response.content)

简单问答差距不明显,一旦叠加记忆、RAG、工具调用,原生 API 代码量会指数级膨胀,LangChain 始终保持简洁统一的开发范式。

3.LangChain 核心价值总结

核心优势 详细说明
避免重复造轮子 对话管理、RAG全链路、工具调用、输出解析均提供开箱即用组件
模型无感切换 一套标准接口兼容 70 + 模型厂商,切换模型仅修改配置
聚焦业务开发 底层消息拼接、参数兼容、异常容错全部由框架封装
完善生态体系 100 + 内置工具、50 + 向量数据库原生集成
可视化调试排错 配套 LangSmith 平台,全链路追踪模型、工具、检索执行流程

一句话总结:LangChain 帮开发者从「对接 API 底层细节」转向「实现 AI 业务产品逻辑」。

二、LangChain 完整介绍

1.定义与发展背景

LangChain 是 2022 年 10 月由 Harrison Chase 开源的 LLM 应用开发框架,发布时间早于 ChatGPT(2022 年 11 月),提前布局大模型应用赛道,如今已是行业标准开发工具。

官方定位:构建大语言模型驱动应用最简单的方式,少量代码即可对接全球主流大模型,内置成熟 Agent、RAG 架构,快速落地 AI 程序。

官方资源地址:

2.LangChain 主流落地场景

框架针对前文所有开发痛点提供标准化解决方案,覆盖绝大多数企业 AI 需求:

应用场景 框架能力支持 典型落地产品
Agent 智能代理 内置 ReAct、Tool Calling 架构,自主规划任务、调用工具 自动化办公助手、多步骤任务机器人
RAG 检索增强生成 DocumentLoader→文本分割→向量库→检索器完整链路 企业知识库问答、合同 / 文档解析工具
工具调用 @tool 装饰器快速自定义工具,模型自动识别调用 天气查询、计算器、数据库查询、API访问
智能问答系统 检索 + 模型组合,精准回答私有文档内容 企业客服、内部知识问答平台
多智能体协作 多Agent分工配合,拆解复杂长周期任务 项目流程管理、多维度综合决策系统

3.LangChain 三层生态:LangGraph / LangChain / Deep Agents

LangChain并非独立库,整套生态分为三层,逐层依赖,按需选用:

1.LangGraph(运行时):底层,基于图结构精确管控工作流,支持状态持久、人工审核、流程回滚,控制力最强,适合企业级复杂编排;

2.LangChain(框架):中层,本课程核心,标准化组件自由组装,平衡灵活性与上手难度,通用RAG、Agent 开发首选;

3.Deep Agents(套件):上层,开箱即用封装最实践,内置规划、对话压缩能力,上手最简单,适合快速搭建简易自主智能体。

三者核心对比

维度 LangGraph LangChain Deep Agents
定位 Agent底层运行时 通过LLM应用开发框架 一站式Agent开发套件
流程控制权 完全自定义节点流转 组建自由组合 LLM自主决策流程
上手难度 高,需掌握图、状态管理 中等,十行代码即可运行 极低,开箱即用
适用场景 强管控业务、人工审批、分支流程 RAG、自定义工具链、通用Agent 快速搭建简易自主智能体
Token消耗 可控 中等 偏高(内置规划压缩)

选型指南

  • 快速搭建简易智能体,不想关注底层架构 → Deep Agents
  • 自定义 RAG、工具链、灵活组合业务流程(本文学习路线)→ LangChain
  • 需要精确管控每一步流程、人工介入、流程回滚 → LangGraph

4.LangChain三层核心架构

整体分为基础层、能力层、应用层,下层为上层提供能力支撑,所有AI应用均由多层模块组合实现。

(1)基础层:模型通信底层地基

负责框架与大模型交互,统一消息、提示词、流式输出标准:

  • Messages:标准化消息结构(系统消息、用户消息、AI返回、工具消息)
  • Prompts:可复用提示词模版,支持动态变量填充
  • Streaming:逐Token流式输出,实现打字机效果
  • Middleware:v1.x新增,统一处理重试、缓存、超时拦截

(2)能力层:通用核心功能组件

独立可拆分模块,按需组合使用:

  • Models:统一模型调用接口,兼容对话模型、嵌入模型,支持 invoke / batch / stream 三种调用方式
  • Tools:自定义外部工具,赋予模型访问外部资源能力
  • Memory:会话记忆管理,分为短期会话记忆管理、长期持久记忆、摘要压缩记忆
  • Structured Output:基于 Pydantic 约束输出,强制返回标准 JSON 格式

(3)应用层:面向业务场景顶层封装

组合下层能力,直接解决完整业务需求:

  • Chains:LCEL 管道语法串联多个组件,构建流水线任务
  • Retrieval (RAG):完整检索增强生成链路,私有知识库核心
  • Agents:自主推理调度工具,循环执行任务直至完成需求

5.模块协作实例:企业文档问答机器人

完整链路模块协作流程:

  1. 用户提问传入 Prompt 模板标准化处理
  2. Retrieval 检索向量数据库中相关文档片段
  3. 将问题 + 检索文档送入 Model 大模型推理
  4. Structured Output 约束模型返回规范 JSON 答案
  5. Memory 保存本轮问答,支持用户后续追问
  6. 若需要自主判断是否检索 / 调用工具,交由 Agent 动态调度全流程

三、标准化环境准备

1.工具选型说明:venv /conda/uv

Python 开发环境需要解决环境隔离第三方包安装两大需求,主流工具对比:

  1. venv+pip:Python 原生工具,无需额外安装,但速度慢、依赖管理简陋;
  2. conda:全能工具,可管理 Python 版本与 C/C++ 底层库,体积大、依赖解析速度慢;
  3. uv:Rust 编写新一代工具,速度比 pip 快 10~100 倍,同时管理虚拟环境、Python 版本、依赖锁定,完美适配 LangChain 纯 Python 生态。

本教程统一使用 uv,放弃 conda;仅深度学习需要 CUDA 等底层库时,才推荐 conda。

2 LangChain 分包结构(按需安装,不冗余)

框架拆分多包,按功能分类,仅安装项目所需依赖:

分类 包名 作用
核心基础包 langchain 框架顶层核心,必装
langchain-core 底层抽象类、LCEL 语法,随 langchain 自动安装
模型集成包 langchain-openai OpenAI/GPT 系列适配
langchain-deepseek DeepSeek 模型适配
langchain-ollama 本地开源模型 Ollama 适配
langchain-anthropic Claude 系列适配
langchain-community 社区海量模型、工具、数据库集成
扩展功能包 langchain-chroma Chroma 轻量向量库
python-dotenv 读取.env 密钥配置文件

3.uv完整安装流程

Windows PowerShell

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Mac / Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

验证安装:

uv --version

4.创建项目并安装LangChain依赖

# 1. 创建项目文件夹并进入
mkdir langchain-course && cd langchain-course

# 2. uv初始化项目,自动生成虚拟环境
uv init

# 3. 锁定Python版本(推荐3.12,最低3.10)
uv python pin 3.12

# 4. 安装核心LangChain包
uv add langchain python-dotenv

# 5. 按需安装模型适配包(示例:DeepSeek + OpenAI)
uv add langchain-deepseek langchain-openai

# 6. 如需向量库,额外执行
uv add langchain-chroma

注意:使用uv add会自动写入 pyproject.toml 并生成 uv.lock 锁文件,保证环境可复现;uv pip install仅临时安装,不记录依赖。

5.项目文件说明

执行初始化后目录结构:

langchain-course/
├── pyproject.toml  # 项目配置、依赖清单
├── uv.lock         # 精确依赖锁文件,团队同步环境使用
├── .venv/          # uv自动生成的虚拟环境
└── main.py         # 代码入口
  • pyproject.toml:手动管理,记录项目需要哪些依赖,提交 Git;
  • uv.lock:uv 自动生成,锁定每个包精确版本,同事执行uv sync一键还原完全一致环境;
  • .venv:虚拟环境文件夹,加入.gitignore 禁止提交。

6.主流大模型平台选型指南

LangChain 模型无关特性,切换模型仅修改配置,提前准备对应 API Key:

1、海外官方平台(需科学上网 + 境外支付)

OpenAI、Anthropic、Google Gemini,延迟低、稳定性强;

2、国内中转平台(国内直连,支付宝付费)

CloseAI,兼容 OpenAI 接口,无需改代码,适合国内学习;

3、国产大模型(国内直连,免费额度充足)

DeepSeek、阿里云百炼通义千问、智谱 GLM、硅基流动开源模型推理。

7 .env 环境变量配置(禁止硬编码密钥)

1.项目根目录新建.env文件

# OpenAI代理配置
OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://api.closeai-asia.com/v1

# DeepSeek国产模型配置
DEEPSEEK_API_KEY=sk-xxx

# LangSmith调试(可选)
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=ls-xxx

2.代码读取环境变量

from dotenv import load_dotenv
import os

# 加载.env配置
load_dotenv()
api_key = os.getenv("DEEPSEEK_API_KEY")

3.安全规范:将.env写入.gitignore,避免密钥泄露。

8 验证 LangChain 安装成功

uv run python -c "import langchain; print(langchain.__version__)"

正常输出版本号即代表环境搭建完成。

四、第一个 LangChain 运行 Demo

新建 main.py,实现基础模型调用,验证整套环境可用性:

import os
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# 加载本地密钥配置
load_dotenv()

# 初始化大模型
llm = ChatDeepSeek(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    model="deepseek-chat",
    temperature=0.1
)

# 执行调用
res = llm.invoke("用简单几句话介绍LangChain的作用")
print("模型返回结果:")
print(res.content)

运行代码:

uv run python main.py

成功输出模型回答即代表整套环境、依赖、密钥配置全部正常。

五、总结

  1. LangChain 解决原生 LLM API 重复开发痛点,提供标准化组件,统一多模型调用接口;
  2. 生态分为 LangGraph、LangChain、Deep Agents 三层,根据项目复杂度灵活选择;
  3. 采用 uv 现代化工具链搭建环境,依赖可锁定、安装速度远超传统 pip/conda;
  4. 项目规范使用.env 管理 API 密钥,搭配 LangSmith 实现全链路可视化调试
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐