LangChain 入门:从概念到环境配置,快速了解基本概念

当大语言模型(LLM)逐渐成为应用开发的重要组成部分,仅仅会调用 OpenAI、DeepSeek 或 Claude 的 API 已经远远不够。真正的 AI 应用往往需要具备上下文记忆、知识检索、工具调用以及复杂工作流等能力,而 LangChain 正是连接这些能力的重要框架。


一、为什么需要 LangChain?

很多开发者第一次接触大模型时,都会直接调用官方 API,例如:

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[
        {
            "role": "user",
            "content": "你好"
        }
    ]
)

print(response.choices[0].message.content)

对于简单的问答场景,这种方式已经足够。

但是,当项目逐渐复杂之后,你会发现真正困难的地方并不是调用一次 API,而是围绕模型构建完整的应用能力。

例如:

  • 如何让模型记住之前的聊天内容?
  • 如何让模型读取企业内部文档?
  • 如何调用天气、搜索、数据库等外部工具?
  • 如何保证输出固定 JSON 格式?
  • 如何实现复杂任务拆解和自主执行?

如果全部自己实现,你需要不断处理:

  • Prompt 拼接
  • 上下文管理
  • Token 控制
  • 工具调用
  • 输出解析
  • 错误重试
  • 工作流管理

真正的业务代码可能只占整个项目的一小部分,大量时间都会花在这些重复性的基础工作上。

因此,LangChain 的定位并不是替代模型,而是帮助开发者快速搭建完整的大模型应用,让更多精力投入到业务逻辑,而不是重复造轮子。


二、什么是 LangChain?

LangChain 是一个用于开发 LLM(Large Language Model)应用 的开源框架。

它提供了一套统一的开发规范,将 Prompt、模型调用、上下文管理、工具调用、知识检索以及 Agent 等能力全部进行了标准化封装。

可以理解为:

大模型负责思考,LangChain 负责组织整个应用流程。

它不会替代 OpenAI、Claude、DeepSeek 等模型,而是充当这些模型与业务系统之间的桥梁。

借助 LangChain,开发者可以更加方便地构建:

  • AI 聊天助手
  • 企业知识库
  • RAG 应用
  • 自动办公系统
  • AI Agent
  • 智能客服
  • 文档分析系统

随着 LangChain v1.x 的发布,它已经逐渐成为当前 Python AI 应用开发中最主流的框架之一。


三、LangChain 可以解决什么问题?

相比直接调用模型 API,LangChain 最大的优势在于提供了完整的能力组件。

能力 作用
Models 统一调用各种大模型
Prompts 管理 Prompt 模板
Messages 管理聊天上下文
Output Parser 解析模型输出
Memory 保存历史对话
Tools 调用外部工具
RAG 构建知识库问答
Agent 实现自主决策
LCEL 组合完整工作流

这些模块彼此独立,又可以自由组合。

例如,一个企业知识库问答系统通常包含以下流程:

用户问题
      │
      ▼
Prompt 模板
      │
      ▼
Retriever 检索知识库
      │
      ▼
LLM 推理生成
      │
      ▼
Output Parser
      │
      ▼
返回最终答案

开发者只需要将对应模块连接起来,而无需重复实现底层逻辑。


四、LangChain 生态体系

随着版本不断更新,LangChain 已经不仅仅是一个 Python 库,而是形成了完整的官方生态。

目前主要包含三个部分:

Deep Agents
      │
      ▼
LangChain
      │
      ▼
LangGraph

它们分别负责不同层面的能力。

1、LangChain

最常使用的开发框架。

主要负责:

  • Prompt
  • Models
  • Tools
  • Memory
  • RAG
  • Chains
  • Agent

2、LangGraph

当项目开始涉及复杂流程时,例如:

  • 多 Agent 协同
  • 状态流转
  • 人工审批
  • 长任务执行
  • 企业级工作流

官方推荐使用 LangGraph。

它采用状态图(State Graph)描述整个执行流程,开发者可以精确控制每一步执行逻辑。


3、Deep Agents

Deep Agents 是官方推出的新一代 Agent 开发套件。
相比 LangChain,它更强调:

  • 自动规划
  • 自动拆解任务
  • 自动调用工具
  • 自动协调多个 Agent

开发者只需要描述目标即可,大部分流程都会自动完成。


五、LangChain 核心架构

整个 LangChain 可以理解为三层结构。

                AI Application
                       │
        ┌──────────────┴──────────────┐
        │          应用能力层          │
        │ Chain | Agent | RAG | LCEL  │
        └──────────────┬──────────────┘
                       │
        ┌──────────────┴──────────────┐
        │          能力组件层          │
        │ Prompt | Memory | Tools     │
        │ Output Parser | Messages    │
        └──────────────┬──────────────┘
                       │
        ┌──────────────┴──────────────┐
        │          模型接口层          │
        │ OpenAI Claude DeepSeek 等   │
        └─────────────────────────────┘

整个调用流程如下:

用户输入
    │
    ▼
Prompt
    │
    ▼
Model
    │
    ▼
Tools(可选)
    │
    ▼
Memory(保存上下文)
    │
    ▼
Output Parser
    │
    ▼
最终结果

这种模块化设计让 LangChain 既具有很高的灵活性,又便于维护和扩展。


六、环境准备

目前官方推荐使用 uv 管理 Python 项目。

相比传统的 pip 或 conda,uv 具有以下优势:

  • 安装速度更快
  • 自动创建虚拟环境
  • 自动锁定依赖版本
  • 支持 Python 多版本管理
  • 更适合团队协作

1、安装 uv

Windows:

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

macOS / Linux:

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

验证安装:

uv --version

2、创建项目

mkdir langchain-demo

cd langchain-demo

uv init

指定 Python 版本:

uv python pin 3.12

3、安装 LangChain

安装核心依赖:

uv add langchain

安装 OpenAI 支持:

uv add langchain-openai

安装环境变量工具:

uv add python-dotenv

如果需要其他模型,可以继续安装:

uv add langchain-anthropic
uv add langchain-google-genai
uv add langchain-ollama
uv add langchain-deepseek

4、项目目录

安装完成后,目录结构通常如下:

langchain-demo
│
├── .venv
├── pyproject.toml
├── uv.lock
└── main.py

各文件作用:

文件 说明
pyproject.toml 项目配置和依赖
uv.lock 锁定依赖版本
.venv 虚拟环境
main.py 项目入口

建议将 .venv 添加到 .gitignore,避免提交虚拟环境。


七、配置模型 API

为了避免 API Key 泄露,推荐使用 .env 文件统一管理配置。

创建 .env

OPENAI_API_KEY=你的API_KEY
OPENAI_BASE_URL=https://api.openai.com/v1

如果使用 DeepSeek:

DEEPSEEK_API_KEY=你的API_KEY

读取环境变量

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

load_dotenv()

llm = ChatOpenAI(
    model="gpt-4.1",
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_BASE_URL")
)

如果使用兼容 OpenAI API 的平台(如 DeepSeek、硅基流动、阿里百炼等),通常只需修改 base_url 和对应的 API Key,其余业务代码保持不变。


八、第一个 LangChain 程序

完成环境配置后,可以运行一个简单示例,验证是否能够正常调用模型。

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

load_dotenv()

llm = ChatOpenAI(
    model="gpt-4.1",
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_BASE_URL")
)

response = llm.invoke("请用一句话介绍 LangChain。")

print(response.content)

如果能够成功输出模型回复,说明环境已经配置完成。


九、总结

LangChain 并不是一个新的大语言模型,而是一套围绕大模型开发的应用框架。它通过统一接口整合模型调用、Prompt 管理、工具调用、上下文记忆、知识检索以及 Agent 等能力,大幅降低了 AI 应用开发的复杂度。
完成以上内容的学习后,基本可以独立开发聊天机器人、企业知识库、智能 Agent 等主流 AI 应用。

初步了解LangChain后我们将正式进入 Model I/O,学习 LangChain 如何统一接入 OpenAI、DeepSeek、Claude 等不同模型,并掌握最基础的模型调用方式。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐