很多同学想学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-communitylangchain:框架核心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项目!