LangChain新手入门:从零搭建第一个LLM对话应用(保姆级)

📅 2026/7/22 4:30:23
LangChain新手入门:从零搭建第一个LLM对话应用(保姆级)
很多同学想学AI应用开发但卡在不知道怎么调用大模型、不会管理提示词、不会串联业务流程。其实LangChain 是目前最主流、最简单的大模型应用开发框架不用造轮子搭积木式开发对话机器人、知识库问答、智能代理等项目。本文从零基础带你入门吃透 LangChain 五大核心组件手把手写出可运行的 LLM 程序新手看完直接上手做项目一、什么是 LangChain如果把大模型LLMGPT、通义千问、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_URLhttps://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( modeldeepseek-v4-flash, temperature0.7, # 控制输出的随机性0-1之间值越大越随机 api_keyos.getenv(DEEPSEEK_API_KEY), base_urlos.getenv(DEEPSEEK_BASE_URL), ) # 2、定义提示模板 prompt PromptTemplate( input_variables[question], template你是AI助手请专业简洁回答用户问题{question} ) # 3、组装链 chain LLMChain(llmllm, promptprompt) # 4、执行调用 result chain.invoke({question: 什么是LangChain有什么作用}) print(result[text])temperature是大模型生成文本核心超参数控制输出随机性、创造力取值范围一般0 ~ 2temperature 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() llminit_chat_model( base_urlos.getenv(DEEPSEEK_BASE_URL), api_keyos.getenv(DEEPSEEK_API_KEY), modeldeepseek-v4-flash, temperature0.7, model_provideropenai ) # 2、定义提示模板 prompt PromptTemplate( input_variables[question], template你是AI助手请专业简洁回答用户问题{question} ) # 3、组装链 chain LLMChain(llmllm, promptprompt) # 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( modelQwen/Qwen2.5-7B-Instruct, temperature0 ) # 第一步中文转英文 trans_prompt PromptTemplate( input_variables[text], template请将以下中文精准翻译成英文{text} ) chain_trans LLMChain( llmllm, prompttrans_prompt, output_keyen_text ) # 第二步英文内容单句总结 summary_prompt PromptTemplate( input_variables[en_text], templateSummarize the following content in one sentence: {en_text} ) chain_summary LLMChain( llmllm, promptsummary_prompt, output_keyfinal_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(modelQwen/Qwen2.5-7B-Instruct, temperature0.7) # 初始化记忆组件 memory ConversationBufferMemory(memory_keychat_history) # 带历史对话的提示模板 prompt PromptTemplate( input_variables[chat_history, user_input], template 对话历史 {chat_history} 用户{user_input} AI助手 ) # 绑定记忆到链 chat_chain LLMChain(llmllm, promptprompt, memorymemory) # 多轮对话测试 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(modelQwen/Qwen2.5-7B-Instruct, temperature0) # 注册工具计算器 tools [CalculatorTool()] # 初始化智能代理 agent initialize_agent( toolstools, llmllm, agentAgentType.ZERO_SHOT_REACT_DESCRIPTION, verboseTrue # 开启思考日志可查看推理过程 ) # 测试数学计算自动调用计算器 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-turbo4、忘记记忆组件默认无上下文多轮对话必须加 Memory5、废弃API旧版chain.run()逐步淘汰推荐统一使用chain.invoke()八、学习总结 进阶方向本文带你彻底吃透 LangChain 五大核心模型大模型调用基础提示模板标准化Prompt工程链固定多步骤业务流水线记忆上下文多轮对话代理智能工具调用、自主决策后续进阶学习方向文档知识库问答RAG检索增强自定义工具开发长文本记忆、向量数据库接入企业级智能Agent项目实战 码字不易欢迎点赞、收藏、关注持续更新LangChain大模型实战教程零基础也能轻松做AI项目