很多同学想学AI应用开发,但卡在:不知道怎么调用大模型、不会管理提示词、不会串联业务流程。

其实 LangChain 是目前最主流、最简单的大模型应用开发框架,不用造轮子,搭积木式开发对话机器人、知识库问答、智能代理等项目。

本文从零基础带你入门,吃透 LangChain 五大核心组件,手把手写出可运行的 LLM 程序,新手看完直接上手做项目!


一、什么是 LangChain?

如果把 大模型LLM(GPT、通义千问、DeepSeek) 比作「超级大脑」:

单纯的大脑只能聊天,LangChain 就是给大脑装上手、记忆、工具、流程

五大核心组件(全文核心,建议熟记):

  • 模型 Model:大模型本体(负责生成回答)

  • 提示模板 PromptTemplate:标准化、动态生成提示词

  • 链 Chain:串联多个任务流程(翻译→总结→输出)

  • 记忆 Memory:保存对话上下文,实现多轮对话

  • 代理 Agent:让模型自主选择工具(计算、搜索、接口调用)


二、环境准备(2026最新安装方式)

1、依赖安装

新版 LangChain 拆分了包,核心 + OpenAI 兼容模型必须分开安装:

pip install -U langchain langchain-openai langchain-community
  • langchain:框架核心

  • langchain-openai:大模型对接(兼容硅基流动、中转、GPT全系)

  • langchain-community:工具、代理、拓展组件

2、密钥配置

在项目根目录创建 .env(分别写上你的密钥和地址)

DEEPSEEK_API_KEY=你的 DeepSeek API Key
DEEPSEEK_BASE_URL=https://api.deepseek.com

注意:

  • 不要把真实 API Key 写进代码

三、核心组件一:模型 + 提示模板 + 基础链(首个可运行程序)

最基础的 LangChain 开发三板斧:模型初始化 + 提示模板 + 链执行

方式一:ChatOpenAI 写法

import os

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

load_dotenv()
# 1、创建 ChatGPT 模型实例
llm = ChatOpenAI(
    model="deepseek-v4-flash",
    temperature=0.7, # 控制输出的随机性,0-1之间,值越大越随机
	api_key=os.getenv("DEEPSEEK_API_KEY"),
	base_url=os.getenv("DEEPSEEK_BASE_URL"),
)

# 2、定义提示模板
prompt = PromptTemplate(
    input_variables=["question"],
    template="你是AI助手,请专业简洁回答用户问题:{question}"
)

# 3、组装链
chain = LLMChain(llm=llm, prompt=prompt)

# 4、执行调用
result = chain.invoke({"question": "什么是LangChain?有什么作用?"})
print(result["text"])

temperature 是大模型生成文本核心超参数,控制输出随机性、创造力,取值范围一般 0 ~ 2

  1. temperature = 0 完全确定性,每次提问输出一模一样,适合:代码、数学计算、事实问答、翻译。
  2. 0 < temp < 0.7 轻微随机,逻辑稳定,日常聊天、文案、总结首选区间。
  3. 0.7 ~ 1.0 创造力强,措辞更多变,适合故事、创意写作、头脑风暴。
  4. > 1.0 随机性极高,容易逻辑混乱、胡编内容,极少使用。

新项目一律只用 ChatOpenAI,老式 OpenAI 类逐步废弃

LangChain 提供了统一的模型初始化方式。

需要指出的是,以上是 LangChain 早期版本中的常见写法,也是目前许多教程仍在使用的写法。虽然该方法在功能上仍然有效,但已不再是官方推荐的最佳实践。自 LangChain 0.2 起,官方推荐使用统一的工厂方法 init_chat_model 来创建模型实例,这一方法在最新的 LangChain 1.0 中继续得到支持和强化。

方式二:使用 LangChain 初始化 DeepSeek 模型

import os

from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

# 1、初始化大模型
load_dotenv()
llm=init_chat_model(
	base_url=os.getenv("DEEPSEEK_BASE_URL"),
	api_key=os.getenv("DEEPSEEK_API_KEY"),
	model="deepseek-v4-flash",
	temperature=0.7,
	model_provider="openai"
)

# 2、定义提示模板
prompt = PromptTemplate(
    input_variables=["question"],
    template="你是AI助手,请专业简洁回答用户问题:{question}"
)

# 3、组装链
chain = LLMChain(llm=llm, prompt=prompt)

# 4、执行调用
result = chain.invoke({"question": "什么是LangChain?有什么作用?"})
print(result["text"])

这段代码和上一个案例的区别是:

  • 上一个案例直接使用 OpenAI 兼容 SDK
  • 这个案例使用 LangChain 的模型组件

运行效果说明

程序自动完成:填充模板 → 调用模型API → 返回结构化结果,无需手动拼接提示词、无需手写网络请求。


四、核心组件二:顺序链 SequentialChain(多步骤流水线)

实际项目中经常需要 多步任务串联:比如翻译 → 润色 → 总结。

顺序链可以让上一步输出,自动作为下一步输入,实现流水线执行。

from langchain_openai import ChatOpenAI 
from langchain.prompts import PromptTemplate 
from langchain.chains import LLMChain, SequentialChain 

# 初始化模型 
llm = ChatOpenAI( model="Qwen/Qwen2.5-7B-Instruct", temperature=0 ) 

# 第一步:中文转英文 
trans_prompt = PromptTemplate( 
        input_variables=["text"], 
        template="请将以下中文精准翻译成英文:{text}"
     ) 
chain_trans = LLMChain(
        llm=llm, 
        prompt=trans_prompt, 
        output_key="en_text"
    ) 

# 第二步:英文内容单句总结 
summary_prompt = PromptTemplate( 
        input_variables=["en_text"], 
        template="Summarize the following content in one sentence: {en_text}" 
    ) 
chain_summary = LLMChain(
        llm=llm,
        prompt=summary_prompt, 
        output_key="final_summary"
    ) 

# 串联整条流水线 
work_chain = SequentialChain( 
        chains=[chain_trans, 
        chain_summary], 
        input_variables=["text"], 
        output_variables=["final_summary"] 
    ) 

# 执行 
res = work_chain.invoke(
        {"text": "人工智能结合大模型技术,正在快速改变软件开发行业"}
    ) 
print("最终总结:", res["final_summary"])

核心优势:任务解耦、逻辑清晰,后续可无限叠加步骤。


五、核心组件三:记忆 Memory(实现多轮上下文对话)

默认模型 没有记忆,每轮对话都是独立的。

加入 Memory 组件,轻松实现记住聊天记录的智能对话。

from langchain_openai import ChatOpenAI 
from langchain.prompts import PromptTemplate 
from langchain.chains import LLMChain 
from langchain.memory import ConversationBufferMemory 

# 初始化模型 
llm = ChatOpenAI(model="Qwen/Qwen2.5-7B-Instruct", temperature=0.7) 

# 初始化记忆组件 
memory = ConversationBufferMemory(memory_key="chat_history") 

# 带历史对话的提示模板 
prompt = PromptTemplate( 
        input_variables=["chat_history", "user_input"], 
        template=""" 
                对话历史: {chat_history} 用户:{user_input} AI助手: 
                """ 
        ) 

# 绑定记忆到链 
chat_chain = LLMChain(llm=llm, prompt=prompt, memory=memory) 

# 多轮对话测试 
print(chat_chain.invoke({"user_input": "你好,我叫小蓝"}))
print(chat_chain.invoke({"user_input": "我叫什么名字?"}))

运行后模型可以精准记住你的名字,实现真正的多轮对话!


六、核心组件四:代理 Agent(让模型拥有动手能力)

Chain 是固定流程,Agent 是动态智能决策

可以让模型自主判断:什么时候聊天、什么时候计算、什么时候调用工具。

from langchain_openai import ChatOpenAI 
from langchain.agents import initialize_agent, AgentType 
from langchain_community.tools import CalculatorTool 

# 初始化模型 
llm = ChatOpenAI(model="Qwen/Qwen2.5-7B-Instruct", temperature=0) 

# 注册工具:计算器 
tools = [CalculatorTool()] 

# 初始化智能代理 
agent = initialize_agent( 
        tools=tools, 
        llm=llm, 
        agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, 
        verbose=True # 开启思考日志,可查看推理过程 
    ) 

# 测试:数学计算自动调用计算器 
print(agent.run("345 * 789 + 222 等于多少?")) 

# 测试:普通问答直接回复 
print(agent.run("LangChain可以用来做什么?"))

Agent核心价值:复杂任务无需人工定义流程,模型自主拆解、自主选工具、自主完成任务。


七、新手必避坑总结(90%新人报错原因)

  • 1、包版本错误:新版必须安装 langchain-openai,不再内置在核心包中

  • 2、国内用户无代理报错404:必须配置 OPENAI_BASE_URL 中转地址

  • 3、模型名乱写:硅基流动必须填写完整模型ID,不能写 gpt-3.5-turbo

  • 4、忘记记忆组件:默认无上下文,多轮对话必须加 Memory

  • 5、废弃API:旧版 chain.run() 逐步淘汰,推荐统一使用 chain.invoke()


八、学习总结 & 进阶方向

本文带你彻底吃透 LangChain 五大核心:

  1. 模型:大模型调用基础

  2. 提示模板:标准化Prompt工程

  3. :固定多步骤业务流水线

  4. 记忆:上下文多轮对话

  5. 代理:智能工具调用、自主决策

后续进阶学习方向:

  • 文档知识库问答(RAG检索增强)

  • 自定义工具开发

  • 长文本记忆、向量数据库接入

  • 企业级智能Agent项目实战


💡 码字不易,欢迎点赞、收藏、关注!持续更新LangChain+大模型实战教程,零基础也能轻松做AI项目!

    Logo

    汇聚全球AI编程工具,助力开发者即刻编程。

    更多推荐