LangChain 中文教程LangChain 中文教程
首页
  • 什么是 LangChain
  • 环境搭建
  • 第一个应用
  • 模型调用
  • 提示词模板
  • 链式调用
  • 记忆功能
  • 工具使用
  • 检索增强生成(RAG)
  • Agent 智能体
  • LangGraph 入门
  • LangSmith 监控
  • 部署与优化
LangChain 官网
首页
  • 什么是 LangChain
  • 环境搭建
  • 第一个应用
  • 模型调用
  • 提示词模板
  • 链式调用
  • 记忆功能
  • 工具使用
  • 检索增强生成(RAG)
  • Agent 智能体
  • LangGraph 入门
  • LangSmith 监控
  • 部署与优化
LangChain 官网
  • 基础篇

    • 什么是 LangChain
    • 环境搭建
    • 第一个应用
    • 模型调用
    • 提示词模板

什么是 LangChain

简介

LangChain 是一个强大的开源框架,专门用于构建基于大语言模型(LLM)的应用程序。它由 Harrison Chase 于 2022 年创建,现已成为 AI 应用开发领域最受欢迎的工具之一。

🎉 LangChain v1.x 正式发布!

LangChain 已升级到 v1.x 版本,带来了全新的简化 API 和更强大的功能。本教程已全面更新以覆盖最新特性。

  • 需要 Python 3.10+
  • 新的 create_agent API,10 行代码创建智能 Agent
  • Agent 基于 LangGraph 构建,支持持久化、流式输出、人机协作等高级特性

详见 官方发布说明 和 迁移指南。

核心理念

LangChain 的核心理念是:将大语言模型与外部数据、工具、系统连接起来,创建真正有用的 AI 应用。

为什么需要 LangChain?

直接调用大语言模型的 API(如 OpenAI、Claude 等)虽然简单,但在构建实际应用时会遇到很多挑战:

挑战描述LangChain 解决方案
上下文限制LLM 只能处理有限的文本长度提供文档分割、向量检索等工具
知识时效性LLM 的知识有截止日期支持 RAG 技术接入实时数据
无法执行操作LLM 只能生成文本提供 Tools 和 Agent 机制
缺乏记忆每次对话独立,没有上下文内置多种记忆组件
提示词管理提示词散落各处,难以维护提供模板化的提示词管理

LangChain 生态系统

LangChain 不只是一个库,而是一个完整的生态系统:

┌─────────────────────────────────────────────────────┐
│                  LangChain 生态系统                   │
├─────────────────────────────────────────────────────┤
│                                                     │
│  🔧 LangChain          - 核心框架,构建 AI 应用       │
│                                                     │
│  🔀 LangGraph          - Agent 编排框架              │
│                                                     │
│  📊 LangSmith          - 监控、调试、评估平台         │
│                                                     │
│  🚀 LangServe          - 部署 LangChain 应用         │
│                                                     │
└─────────────────────────────────────────────────────┘

LangChain 核心框架

这是我们主要学习的部分,包含:

  • Models(模型) - 标准化的模型接口,支持 OpenAI、Anthropic、Google 等各种提供商,可无缝切换
  • Agents(智能体) - 🆕 v1.x 新增简化 API,10 行代码创建智能 Agent
  • Prompts(提示词) - 提示词模板和管理
  • Chains(链) - 将多个组件串联起来
  • Memory(记忆) - 保存对话历史
  • Retrievers(检索器) - 从数据源获取相关信息

v1.x 核心优势

特性描述
标准模型接口不同提供商有不同的 API 格式,LangChain 标准化了模型交互方式,让你可以无缝切换提供商,避免锁定
简单易用的 Agent10 行代码创建 Agent,同时保持高度灵活性
基于 LangGraphAgent 构建在 LangGraph 之上,获得持久化执行、流式输出、人机协作等能力
LangSmith 调试深度可视化 Agent 行为,追踪执行路径

LangGraph

用于构建复杂的、有状态的 Agent 工作流。当你的应用需要:

  • 多步骤推理
  • 循环和条件分支
  • 人机协作(Human-in-the-loop)

就应该考虑使用 LangGraph。

LangSmith

一个开发者平台,提供:

  • 🔍 可观测性 - 查看每次 LLM 调用的详细日志
  • 📈 评估 - 测试和评估你的应用性能
  • 🔄 迭代 - 快速调试和优化提示词

支持的模型提供商

LangChain 支持众多模型提供商,你可以根据需求灵活选择:

国际模型

  • OpenAI - GPT-4、GPT-3.5
  • Anthropic - Claude 系列
  • Google - Gemini 系列
  • Mistral - Mistral 系列
  • Cohere - Command 系列

国内模型

  • 百度文心 - 文心一言
  • 阿里通义 - 通义千问
  • 智谱AI - ChatGLM
  • 讯飞星火 - Spark
  • MiniMax - abab 系列

本地模型

  • Ollama - 运行本地模型
  • LlamaCpp - 本地推理引擎
  • HuggingFace - 各种开源模型

典型应用场景

学习 LangChain 后,你可以构建:

1. 智能问答系统

# 基于你的文档构建问答机器人
from langchain.chains import RetrievalQA

qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=document_retriever
)
answer = qa_chain.invoke("公司的退款政策是什么?")

2. 对话式 AI 助手

# 具有记忆功能的对话助手
from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory()
conversation = ConversationChain(llm=llm, memory=memory)

3. 自动化 Agent(v1.x 新 API)

# 🆕 v1.x 简化 API - 10 行代码创建智能 Agent
from langchain.agents import create_agent

def get_weather(city: str) -> str:
    """获取城市天气"""
    return f"{city}今天晴,25°C"

def send_email(to: str, content: str) -> str:
    """发送邮件"""
    return f"邮件已发送给 {to}"

agent = create_agent(
    model="gpt-4",
    tools=[get_weather, send_email],
    system_prompt="你是一个智能助手,帮助用户完成各种任务"
)

agent.invoke({"messages": [{"role": "user", "content": "查询北京天气并发送给张三"}]})

4. 文档分析工具

  • 自动总结长文档
  • 从 PDF 中提取关键信息
  • 多文档比较分析

5. 代码助手

  • 代码解释和生成
  • 自动代码审查
  • 技术文档生成

学习准备

在开始学习之前,确保你具备以下基础:

前置知识

  1. Python 基础 - 了解 Python 语法、函数、类等基本概念
  2. API 概念 - 了解什么是 API,如何调用 REST API
  3. 命令行操作 - 能够使用终端/命令行安装包和运行脚本

如果你对上述内容还不熟悉,建议先学习相关基础知识再继续。

本教程结构

本教程分为三个阶段,循序渐进:

📗 基础篇(当前)

  • 环境搭建
  • 模型调用
  • 提示词模板
  • 创建第一个应用

📘 进阶篇

  • 链式调用(Chains)
  • 记忆功能(Memory)
  • 工具使用(Tools)
  • 检索增强生成(RAG)

📙 高级篇

  • Agent 智能体
  • LangGraph 编排
  • LangSmith 监控
  • 生产部署优化

下一步

现在你已经了解了 LangChain 是什么,接下来让我们搭建开发环境,开始动手实践吧!

资源链接

  • LangChain 官方文档
  • LangChain GitHub
  • LangChain Python API 文档
Next
环境搭建