尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
小白程序员必看:轻松入门LangChain大模型框架(收藏版)
本文从基础概念入手详细介绍了LangChain框架的核心功能和应用场景包括模型调用、消息传递、工具连接、状态维护和结构化输出。通过实例演示了如何一步步构建可运行的Agent并提出了四层思维模型帮助理解LangChain的整体架构。适合想要学习大模型开发的初学者参考。01 不简单你肯定看过各种演示能根据文档回答问题的聊天机器人、能浏览网页给你发摘要的Agent、能把原始文本转成指定JSON格式的流水线。这些全都是用LangChain做的看起来好像不难但是真的不难吗我觉得是难的我不知道你们。你去GitHub下载了Agent代码在本地跑通了。然后你想在此基础上自己搞点事情结果撞上了墙概念太多、节奏太快、顺序不对。什么是链什么是消息类型为什么工具需要SchemaAgent什么时候真的需要工具循环这篇文章按正确顺序解答了这些问题。从单个模型调用开始一步步到可运行的Agent。你会理解LangChain背后的思维模型而不只是记住语法。一步一步学02 LangChain是什么LangChain官方定义是构建基于语言模型的应用程序框架。但这个定义掩盖了它真正的含义。真正的含义是语言模型本身就是一个函数。你输入文本它输出文本。它是无状态的它不记得你之前说过什么不知道怎么搜索网页不能运行Python只是生成token。token 的中文名叫词元是大模型下token是文本被分割后的最小单元但是这里有个误区: token就是一个单词或者一个字吗token可以是一个字、词也可以是一个句子举个栗子张三喜欢打篮球那“张三”、“喜欢”、“打”、“篮球”是4个token那也可能在其他大模型中因为分词的原因“打篮球”是一个tokenLangChain 给你一套标准方式传递消息、连接工具、维护状态、把输出串成下一个输入。它可以通过同一个接口能对接OpenAI、Anthropic、Groq、Hugging Face等任何模型。LangChain可以传递消息、连接工具、维护状态还有一件事值得知道LangChain v1在2025年初发布清理了v0版本中很多乱糟糟的API。导入方式有所不同Agent API也变了。这篇文章全程用v1。先检查一下版本importlangchain print(langchain.__version__)# Should be 1.x.x# Install if you havent:# pip install langchain langchain-core langchain-groq python-dotenv pydantic03 第一次模型调用在搞Agent、搞工具或者搞任何东西之前你得先知道怎么跟模型对话。这里是第一步importos from dotenvimportload_dotenv from langchain.chat_modelsimportinit_chat_model load_dotenv()# Works with OpenAI, Anthropic, Groq — same interfacemodelinit_chat_model(groq:llama-3.1-8b-instant)responsemodel.invoke(Explain what a REST API is in two sentences.)print(response.content)就是这样。init_chat_model接受一个带提供商前缀的字符串比如groq:llama-3.1-8b-instant或openai:gpt-4o不管底层提供商是谁它返回给你一个接口相同的模型对象。响应是一个AIMessage对象。.content属性包含文本内容。如果你想查看响应元数据token计数、模型名称、延迟你可以在.response_metadata里查看到。04 消息当你调用model.invoke(“some text”)时这里的some text就是你问大模型的问题LangChain在底层把你的字符串包装成一个HumanMessage对象。你需要了解LangChain里的四种消息类型这是大模型处理的基本单元·SystemMessage系统提示告诉模型该做什么·HumanMessage用户输入·AIMessage模型回复·ToolMessage工具返回结果后面讲我们知道现在的大模型是有记忆的你经过几轮对话后再次提问大模型对你前面说过的话还是有记忆的。如果在每一轮的对话中我们传递一个消息列表给到大模型那么大模型会根据完整的历史对话记录做出响应。上下文记忆怎么来的在面这段代码就是大模型内存的工作原理from langchain_core.messagesimportSystemMessage, HumanMessage, AIMessage# Build the conversation manuallyconversation[SystemMessage(You are a concise Python tutor. Keep answers short.), HumanMessage(What is a list comprehension?)]responsemodel.invoke(conversation)print(response.content)# Continue the conversation — append both messagesconversation.append(response)conversation.append(HumanMessage(Give me a quick example.))followupmodel.invoke(conversation)print(followup.content)模型本身没有记忆。每次调用invoke()你都从头发送完整历史。这个消息列表就是内存。保存它、扩展它模型就能保持在上下文中。就不会变得傻傻的就会像人一样有记忆力05 工具让模型能做事只训练文本的语言模型查不了今天的股价看不了你的数据库发不了邮件。工具解决了这个问题。一个工具其实包含两部分一个是干活的Python函数另一个是模式schema它告诉模型这个函数是做什么的、接受哪些参数。然后模型会通过schema知道这个函数是干嘛的依此决定要不要调用这个工具如果需要调用就返回一个填好了参数的结构化请求。执行这个函数就可以得到结果也就是这个工具执行的结果。模型使用工具才能做事LangChain用tool装饰器让定义工具变得简单。函数的docstring就是模型读的描述类型注解就是参数schema。from langchain.toolsimporttool tool defget_stock_price(ticker: str)-str:Get the current stock pricefora given ticker symbol.# In real code: call a finance API hereprices{AAPL:$192.45,TSLA:$248.10,NVDA:$875.30,}returnprices.get(ticker.upper(), fNo price found for {ticker})tool defget_weather(city: str)-str:Get current weather conditionsfora city. returnfIts 22°C and partly cloudy in {city}.# Bind the tools to the modelmodel_with_toolsmodel.bind_tools([get_stock_price, get_weather])这里有个很多人会漏掉的点绑定工具并不会让模型自动使用它们。模型返回一个结构化的AIMessage你还是得自己执行它。完整调用流程三步# Step 1: Send user question — model decides what to callmessages[{role:user,content:Whats the AAPL stock price?}]ai_msgmodel_with_tools.invoke(messages)messages.append(ai_msg)# Step 2: Execute whatever tools the model requestedtools_map{get_stock_price:get_stock_price,get_weather:get_weather}fortool_callinai_msg.tool_calls: print(fModel wants: {tool_call[name]}({tool_call[args]}))resulttools_map[tool_call[name]].invoke(tool_call[args])messages.append(result)# Step 3: Pass results back — model uses them in its final answerfinalmodel_with_tools.invoke(messages)print(final.content)# → AAPL is currently trading at $192.45.06 结构化输出假设你想让模型从文本中提取信息并返回一个Python对象。你可以要求大模型返回JSON然后自己解析字符串或者你可以用结构化输出这样会更好点。给你想要的东西定义一个Pydantic模型剩下的LangChain搞定。from pydanticimportBaseModel, Field from typingimportList classJobPosting(BaseModel): role: strField(descriptionJob title)company: strField(descriptionCompany name)required_skills: List[str]Field(descriptionList of required skills)remote: boolField(descriptionWhether the role is remote)# Wrap the model — it will always return a JobPosting objectstructured_modelmodel.with_structured_output(JobPosting)job_text Senior ML Engineer at DataCorp. Must know Python, PyTorch, and MLflow. Fully remote position. Strong knowledge of distributed training preferred. postingstructured_model.invoke(job_text)print(posting.role)# → Senior ML Engineerprint(posting.required_skills)# → [Python, PyTorch, MLflow]print(posting.remote)# → True返回的是真正的Python对象不是字符串。属性访问、类型安全、验证这些全都是通过Pydantic内置的。如果模型返回不符合schema的东西Pydantic会抛出错误的。07 构建真正的AgentAgent就是循环中的模型。它接收任务、思考该做什么、需要的话调用工具、接收结果然后决定要不要再调用一个工具还是直接回答它一直重复直到完成。我好像知道聪明的agent是什么了整理理解下来就是model message memory loop( tools)对于人类自然语言描述的问题agent通过大模型来理解问题如果有memory就会有记忆循环使用工具直到问题被解决。这个循环就是思考→行动→观察→重复。这就是Agent和单次模型调用的区别。LangChain v1底层用create_react_agent它帮你实现了这个循环。思考→行动→观察→重复下面是一个完整可运行的Agent带两个工具from langchain.agentsimportcreate_react_agent, AgentExecutor from langchain.toolsimporttool from langchain_core.promptsimportChatPromptTemplate tool defsearch_docs(query: str)-str:Search internal documentationforanswers.# Swap this with a real vector search in productionreturnfFound 3 results for {query}. Top result: ...tool defget_user_info(user_id: str)-str:Look up account informationfora user ID. returnfUser {user_id}: PlanPro, Joined2024-01, StatusActivetools[search_docs, get_user_info]promptChatPromptTemplate.from_messages([(system,You are a helpful support agent. Use the tools available to answer user questions accurately.),(human,{input}),(placeholder,{agent_scratchpad}),])agentcreate_react_agent(model, tools, prompt)executorAgentExecutor(agentagent,toolstools,verboseTrue)resultexecutor.invoke({input:What plan is user U-9821 on?})print(result[output])verboseTrue标志会在运行时打印完整的循环信息调用了哪个工具、用了哪些参数、返回了什么。先开着verbose运行一次你就能准确看到Agent是怎么一步步解决问题的。整个执行流程是这样的·用户发送输入 → Agent接收任务。模型读取系统提示、用户问题、可用工具schema列表。·模型决定调用工具 → 模型返回一个填充了tool_calls字段的AIMessage。它选工具并填参数。·工具执行结果追加 → LangChain执行工具函数把ToolMessage追加到对话中。到这里我们的模型现在就能看到结果了。·模型继续或结束 → 如果需要更多信息它调用另一个工具。如果信息足够它生成最终答案。这个过程重复直到完成。08 四层思维模型这篇文章把所有东西串起来的思维模型其实很简单四层模型LangChain的四层模型——每一层都建立在下一层之上·模型层理解处理消息、执行函数·消息层四种消息类型对话历史就是记忆·工具层带schema的函数模型能调用外部能力·Agent层ReAct循环——思考→行动→观察→重复直到完成其实不一定非得把四层全用上。比如只做数据提取用模型和结构化输出就行。做个文档问答机器人那需要消息和搜索工具。如果是自动应答的客服机器人那四层都得要。你就看自己任务需要哪几层从最少的开始用。09 在路上你开始读这篇文章的时候可能压根没搞懂LangChain到底有什么用。现在你知道了四层模型模型、消息、工具、结构化输出、Agent以及它们之间怎么串起来的。别小看这个。好多人一上来就冲着 Agent 去了结果被各种抽象概念绕晕了。看到这里我知道你们和我一样现在对这些概念有了很好的理解。感觉我有种懂了的感觉不知道你们有没有一定要写下你的感受。最后当下AI大模型是当下实打实的优质风口岗位缺口大、发展前景广、薪资待遇突出对比内卷严重、涨薪晋升困难的传统技术岗是普通人转行逆袭的绝佳选择。但很多想要入局大模型领域的朋友都面临无系统学习路径、无实战资源、求职无方向的难题一个人硬啃最容易走弯路、浪费大量时间精力。这里我结合多年一线实战与教学经验整理出一套零基础大模型专属资料包含系统化学习路线图零基础到精通大模型学习书籍 文档电子版2026 最新行业报告项目实战 配套源码大厂面试真题需要的朋友微信扫描下方 CSDN 官方认证二维码免费领取保证 100% 免费。扫码免费领取全部内容下面简单介绍一下资料包含的内容1、大模型系统化学习路线图专属定制从零基础入门到企业级实战的全阶段学习体系划分清晰的四大学习阶段规避碎片化学习弊端适配新手2、0基础到进阶视频教程配套完整高清实操教程覆盖Prompt提示工程、RAG知识库搭建、Agent智能体开发、模型微调、部署落地等核心知识点所有课程搭配实操演示零基础也能轻松看懂、上手实操。3、大模型学习书籍 文档汇总30本行业经典AI、大模型、深度学习精选书籍涵盖理论原理、开发实战、算法基础、AI产品思维等各类内容4、AI大模型最新行业报告整理2024-2026年最新大模型行业白皮书、市场分析报告清晰展现行业发展趋势、技术迭代方向、岗位需求变化帮助学习者精准把握行业风口找准学习和就业方向5、大厂面试真题汇总了常见的AI大模型面试问题、知识点梳理和面经参考方便求职时针对性准备。6、大模型项目实战 配套源码包含GPT应用开发、RAG私有知识库、智能问答系统等多个企业级实战项目配套完整可运行源码从简易Demo到完整商业应用全覆盖帮助学习者将理论转化为落地实战能力积累项目经验。7、适合谁学传统后端 / Java / 前端开发想转型 AI 应用大学生、应届生想拿更好的 offer产品经理、运营想武装职业竞争力技术负责人想给团队落地提效学习是反人性的但回报是真金白银。技术会更新赛道会切换但只要你先动手机会就永远站在你这边。8、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料
RELATED

相关推荐

OpenGL [ 坐标系 ]

OpenGL [ 坐标系 ]

前面的文章已经介绍了 VAO、VBO、EBO、Shader、纹理和矩阵。现在先把矩阵放到一边,回答一个更基础、也更容易混乱的问题:OpenGL 里的坐标到底是什么?一个顶点从模型文件进入顶点着色器以后,经过哪些坐标空间,最后怎样变…

📅 2026/10/9 17:01:35
普通人也能低成本入局AI大模型,抢占千亿红利赛道!

普通人也能低成本入局AI大模型,抢占千亿红利赛道!

文章指出,国产AI大模型已从研发阶段走向商业化落地,市场规模预计将在2026年突破680亿元,2030年攀升至3250亿元。国内大模型落地数量全球领先,用户调用量持续暴涨,商业化落地不再是空谈。AI大模型应用开发工程师成为普通…

📅 2026/10/9 17:01:35
双活数据中心原理图制作指南:存储双活、仲裁机制与PPT改造技巧

双活数据中心原理图制作指南:存储双活、仲裁机制与PPT改造技巧

简介:这是一份聚焦双活数据中心整体设计的原理图PPT,原图内容可修改,适合数据中心运维、架构规划及网络/存储工程师用于方案讲解与二次整理。资源共1个ppt文件,约3.77MB,以架构拓扑图为主,清晰拆解主故障域…

📅 2026/10/9 16:56:34
MORE NEWS

更多资讯

📰

校园线上超市小程序源码拆解:从业务模型到二次开发实践

记得第一次拿到这类“可白嫖源码”的校园线上超市平台项目,我的操作和大多数人一样:解压、打开微信开发者工具、导入、然后坐等报错。等我把页面加载出来、点了几下能正常跳转之后,才意识到自己对这套系统的理解还停留在“能跑”的阶段。项目…

📰

GB/T 31455.7-2025 BRT信号优先通信接口标准化技术解读与工程实践

GB/T 31455.7-2025这个编号放在智能交通圈里,懂行的人一眼就能看出分量。BRT公交与交通信号通信接口的标准化升级,说到底解决的是快速公交在路口"能不能优先、怎么优先、优先之后怎么闭环"这一整条链路的问题。国内这些年做BRT信号优先的项目很…

📰

PMP备考教材全攻略:PMBOK指南、辅助材料与刷题资源的高效使用策略

1. 先搞清楚PMP备考的教材体系到底分几层很多人一上来就问“该买哪本书”,这个问题本身就问偏了。PMP备考的教材不是一个单层结构,而是分成三个层次:官方指定教材、辅助理解材料、刷题与模拟资源。这三层各有各的用途,缺一层都会在…

📰

短剧APP开发方案:广告解锁与变现架构全解析

过去一年做APP开发社区里聊得最多的方向之一,就是短剧。从去年开始,“看广告解锁短剧”这类产品密集上线,本质上把短视频的碎片化消费和广告变现做成了闭环:用户不用掏钱,看完一条30秒广告就能解锁下一集;平…

📰

技术人做自媒体:把技术能力转化为内容资产

做技术的人,对“反馈”这件事特别敏感。你写完一个函数,跑一遍,要么对要么报错,反馈是即时的;你优化完一个接口,压测数据上来,吞吐量涨了就是涨了。这就是为什么很多技术兄弟一开始碰自媒体会非…

📰

再见Fable 5,OpenAI出手了!GPT-5.6真香~用TaoToken统一Key跑Codex agent

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬