尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

大模型技术之-LangChain框架-01-LangChain概述

大模型技术之-LangChain框架-01-LangChain概述 对应版本 LangChain 1.21、为什么需要 LangChain1.1 从传统应用到智能体时代1.2 单一的大语言模型的局限性所以要构建真正实用的 AI 应用必须将大语言模型与外部工具、数据源和记忆机制有机结合从而催生了 LangChain 框架的设计理念。LangChain是当前构建生产级 AI 智能体系统的首选。1.3 LangChain 框架的定位LangChain 作为大模型与应用间的中间层可统一调用各类大模型、管理提示词与上下文还能集成外部工具和数据源快速搭建具备推理、行动能力的智能体。核心定位三点打通大模型与外部资源统一接口对接数据库、检索引擎、API、文件系统等封装底层复杂逻辑抽象工具调用、记忆等能力降低智能体开发难度支撑多智能体协作依托 LangGraph 等生态从单智能体拓展至多智能体协作可构建工业级智能体。1.4 LangChain 的应用场景1、检索增强生成RAG痛点解决大模型知识滞后无实时数据和幻觉问题。功能检索外部知识库文档数据库并向量化让模型基于最新、最相关的资料回答。2、Agent 智能体构建痛点解决 LLM 无法直接执行复杂任务的问题。功能将模型作为“推理引擎”自主规划路径并动态调用外部工具如订票、查报告、写 SQL实现复杂任务。3、对话系统与聊天机器人痛点解决多轮对话中的“记忆”流失问题。功能集成记忆管理系统记住用户偏好和历史交互并结合私有数据如教育教材、订单库提供专业服务。4、多模态应用开发痛点跨越单一文本交互的限制。功能融合图像识别、语音转文字等技术让模型具备处理音视频和图片的综合推理能力。5、自动化写作与格式化生成痛点解决生成内容格式不标准、质量不稳定的问题。功能配合提示词模板Templates与输出解析器Parsers自动产出规范的报告、合同或邮件。6、数据连接与结构化处理痛点解决非结构化数据难以被模型直接利用的问题。功能强大的数据连接能力使大模型能够与各种数据源和结构化数据交互。比如从 PDF、Excel 中提取关键信息或实现自然语言与 SQL 的自动转换。1.5 大模型相关岗位介绍应用开发是大模型最值得关注的方向应用为王学习 LangChain 框架高效开发大模型应用。2、LangChain 是什么2.1 LangChain 的发展时间线第1阶段诞生2022年10月2022年10月哈佛大学的机器学习项目工程师 Harrison Chase哈里森·蔡斯创建了由大语言模型驱动的应用程序的开源框架LangChain。其名称来源于“Language”语言模型和“Chain”链式连接的组合。体现了其核心设计理念——链接大语言模型与其他各种计算资源和数据构建强大的 AI 应用。第2阶段探索期2022年Q4—2023年Q1LangChain 初版发布主要聚焦于 PromptTemplate、LLMChain 等基础模块。其凭借前瞻性设计在开源社区迅速走红Gitlub Star 数快速破万成为早期最受关注的大模型应用框架。第3阶段体系化阶段2023年Q2—2023年Q4引入 Tool、Agent、Retrieval 等概念形成大模型工具调用记忆的核心架构支持构建完成更复杂任务的自动化智能体。同期推出 LangChain Hub 与 LangSmith初步构建了从开发、调试到部署的生态闭环。第4阶段平台化阶段2024年—2025年上半年LangGraph 与 LangServe 的发布是这一阶段的标志。LangGraph 为工作流管理提供了有向图基础而 LangServe 则解决了服务化部署的难题。至此LangChain 生态完成了从开发框架到智能体平台的跃升。第5阶段深层智能体阶段2025年下半年至今正式推出 Deep Agent官方定位为 Agent Harness智能体执行框架在 LangGraph 和 LangChain 之上运行标志着 LangChain 生态进入新阶段让开发者可构建基于多智能体的复杂化智能体系统。2.2 LangChain 的两个重要版本1、LangChain v0.3 版本既爱又恨长期以来LangChain 因为 API 变动频繁而被开发者戏称为“版本碎钞机”。一方面2024年是 LangChain 架构重大变革的一年LangChain 团队推出了 LangGraph 作为底层智能体编排框架并将原有的链和智能体标记为弃用转而采用基于 LangGraph 构建的统一智能体抽象。另一方面GPT-4 逐渐普及包括调用外部工具Function calling、结构化输出、系统提示词等功能都成了模型的基础功能。而对于开发者而言此时再使用 LangChain 对这些功能进行封装就显得多此一举。此时很多开发者的整体使用感受这个阶段LangChain 的开发者大规模流失。2、LangChain v1.x 版本AI 开发新范式在经历了短暂的阵痛后LangChain 进行了一次彻底的架构重构与瘦身。2025年10月20日LangChain 团队正式发布了第一个正式大版本LangChain v1.0.0 与 LangGraph v1.0.0这是 AI 智能体Agent开发领域的里程碑事件标志着框架的成熟和标准化为企业级 AI 应用提供了稳定基础。官方首次明确 API 稳定保证承诺在 2.0 版本前无破坏性变更。这种稳定性对于企业级应用是至关重要的。发布同期完成 1.2 亿美元融资估值超 12 亿美元印证其作为 AI 基础设施的战略价值。小结对比 LangChain v0.3 与 LangChain v1.2了解维度LangChain v0.3LangChain v1.2核心架构与设计理念过渡性版本设计上以链Chain为核心。生产级稳定版本标志着从“链式调用”到“智能体框架”的范式转变。Agent 构建方式依赖initialize_agent等旧版 API基于AgentExecutor硬编码。官方推荐使用create_agent作为 Agent 的标准构建入口底层基于 LangGraph。工具定义通过tool装饰器和 Tool 类定义类型安全性和参数验证能力较弱。支持通过 Pydantic Schema 定义工具类型安全参数定义更清晰。结构化输出主要依赖 JSON Parser 和正则表达式稳定性较差。Structured Output 成为一等公民直接绑定 Pydantic 类由模型底层保证输出格式稳定性。输出解析输出为纯文本需通过正则匹配等方式解析内容较为繁琐且易出错。引入标准化的content_blocks将模型输出推理、文本、工具调用统一为标准对象无需再手动解析。扩展机制缺乏系统性的扩展方式修改逻辑通常需要修改源码或提示词。引入功能强大的 Middleware中间件系统允许在模型调用、工具执行等各生命周期进行拦截和逻辑扩展。多模态支持支持不完善无法无缝集成图像、音频等多模态数据。完善了多模态适配可轻松实现多模态对话、多模态 RAG 等功能。异步执行性能异步执行性能一般。异步执行性能得到优化据称响应速度提升 30% 以上。包结构与依赖包结构相对混乱各模块耦合度较高。langchain包为直接依赖。内部从 Pydantic v1 升级到 v2对依赖版本要求更严格。包结构清晰主langchain包保持轻量旧功能如 Chains被迁移至langchain-classic包。langchain/core作为对等依赖版本管理更灵活。Python 版本要求要求 Python 3.9停止支持 Python 3.8。要求 Python 3.10。推荐用途适用于维护依赖 v0.3 的老旧项目不推荐用于新项目开发。是所有新项目和学习 LangChain 的首选版本。官方承诺 1.x 版本系列不会引入破坏性变更保证了长期稳定性。2.3 LangChain v1.2 的主要模块在这里插入图片描述langchain-core官方推荐的核心 API。比如 Runnable、BaseMessage 等。langchain-classic冗余代码移或不推荐使用的经典 API 移到此。比如 0.x 中常用而 1.x 移除的 API 都在这里。langchain-community第三方集成比如合作伙伴包 langchain-openai、langchain-anthropic 等按需安装、避免臃肿。langgraph深度整合 LangGraph 1.0协调多个 Chain、Agent、Tools 完成更复杂的任务并且还支持循环调用是 LangChain 图形化的增强版。来自https://reference.langchain.com/python/langchain/overview不要试图去学完 LangChain 的所有 API那是不可能的。你只需要搞懂它的核心逻辑与核心模块其他的用到什么再去查什么。把它当成一个工具箱而不是一本教科书。2.4 API 文档官网https://www.langchain.com/Github 地址https://github.com/langchain-ai中文文档地址https://docs.langchain.org.cn/oss/python/langchain/overview英文文档地址https://docs.langchain.com/oss/python/langchain/overviewAPI 文档查询地址https://reference.langchain.com/python/langchain/3、LangChain 家族四大支柱截至2025年11月LangChain 已从一个独立的开发框架成长为一个覆盖智能体系统全生命周期的技术生态。该生态由四大核心支柱构成LangChain、LangGraph、Deep Agent 与 LangSmith。它们分别对应基础能力层、运行时编排层、智能体抽象层、监控与评估层共同构建了一个从技术验证到生产部署、从单体智能到复杂协作的项目闭环。官方文档的解释https://docs.langchain.com/oss/python/concepts/products3.1 LangChain智能体开发的基石LangChain 是整个生态的核心与起点为开发者提供了模型调用、工具与中间件集成、智能体构建等一整套基础能力。其核心价值如下统一的模型抽象层屏蔽了不同模型服务提供商如 OpenAI、Anthropic、Ollama 等的接口差异提供一致的调用方式。高度模块化的设计使用 Message、Tool、Agent、Middleware 等组件实现灵活的组合与扩展。丰富的集成生态预置了丰富的数据源、API、中间件等构成了强大的 AI 能力枢纽。在整体架构中LangChain 如同智能体的操作系统内核是所有上层能力构建的基础。结论如果你需要构建简单的智能体应用无需复杂的编排需求那就选择 LangChain。3.2 LangGraph复杂工作流的编排引擎当智能体的任务从单一指令执行扩展为多步骤、有状态的复杂工作流时LangGraph 应运而生。其核心思想是将智能体内部抽象为一张有向图。节点Node代表独立的功能单元或决策点。边Edge定义了节点之间的流转条件与路径。状态State作为一个共享上下文在节点间传递并持久化存储任务信息。通过这种图式结构LangGraph 让智能体的工作流节点交互变得显式、可控、可观测。官方也强调“快速起步用 LangChain复杂控制用 LangGraph二者并行协同”。通俗理解LangChain能力抽象层LLMToolMessage 标准化负责“有什么能力”LangGraph执行与编排层状态机工作流多 Agent 系统负责“怎么跑”。3.3 Deep Agent智能体的执行框架Deep Agent 是新推出的全新组件被定位为 Agent Harness智能体执行框架。它构建于 LangChain 与 LangGraph 之上增加了规划能力、文件系统、子 Agent 等高级功能。旨在让开发者无须从零构建复杂的控制逻辑即可创建具备深度规划、长期记忆与多专家协作能力的智能体。Deep Agent 的核心能力如下显式规划自主生成、执行并动态调整多步任务计划。虚拟文件系统为智能体提供结构化的中间结果与知识存储。子智能体支持任务在多个智能体之间的分解与协作。长期记忆通过与 LangGraph 状态存储的结合实现跨对话的经验积累。可扩展中间件允许嵌入安全审计、性能监控或自定义业务逻辑。3.4 三者的关系官方文档三者对比https://docs.langchain.com/oss/python/langchain/overview三个框架不是竞争关系并非互斥复杂项目完全可以同时用到这三层。基于 LLM 的应用开发体系图从 LangChain 快速搭建用 LangGraph 打磨生产稳定性再用 Deep Agents 赋予 Agent 更强的自主能力——这才是完整的 LangChain 生态玩法。3.5 LangSmith可视化监控与测试平台当智能体系统逐渐复杂时单靠日志与打印输出print调试已无法满足调试与质量管理的需求。LangSmith 是 LangChain 官方推出的可视化监控与测试平台用于跟踪、记录和分析智能体在运行过程中的完整调用链路让智能体的内部运行过程变得透明和可评估。LangSmith 的核心目标如下全链路追踪可视化追踪模型调用、提示词输入、结果输出、工具使用等行为。调试与优化发现运行中智能体的异常行为与性能瓶颈。评测与质量控制支持人工与自动化评测量化智能体表现。团队协作支持多人共享测试集与调用记录。LangSmith 官网https://www.langchain.com/langsmithLangSmith 的引入使得智能体的开发、调试与运维形成了完整的质量闭环。4、开发前的准备工作4.1 前置知识1、Python 基础语法变量、流程控制、函数与参数机制、类与对象、装饰器常用的容器列表、元组、集合、字典、JSON 处理、异常处理模块导入、包管理推荐用 pip 或 conda、线程与协程。LangChain 生态支持包括 Python 和 JavaScript 语言实现。其中Python 版本仍是功能最完整、更新最及时、社区最活跃的核心实现。2、大语言模型基础了解什么是 LLM、Token、Prompt、EmbeddingOpenAI API 或其他模型提供商如 Anthropic、阿里云百炼、DeepSeek 等通过浏览器或 App 使用过大模型比如豆包、千问、DeepSeek 等。4.2 相关环境安装4.2.1 代码管理方案相较于全局环境系统环境各个虚拟环境都有自己独立的一套Python 解释器、pip 命令、第三方依赖包不和其他项目产生干扰。虚拟环境的设置方案方案1-使用 conda适合“Python非 Python 依赖”的复杂环境conda 不只是 Python 包管理工具它还可以管理 Python 解释器、Python 包以及很多非 Python 依赖比如CUDA、编译器、系统库、数据库驱动、科学计算底层库等非 Python 依赖。因此在数据科学、深度学习、AI 工程、科学计算等场景中conda 更稳妥、优先推荐。注意conda 环境中可以使用 pip但建议先用 conda 装底层依赖再用 pip 补充 Python 包不要随意反复交替使用。本套课程的选择。方案2-使用 uv适合“纯 Python 项目”的现代包管理uv 是一个现代 Python 包管理工具主要管理 Python 生态依赖不能像 conda 那样管理 CUDA、系统级数据库驱动、编译器这类通用非 Python 依赖。如果项目主要是普通 Python 开发这类项目通常可以优先考虑 uv。例如FastAPI 项目LangChain 项目脚本工具Web 后端普通 AI Agent 应用RAG 应用层代码。方案3-使用 venvPython 自带的轻量级虚拟环境工具venv 是 Python 官方自带的虚拟环境工具不需要额外安装。它的特点是简单、轻量python-mvenv .venv**注意**venv 不负责安装新的 Python 解释器只能基于当前已经安装好的 Python 解释器创建虚拟环境。同时venv 也不负责管理 CUDA、系统库等非 Python 依赖。三者对比工具管理 Python 解释器管理 Python 包管理非 Python 依赖适合场景conda✅可以✅可以✅可以AI、深度学习、科学计算、复杂底层依赖CC、CUDAuv✅可以✅可以❌不可以纯 Python 项目、Web、Agent、RAG 应用层venv不支持原生安装基于已有解释器✅可以❌不可以简单项目、教学演示、轻量隔离对于 LangChain 这样的纯 Python 环境可以用 uv也可以用 conda。本套课程选择使用 conda。安装 conda 环境见《02资料\尚硅谷-conda使用指南.md》。普通 Python 项目可以用 uv速度快体验好。4.2.2 安装虚拟环境与 Python 解释器LangChain 基于 Python 开发因此需确保系统中安装了 Python 解释器我们在创建虚拟环境过程中安装 Python 解释器。LangChain 1.2 版本要求 Python 版本为 3.10 以上这里我们使用 python3.13.12 版本。注意如下包的安装必须显式指明版本否则可能会出现不兼容情况。1、创建 conda 环境# 创建一个名为 langchain1.2 的环境指定 Python 版本是 3.13.12conda create--namelangchain1.2python3.13.12# 查看 anconda 安装好的 python 环境condaenvlist# 初始化虚拟环境执行完此指令重新启动命令行窗口conda init# 在命令行窗口切换到某 python 环境conda activate langchain1.2# 验证 python 版本(langchain1.2)C:\Users\shkstartpython-V# 或调用python --version# 输出Python 3.12.132、退出删除 conda 环境# 在命令行退出当前 python 环境(langchain1.2)C:\Users\shkstconda deactivate# 删除一个已有的 anconda 管理的 python 环境conda remove--namelangchain1.2--all4.2.3 下载 langchain 安装包方式1使用 conda 指令推荐# 安装指定版本。比如 1.2.2condainstalllangchain1.2.12# 或者安装最新版默认仓库condainstalllangchain# 指定频道如 conda-forgecondainstall-cconda-forgelangchain1.2.12# 更新包conda update langchain# 卸载包conda uninstall langchain# 查看已安装包conda listconda 包通常来自 defaults 或 conda-forge。-c是--channel的缩写conda 用于指定包的安装来源渠道。conda-forge该源比官方默认渠道更新更快、包更全。方式2使用 pip 指令# 安装指定版本pipinstalllangchain1.2.12# 安装最新版不推荐pip install langchain# 使用指定源国内镜像加速解决下载慢-i指定镜像源pipinstalllangchain1.2.12-ihttps://pypi.tuna.tsinghua.edu.cn/simple# 从旧版本升级到新版本pipinstall--upgradelangchain# 或者pip install -U langchain1.2.12# 卸载包pip uninstall langchain# 查看已安装包pip list建议优先conda installconda 没有再用pip install。二者区别conda 依赖检查严格pip 相对宽松conda 管环境依赖稳定性pip 只管 Python 包conda支持 Python 包非 Python 包pip只支持 Python 包。# 检查包来源conda list# Conda 安装的包显示频道pip 安装的显示 pypi4.2.4 PyCharm 开发环境PyCharm 作为专业的 Python IDE具有强大的代码编辑、调试和版本控制功能。https://www.jetbrains.com/pycharm/download/other/#releases-2025创建新的工程并设置 Python 解释器选择 Anaconda 环境。importlangchainprint(langchain.__version__)5、大模型应用场景介绍大模型应用技术特点门槛低天花板高。5.1 RAG 开发1背景大模型的知识冻结随着 LLM 规模扩大训练成本与周期相应增加模型无法实时学习到最新的信息或动态变化。导致 LLM 难以应对诸如“请推荐现在的热门影片”等时间敏感的问题。大模型幻觉涉及到大模型从未在训练过程中学习过的信息时大模型无法给出准确的答复转而开始臆想和编造答案。2举例LLM 在考试的时候面对陌生的领域答复能力有限然后就准备放飞自我了而此时 RAG 给了一些提示和思路让 LLM 懂了开始往这个提示的方向做最终考试的正确率从 60% 到了 90%3何为 RAGRetrieval-Augmented Generation检索增强生成图1图2检索-增强-生成过程检索可以理解为第10步增强理解为第13步这里的提示词包含检索到的数据生成理解为第15步。这些过程中的难点1、文件解析2、文件切割3、知识检索4、知识重排序。文件解析如果是 PDF内部包含文件、图片、表格图片上还有文字需要处理。文件切割没有固定的格式。知识重排序在 RAG 应用中随着文档数量增加召回准确率会下降引入 reranker重排器可对初步召回的较多 chunk如 top 20 或 top 50进行精排提高召回准确率防止 LLM 处理无关信息减少时间和成本。此外与基于基本矢量搜索的 RAG 相比reranker 增强型 RAG 的成本更高但与仅依靠 LLM 生成答案相比它的成本低些。Reranker 的使用场景适合追求回答高精度和高相关性的场景中特别适合使用 Reranker例如专业知识库或者客服系统等应用。不适合引入 reranker 会增加召回时间增加检索延迟。服务对响应时间要求高时使用 reranker 可能不合适。5.2 Agent 开发充分利用 LLM 的推理决策能力通过增加规划、记忆和工具调用的能力构造一个能够独立思考、逐步完成给定目标的 Agent智能体。类比举例OpenAI 的元老翁丽莲Lilian Weng于2023年6月在个人博客https://lilianweng.github.io/posts/2023-06-23-agent/首次提出了现代 AI Agent 架构。一个数学公式来表示AgentLLMPlanningToolsMemoryAction比如打车到西藏玩。大脑中枢规划行程的你规划步骤1规划打车路线步骤2订饭店、酒店……调用工具调用 MCP 或 FunctionCalling 等 API滴滴打车、携程、美团订酒店饭店记忆能力沟通时要知道上下文。比如订酒店得知道是西藏路上的酒店不能聊着聊着忘了最初的目的能够执行上述操作。说走就走不能纸上谈兵。智能体核心要素被细化为以下模块1、大模型LLM作为“大脑”提供推理、规划和知识理解能力是 AI Agent 的决策中枢。大脑主要由一个大型语言模型 LLM 组成承担着信息处理和决策等功能并可以呈现推理和规划的过程能很好地应对未知任务。2、规划决策Planning通过任务分解、反思与自省框架实现复杂任务处理。例如利用思维链Chain of Thought将目标拆解为子任务并通过反馈优化策略。3、工具使用Tool Use调用外部工具如 API、数据库扩展能力边界。4、记忆Memory智能体像人类一样能留存学到的知识以及交互习惯等这样的机制能让智能体在处理重复工作时调用以前的经验从而避免用户进行大量重复交互。短期记忆存储单次对话周期的上下文信息属于临时信息存储机制。受限于模型的上下文窗口长度。ChatGPT支持约 8k token 的上下文GPT4支持约 32k token 的上下文最新的很多大模型OpenAI GPT‐5.5GPT‐5.4 Pro 支持 100 万 Token1M、Anthropic Claude Opus 4.7 支持 200 万 Token、DeepSeek‐V4‐Pro 支持 100 万 Token、甚至有模型支持 1000 万 token 的上下文相当于 2000 万字文本或 20 小时视频。长期记忆可以横跨多个会话或时间周期可存储并调用核心知识非即时任务。比如关于用户的偏好过去执行过的指令等。长期记忆可以通过模型参数微调固化知识、知识图谱结构化语义网络或向量数据库相似性检索方式实现。5、行动Action实际执行决策的模块涵盖软件接口操作如自动订票和物理交互如机器人执行搬运。比如检索、推理、编程等。智能体会形成完整的计划流程。例如先读取以前工作的经验和记忆之后规划子目标并使用相应工具去处理问题最后输出给用户并完成反思。5.3 大模型应用开发的4个场景场景1纯 PromptPrompt 是操作大模型的唯一接口当人看你说一句ta 回一句你再说一句ta 再回一句……场景2AgentFunction CallingAgentAI 主动提要求Function Calling需要对接外部系统时AI 要求执行某个函数当人看你问 ta“我明天去杭州出差要带伞吗”ta 让你先看天气预报你看了告诉 tata 再告诉你要不要带伞。场景3RAGRetrieval-Augmented GenerationRAG需要补充领域知识时使用。Embeddings把文字转换为更易于相似度计算的编码。这种编码叫向量向量数据库把向量存起来方便查找向量搜索根据输入向量找到最相似的向量。举例考试答题时到书上找相关内容再结合题目组成答案。这个在智能客服上用的最广泛。s场景4Fine-tuning精调微调举例努力学习考试内容长期记住活学活用。特点成本最高在前面的方式解决不了问题的情况下再使用。如何选择相关技术面对一个需求如何开始如何选择技术方案下面是个常用思路
返回列表