工业级大模型学习之路018:LangChain零基础入门教程(第一篇):LangChain架构与生态介绍

一、为什么我们需要 LangChain?

1.1 大模型应用开发的三大核心痛点

在 LangChain 出现之前,开发工业级 LLM 应用需要从零解决以下问题,这也是绝大多数个人和团队的痛点:

痛点 具体表现 传统解决方案的缺陷
接口碎片化 不同大模型(OpenAI、Anthropic、通义千问、本地模型)的 API 格式、参数、返回值完全不同 重复编写适配代码,维护成本高,切换模型需要重构
可观测性缺失 LLM 是 "黑盒",无法追踪每一步的输入输出、执行时间、Token 消耗 难以调试错误、无法定位性能瓶颈、无法评估系统效果
复杂流程难实现 多轮对话、工具调用、循环推理、人机交互等复杂逻辑需要手动管理状态和流程 代码混乱、扩展性差、容易出现无限循环和状态不一致

1.2 LangChain 的本质:LLM 应用的操作系统

LangChain 不是一个简单的工具库,而是大语言模型应用的操作系统,它提供了一套标准化的抽象和工具链,让开发者可以专注于业务逻辑,而不是底层基础设施。

它解决了 LLM 应用开发的三大核心问题:

  • 可组合性:将 LLM、提示词、检索、工具等组件标准化为可插拔的 "积木",任意组合
  • 可观测性:通过 LangSmith 实现全链路追踪、评估和监控
  • 可扩展性:支持从简单的问答机器人到复杂的多智能体系统的平滑演进

1.3 为什么必须学 LangChain 1.2+,而不是旧版本?

LangChain 1.0 是一个里程碑式的版本,它彻底重构了架构,解决了 0.x 版本的所有核心问题。

本课程完全不涉及任何已弃用的 0.x API(如LLMChainAgentExecutor、旧Chain类),所有代码均符合 1.2 + 工业级标准。

二、LangChain 全景与架构解析

2.1 LangChain 四大核心层级架构

LangChain 采用分层架构设计,每层职责明确,依赖关系清晰,这是它能够支持大规模复杂应用的关键。

LangChain 核心层级图

各层级详细说明:

  1. langchain-core(最底层,核心抽象)

    • 定义了所有组件的基础接口:RunnableBaseChatModelBaseRetrieverBaseTool
    • 实现了 LCEL 表达式语言、状态管理、Middleware 系统
    • 无任何第三方依赖,是整个生态的基石
    • 版本更新最慢,保证 API 稳定性
  2. langchain-community(社区贡献层)

    • 由社区维护的第三方集成:各种大模型、向量数据库、工具、加载器
    • 包含超过 1000 种集成,覆盖几乎所有主流 LLM 服务和工具
    • 版本更新快,新功能优先在这里发布
  3. langchain(官方组件层)

    • 由 LangChain 官方维护的核心组件
    • 包含经过验证的、生产级的 RAG 链、Agent 实现、提示模板等
    • 依赖 langchain-core 和 langchain-community
    • 是大多数应用开发的主要依赖
  4. LangGraph(编排层,1.2 + 核心)

    • 专门用于构建有状态、多步骤、循环工作流的库
    • 是 LangChain 1.0 + 所有 Agent 的底层实现
    • 支持状态持久化、断点续跑、人机交互、时间旅行调试
    • 解决了传统 Chain 无法处理复杂流程的问题

2.2 LangChain 完整生态系统

LangChain 不是一个孤立的框架,而是一个完整的生态系统,覆盖了 LLM 应用从开发到部署、监控的全生命周期。

LangChain 生态全景图

各生态组件的作用:

  • LangSmith:LLM 应用的可观测性平台,提供追踪、评估、提示词管理、监控功能,是开发和调试 LLM 应用的必备工具
  • LangServe:基于 FastAPI 的 LLM 应用部署框架,一键将 LangChain 应用部署为 RESTful API,自带 Playground 测试界面
  • 集成层:提供了与各种第三方服务的标准化集成,让开发者无需关心底层 API 差异

三、开发环境搭建

3.1 环境标准与工具选型

为了避免 "我这里能跑,你那里跑不了" 的问题,本课程采用以下统一标准:

工具 版本要求 选型理由
Python 3.12.3 LangChain 1.2 + 官方推荐,性能最好,兼容性最佳
版本管理 pyenv 2.4.0+ 管理多个 Python 版本,隔离系统 Python
依赖管理 poetry 1.8.3+ 替代 pip+venv,自动管理虚拟环境和依赖版本
编辑器 VS Code 最新版 丰富的 Python 和 LangChain 扩展
版本控制 Git 2.40+ 代码版本管理

3.2 第一步:Python 版本管理(pyenv)

3.2.1 为什么用 pyenv?
  • 可以在同一台机器上安装和切换多个 Python 版本
  • 不会污染系统 Python 环境
  • 支持为不同项目指定不同的 Python 版本
  • 跨平台支持(Windows、Mac、Linux)
3.2.2 pyenv 安装与配置

Windows 安装

python 复制代码
# 使用pyenv-win
winget install pyenv-win.pyenv-win

# 配置环境变量(系统属性→高级→环境变量)
# 添加PYENV_ROOT:%USERPROFILE%\.pyenv
# 添加到Path:%PYENV_ROOT%\bin;%PYENV_ROOT%\shims

# 重启PowerShell
3.2.3 安装 Python 3.12.3
python 复制代码
# 安装Python 3.12.3(国内用户建议先配置镜像加速)
# 国内镜像配置(MacOS/Linux)
export PYTHON_BUILD_MIRROR_URL="https://npm.taobao.org/mirrors/python/"

# 安装Python
pyenv install 3.12.3

# 设置全局默认Python版本
pyenv global 3.12.3

# 验证安装
python --version
# 输出:Python 3.12.3

3.3 第二步:依赖管理(poetry)

3.3.1 为什么用 poetry?
  • 同时管理虚拟环境和依赖
  • 自动生成poetry.lock文件,保证所有环境依赖版本完全一致
  • 支持依赖分组(开发依赖、生产依赖)
  • 内置打包和发布功能
  • 比 pip+venv 更高效、更可靠
3.3.2 poetry 安装与配置
python 复制代码
# 安装poetry
curl -sSL https://install.python-poetry.org | python3 -

# 配置环境变量
# MacOS/Linux:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# 验证安装
poetry --version
# 输出:Poetry (version 1.8.3)

# 配置国内镜像源(必须配置,否则下载依赖会非常慢)
poetry config repositories.aliyun https://mirrors.aliyun.com/pypi/simple/
poetry config virtualenvs.in-project true  # 在项目目录下创建虚拟环境,方便管理

3.4 第三步:创建项目并安装核心依赖

3.4.1 初始化项目
python 复制代码
# 创建项目目录
mkdir langchain-tutorial && cd langchain-tutorial

# 初始化poetry项目
poetry init -n

# 激活虚拟环境
poetry shell

执行完以上命令后,你会看到项目目录下生成了pyproject.toml文件,这是 poetry 的配置文件。

3.4.2 安装精确版本的核心依赖

必须安装以下精确版本,否则可能会出现 API 不兼容的问题:

python 复制代码
# 核心依赖
poetry add langchain==1.2.14 langchain-core==0.3.12 langchain-openai==0.2.2
poetry add langgraph==1.2.0 langgraph-checkpoint-sqlite==1.0.6

# 工具依赖
poetry add python-dotenv==1.0.1 pydantic-settings==2.5.2

# 开发依赖
poetry add --dev jupyterlab ipykernel pytest black isort

安装完成后,项目目录下会生成poetry.lock文件,这个文件记录了所有依赖的精确版本,必须提交到 Git 仓库,保证所有团队成员使用相同的依赖版本。

3.5 第四步:LangSmith 追踪配置

LangSmith 是开发和调试 LangChain 应用的必备工具,它可以让你看到每一次调用的完整链路,包括输入、输出、执行时间、Token 消耗等。

3.5.1 注册 LangSmith 账号并获取 API 密钥
  1. 访问LangSmith 官网
  2. 使用 GitHub 账号注册(免费版足够个人和小团队使用)
  3. 进入API Keys 页面

点击 "Create API Key",生成一个新的 API 密钥,保存好这个密钥

3.5.2 配置环境变量

在项目根目录下创建.env文件,添加以下内容:

bash 复制代码
# LangSmith配置
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=你的LangSmith API密钥
LANGCHAIN_PROJECT=langchain-tutorial  # 项目名称,会显示在LangSmith中

# OpenAI配置(替换为你的API密钥)
OPENAI_API_KEY=你的OpenAI API密钥
# 如果使用代理,添加以下配置
# OPENAI_BASE_URL=https://你的代理地址/v1
相关推荐
@蔓蔓喜欢你3 小时前
前端测试完全指南:从单元测试到E2E测试
人工智能·ai
qcx233 小时前
【AI Daily】每日Arxiv论文研读Top5 | 2026-05-19(周2)
人工智能·llm·agi·arxiv
hudawei9963 小时前
RK R87 Pro AI键盘,AI功能设置与连接教程
人工智能·计算机外设·使用说明·rk r87 ai键盘
Agent手记3 小时前
委外加工成本智能核算与利润分析方案:基于LLM+超自动化的端到端实践
运维·人工智能·ai·自动化
Yingjun Mo3 小时前
2. AI 智能体工作流的自动化自主设计(ADAS)
运维·人工智能·自动化
前端白袍3 小时前
AI+:AI编程工具对比分析:OpenClaw、Codex、Trae与Claude Code
人工智能·ai编程
Jackyzhe3 小时前
从零学习Kafka:调优
分布式·学习·kafka
海上彼尚3 小时前
Nodejs也能写Agent - 2.基础篇 - Prompt
前端·javascript·人工智能·node.js·prompt
yumgpkpm3 小时前
【华为昇腾910B】在AI大模型推理速度与GPU显卡选择中地位
大数据·人工智能·华为