LangChain 完整部署教程:从开发到生产

LangChain 是一个用于构建和部署智能体及大语言模型(LLM)应用的开发框架。它通过标准化组件接口(如模型、向量数据库、工具等)和提供灵活的工作流编排能力,极大降低了AI应用从原型到生产的复杂度。LangChain本身是一个开发框架,通常不直接作为独立服务部署,而是作为核心逻辑库,与LangGraph(编排层)和LangSmith(部署与可观测性平台)等工具共同构成完整的生产级技术栈。

本教程将指导你完成LangChain本地开发环境的搭建、核心概念实践,以及如何将你的应用通过LangSmith Cloud或其他方案部署到生产环境。


📦 第一步:开发环境搭建

在开始部署之前,首先需要在本地构建和测试你的LangChain应用。

1.1 环境准备

  • Python版本:推荐使用 Python 3.11 或更高版本(部分工具如langgraph-cli[inmem]要求最低3.11版本)。
  • 包管理工具pip(Python默认)或uv(更快的替代方案)。

1.2 创建项目并安装依赖

  1. 创建并进入项目目录:

    1
    mkdir my-langchain-app && cd my-langchain-app
  2. (推荐)创建并激活Python虚拟环境,以隔离项目依赖:

    1
    2
    3
    python -m venv .venv
    source .venv/bin/activate # Linux/macOS
    # .venv\Scripts\activate # Windows
  3. 安装LangChain核心库和常用集成。根据你的需求,安装必要的包:

    1
    2
    3
    4
    5
    6
    7
    8
    # 安装核心库、LangGraph和常用社区集成
    pip install -U langchain langgraph langchain-community

    # 根据你选择的LLM提供商安装对应包,例如:
    pip install -U langchain-openai # OpenAI
    # pip install -U langchain-anthropic # Anthropic Claude
    # pip install -U langchain-google-genai # Google Gemini
    pip install python-dotenv # 用于管理环境变量

1.3 配置环境变量

在项目根目录创建.env文件,用于安全地存储API密钥:

1
2
3
4
5
6
7
8
9
# 根据你使用的模型填写,例如OpenAI:
OPENAI_API_KEY="sk-..."

# 或使用兼容OpenAI接口的国内服务(如DeepSeek, 通义千问)[citation:4]:
# OPENAI_API_KEY="sk-..."
# OPENAI_BASE_URL="https://api.deepseek.com" # 替换为实际服务地址

# (可选) 为LangSmith配置API密钥,用于后续部署和调试
# LANGSMITH_API_KEY="lsv2-..."

🚀 第二步:核心概念与本地运行

理解LangChain的核心组件是构建应用的基础。这是一个完整的“翻译助手”示例,展示了基本的LCEL(LangChain表达式语言) 流程。

  1. 创建Python文件:在项目目录下新建main.py

  2. 编写以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    import os
    from dotenv import load_dotenv
    from langchain_core.prompts import ChatPromptTemplate
    from langchain_openai import ChatOpenAI
    from langchain_core.output_parsers import StrOutputParser

    # 加载.env文件中的环境变量
    load_dotenv()

    # 1. 定义提示词模板
    prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个专业的翻译官,请将用户输入的文本从 {source_lang} 翻译成 {target_lang}。"),
    ("human", "{text}")
    ])

    # 2. 初始化模型(此处使用OpenAI,也可替换为其他兼容模型)
    # 注意:LangChain通过统一的接口实现了模型互操作性[citation:2]
    model = ChatOpenAI(model="gpt-3.5-turbo") # 或 "deepseek-chat" 等

    # 3. 创建处理链:提示词 -> 模型 -> 输出解析器
    chain = prompt | model | StrOutputParser()

    # 4. 运行链
    if __name__ == "__main__":
    result = chain.invoke({
    "source_lang": "中文",
    "target_lang": "英文",
    "text": "你好,今天天气不错。"
    })
    print(result)
  3. 运行测试

    1
    python main.py

    如果配置正确,你将看到翻译后的英文输出。这个简单的例子演示了LangChain如何通过“管道”操作符(|)将提示词、模型和输出解析器组合成一个可运行的单元。


🏭 第三步:生产环境部署

将本地开发的应用部署到生产环境,核心是托管你的智能体逻辑(通常是LangGraph图)。LangChain官方推荐并深度整合了LangSmith Cloud作为主要的部署平台。

3.1 部署到 LangSmith Cloud

这是最直接的托管方案,LangSmith将为你管理基础设施、扩展和运维。

前提条件

  • 一个 LangSmith 账号(可免费注册)。
  • 一个 GitHub 账号。
  • 你的应用代码已经推送到GitHub仓库(必须包含 langgraph.json 配置文件,LangGraph CLI以此定义部署入口)。

部署步骤

  1. 准备应用:确保你的项目结构包含类似 langgraph.json 的文件,它告诉LangSmith哪个图(Graph)需要部署。具体配置方法请参考LangGraph本地服务器设置指南
  2. 登录LangSmith:访问 LangSmith 并登录。
  3. 创建部署
    • 在左侧边栏选择 Deployments
    • 点击 + New Deployment 按钮。
    • 在打开的页面中,关联你的GitHub账户并选择包含应用代码的仓库。
  4. 提交并等待:选择仓库后点击提交,部署过程大约需要15分钟。你可以在部署详情页查看状态。
  5. 测试与获取API
    • 部署成功后,点击部署详情页右上角的 Studio 按钮,可在交互式界面中测试你的智能体。
    • 复制页面上提供的 API URL,你的前端应用将通过此URL与部署的智能体通信。

3.2 其他部署选项

除了LangSmith Cloud,你还可以根据技术栈选择其他路径:

  • LangSmith自托管或混合部署:LangSmith也提供自托管(Self-hosted)和混合(Hybrid)部署选项,适用于有特殊数据驻留或合规要求的企业。
  • 全栈Web应用部署:你可以将LangChain智能体嵌入到Next.js、SvelteKit、Nuxt等框架的后端路由中,并作为一个整体部署到Vercel、Netlify、Cloudflare Workers等平台。LangChain为这些框架提供了参考实现和适配器(如 @langchain/react)。
  • 高级微服务部署:对于大规模、高弹性的生产系统,可以将LangChain应用拆分为多个微服务(如检索器、模型端点、后处理器),通过gRPC通信,并使用Docker容器化和Kubernetes进行编排和弹性测试。

💡 关键概念与资源

  • LangChain vs LangGraph:LangChain提供的是基础工具和接口(模型、提示词、工具等),而LangGraph是一个高级编排框架,用于构建有状态、可控的智能体工作流。部署时,你通常部署的是一个LangGraph应用。
  • LCEL(LangChain 表达式语言):一种声明式语法,使用 | 管道操作符将组件串联成链,使代码简洁且易于在生产环境中部署。
  • 记忆与检查点:为智能体添加记忆(如使用 InMemorySaver 或生产级的 RedisSaver)是构建多轮对话应用的关键。
  • 官方文档

按照本教程,你可以从零开始,成功将一个LangChain应用部署到生产环境。部署的核心思路是:用LangChain构建逻辑,用LangGraph定义工作流,用LangSmith(或同类平台)负责托管和运维