Skip to content

LangChain 简介

LangChain 是一个用于构建大语言模型(LLM)应用的 Python 框架。

LangChain 提供统一的接口来连接各种 AI 模型,并支持构建能够自动调用工具、检索知识、记住上下文的智能 Agent。

langchain-intro.webp


LangChain 是什么

简单来说,LangChain 解决了一个核心问题:让大语言模型能够与外部世界交互

原生的 LLM 只能根据训练数据生成文本。但实际应用中,我们需要 AI 能够查询数据库、调用 API、搜索文档、发送邮件。

LangChain 提供了一套标准化的组件来串联这些能力。

256b0ef4-c5de-454f-81d7-26176eddbb8d.png

组件作用核心功能常见用途
Models(模型)连接大语言模型
  • 统一模型接口
  • 支持多模型切换
  • 调用 GPT / Claude / Gemini 等

|

  • 聊天机器人
  • 文本生成
  • AI 问答

| | Prompts(提示词模板) | 管理 Prompt 模板 |

  • Prompt 参数化
  • 动态变量替换
  • 模板复用

|

  • AI 对话
  • 内容生成
  • 结构化输出

| | Document Loader(文档加载) | 读取外部文档数据 |

  • 加载 PDF / TXT / DOCX
  • 读取网页与数据库
  • 统一文档格式

|

  • 知识库
  • RAG 系统
  • 文档问答

| | Text Splitter(文本切分) | 拆分长文本 |

  • 文本 Chunk 切分
  • 控制 Token 长度
  • 优化向量检索

|

  • RAG
  • 向量数据库
  • 长文本处理

| | Memory(记忆) | 实现上下文记忆 |

  • 保存聊天历史
  • 长期记忆
  • 对话状态管理

|

  • 聊天机器人
  • AI 助手
  • Agent

| | Retriever(检索器) | 检索相关知识内容 |

  • 向量搜索
  • 语义检索
  • RAG 数据召回

|

  • 企业知识库
  • AI 搜索
  • 文档问答

| | Tools(工具) | 调用外部工具与 API |

  • 搜索互联网
  • 数据库查询
  • 执行代码

|

  • AI Agent
  • 自动化任务
  • 数据分析

| | Output Parser(输出解析器) | 解析模型输出结果 |

  • 结构化输出
  • JSON 解析
  • 格式校验

|

  • API 返回
  • 自动化系统
  • 数据处理

| | Chains(链) | 组合多个组件形成工作流 |

  • 多步骤执行
  • 流程编排
  • 组件串联

|

  • 复杂 AI 应用
  • RAG 工作流
  • Agent 系统

|

从技术角度看,LangChain 是一个模块化的 LLM 应用开发框架,它包含三个层次:

层次说明包名
核心抽象层定义模型、工具、消息等基础接口langchain-core
用户接口层提供 init_chat_model、create_agent 等高阶 APIlangchain
集成层连接 OpenAI、Anthropic、Ollama 等第三方服务langchain-openai 等

为什么选择 LangChain

如果你只是调用一次模型 API,直接用 HTTP 请求就够了。但当你需要构建一个完整的 AI 应用时,LangChain 提供了以下优势:

能力描述适用场景
模型统一接口一套代码切换 OpenAI / Anthropic / DeepSeek 等模型多模型对比测试、成本优化
Agent 架构模型自动决定何时调用工具,形成思考-行动循环自动化任务、智能客服
中间件系统在模型调用前后插入自定义逻辑(重试、缓存、过滤)生产环境的可靠性保障
结构化输出让模型按指定格式返回 JSON,方便程序解析数据提取、表单填充
记忆与持久化内置对话记忆和跨会话存储能力多轮对话、用户偏好记忆
生态丰富数百个第三方集成,覆盖主流模型和工具快速接入各类服务

LangChain 能做什么

以下是 LangChain 最典型的应用场景:

智能聊天机器人

具备多轮对话记忆,能调用外部工具(查天气、查订单、发邮件)的聊天助手。

RAG 知识库问答

将私有文档(PDF、网页、数据库)向量化存储,让模型能够基于这些文档回答问题,附带引用来源。

Agent 自动化助手

模型自主规划任务步骤,按需调用不同的工具,完成复杂的多步操作,如"帮我整理上周的销售数据并生成报告"。

数据提取与分析

从非结构化文本中提取结构化信息(如从合同扫描件中提取关键字段),或让模型生成数据分析结论。


LangChain 与 LangGraph 的关系

很多初学者会困惑这两个库的区别。简单来说:

对比维度LangChainLangGraph
定位高层 Agent 框架,开箱即用底层工作流引擎,精细控制
上手难度低,10 行代码创建 Agent中高,需理解图(Graph)概念
适用场景标准 Agent 应用、快速原型复杂多步骤工作流、多 Agent 协作
关系LangChain 的 create_agent() 底层构建在 LangGraph 之上

本教程聚焦于 LangChain。如果你刚开始学习,从 LangChain 入手是正确的选择。当你需要更精细的流程控制时,再深入 LangGraph。


准备工作

在开始学习之前,你只需要具备以下基础:

  • Python 基础语法(函数、类、类型注解)
  • 能够使用 pip 安装 Python 包
  • 了解基本的命令行操作
  • 有一个大模型 API Key(OpenAI、Anthropic 等均可)

本教程的代码示例在 Python 3.10+ 环境下测试通过。

AI 思考中...

LangChain 教程

LangChain 环境搭建

基于 VitePress 构建,部署于 GitHub Pages