1.LangChain概述

1. 为什么需要 LangChain?

  • 传统应用到智能体时代的跨越。
  • 单一 LLM 的局限性 :
    1. 知识时效受限:受限于预训练数据,无法获取最新的实时信息。
    2. 无法直接与外部系统交互:不能直接查询数据库、调用 API 或使用外部工具。
    3. 不具备状态保持(记忆)能力:难以维持长期、连贯的多轮对话,对话历史易丢失。
  • 核心理念 :为了构建实用的 AI 应用,必须将大语言模型与外部工具、数据源和记忆机制有机结合。而 LangChain 正是作为大模型与应用之间的中间层,封装了这些复杂的逻辑,是当前构建生产级 AI 智能体系统的首选。

2. LangChain 的介绍与核心结构

2.1 LangChain v1.2 的主要模块

随着 v1.x 系列版本的发布,LangChain 进行了彻底的架构重构与瘦身,其核心包实现了最小化,不同的模型供应商分离为独立包:

  • langchain-core:官方推荐的核心 API,包含 Runnable、BaseMessage 等核心抽象接口,保持轻量。
  • langchain-classic:向后兼容包。将 0.x 中常用而在 1.x 中被移除/不推荐使用的经典 API(如旧的 Chain 结构)迁移至此。
  • langchain-community :第三方集成包。包含各种第三方合作伙伴包,如 langchain-openai、langchain-anthropic 等,按需安装,避免依赖臃肿。
  • langgraph:智能体系统基础。深度整合了 LangGraph 1.0,用于协调多个 Chain、Agent、Tools,支持循环调用,是实现复杂状态流转和多智能体协作的核心。

2.2 API 文档与资源

学习 LangChain 不需要死记硬背所有 API,而是将其作为工具箱,按需查询:

2.3 LangChain 家族的四大支柱

整个生态已覆盖智能体系统全生命周期,由以下四大支柱构成:

  1. LangChain(基础能力层):提供统一的模型抽象层、模块化设计(Message/Tool/Agent/Middleware)和丰富的集成生态。适用于构建简单的智能体应用。
  2. LangGraph (运行时编排层):负责复杂、有状态、支持循环的工作流编排。核心思想是将智能体内部抽象为有向图,包括节点(Node)、边(Edge)和状态(State)。
  3. Deep Agent (智能体抽象层 / 执行框架):定位为 Agent Harness,构建在 LangChain 与 LangGraph 之上。免去开发者从零构建控制逻辑,提供显式规划 、虚拟文件系统 、子智能体协作 、长期记忆 和可扩展中间件等高级能力。
  4. LangSmith (监控与评估层):可视化监控与测试平台,提供全链路追踪 、调试与优化 、评测与质量控制 及团队协作,形成开发、测试到运维的质量闭环。

3. 大模型(LLM)应用场景与开发模式

3.1 核心技术与开发模式对比

  1. 纯 Prompt (直接提示词)

    • 模式:应用程序 →\rightarrow → Prompt →\rightarrow → 基础大模型 →\rightarrow → Response →\rightarrow → 应用程序。
    • 交互:简单的单轮或多轮一问一答,大模型是唯一的交互接口。
  2. Agent + Function Calling (智能体与工具调用)

    • 核心:LLM 作为"大脑"(推理引擎),主动提出调用外部系统(API、数据库、函数)的需求,以此扩展自身能力。
    • 示例:用户询问"明天去杭州需要带伞吗?",Agent 判定需要先调用"天气预报 API",获取数据后再向用户反馈建议。
  3. RAG (检索增强生成 - Retrieval-Augmented Generation)

    • 痛点:解决 LLM 知识冻结(无法实时学习最新数据)和幻觉问题(胡说八道)。
    • 流程 :
      1. 将本地文件(PDF、Word 等非结构化数据或结构化数据)通过 Loader 加载,经 Text Splitter 切割成文本块(Chunks)。
      2. 通过 Embedding Model 转化为向量,存储到向量数据库中。
      3. 检索时,将用户提问(Query)进行向量化,在向量数据库中进行相似度搜索,召回相关的文本块。
      4. 把召回的文本块作为上下文(Context),拼接成 Prompt 喂给 LLM 生成精准答案。
    • 优化 (Reranker 重排) :
      • 在文档数量多时,先召回较多文本(如 top 20 或 top 50),使用重排器进行精排,从而提升准确率,减少喂给 LLM 的无关噪声。
      • 适用场景:适合高精度和强相关性要求(如客服、专业知识库);不适合极高响应速度要求的场景。
  4. Fine-tuning (精调/微调)

    • 模式:使用特定任务数据重新训练模型权重。
    • 特点:成本最高,但在前几种方式(Prompt、RAG、Agent)完全解决不了问题(如特定语气、深度垂直领域的定制格式输出)时再考虑使用。

3.2 技术选择决策路径

面对具体项目需求,通常的选择思路是:

graph TD A[准备测试数据] --> B(用对话应用验证可行性) B --> C{是否要补充外部知识?} C -- 是 --> D[采用 RAG 方案] C -- 否 --> E{是否要对接其它系统?} E -- 是 --> F[采用 Function Calling / Tool] E -- 否 --> G{是否值得尝试微调?} G -- 是 --> H[采用 Fine-tuning] G -- 否 --> I[直接交付/纯 Prompt 方案]

3.3 Agent 开发核心公式与要素

Agent=LLM (大脑)+Planning (规划决策)+Tools (工具使用)+Memory (记忆)+Action (实际行动)\text{Agent} = \text{LLM (大脑)} + \text{Planning (规划决策)} + \text{Tools (工具使用)} + \text{Memory (记忆)} + \text{Action (实际行动)} Agent=LLM (大脑)+Planning (规划决策)+Tools (工具使用)+Memory (记忆)+Action (实际行动)

  • LLM:推理与决策中枢。
  • Planning:任务分解(如 CoT 思维链)与反思自省框架。
  • Tools:调用外部 API、数据库等。
  • Memory :
    • 短期记忆:单次对话的上下文(受限于模型 Token 窗口长度)。
    • 长期记忆:跨对话存储的核心知识,通常通过模型微调、知识图谱或向量数据库实现。
  • Action:软件接口操作或物理交互的实际执行。
相关推荐
Maiko Star12 小时前
*【HM-LC】LangChain MCP详解:核心概念、外部服务连接与自定义服务
langchain·mcp
爱编程的小新☆12 小时前
LangChain 智能体实战:构建技术学习规划 Agent
langchain·agent·工具调用·结构化输出·deepseek·流式输出
打工仔折腾 AI12 小时前
AI Agent 工程化实战(二):5 分钟跑通 Deep Agent 并逐层拆解底层链路
java·数据库·人工智能·后端·python·langchain·ai agent 实战
云和数据.ChenGuang12 小时前
Python map() 函数详解:从语法、原理到实战用法
开发语言·人工智能·python·langchain·1024程序员节
LMT流氓兔1 天前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节
Maiko Star1 天前
*【HM-LC】 LangChain Runtime详解:Context、State与Store &飞书资料参考
langchain·runtime
slacker-kian1 天前
RAG 实战:用 LangChain + LLM 对私有文档做摘要提取
ai·langchain·llm·agent·rag
先吃饱再说2 天前
LangGraph 状态图:从节点、边到中断恢复,手写一个多 Agent 工作流
人工智能·langchain·llm
染指11102 天前
155.Agent-LangGraph-节点级重试策略
人工智能·langchain·1024程序员节·agents
正经教主2 天前
【FDE系列】阶段3:Day 77:LangChain 基础 — LCEL 管道与三件套
人工智能·langchain·agent·fde