LangChain新手入门:从零搭建第一个LLM对话应用(保姆级)
很多同学想学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:
- temperature = 0 完全确定性,每次提问输出一模一样,适合:代码、数学计算、事实问答、翻译。
- 0 < temp < 0.7 轻微随机,逻辑稳定,日常聊天、文案、总结首选区间。
- 0.7 ~ 1.0 创造力强,措辞更多变,适合故事、创意写作、头脑风暴。
- > 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 五大核心:
-
模型:大模型调用基础
-
提示模板:标准化Prompt工程
-
链:固定多步骤业务流水线
-
记忆:上下文多轮对话
-
代理:智能工具调用、自主决策
后续进阶学习方向:
-
文档知识库问答(RAG检索增强)
-
自定义工具开发
-
长文本记忆、向量数据库接入
-
企业级智能Agent项目实战
💡 码字不易,欢迎点赞、收藏、关注!持续更新LangChain+大模型实战教程,零基础也能轻松做AI项目!
更多推荐





所有评论(0)