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-openailangchain-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:软件接口操作或物理交互的实际执行。
相关推荐
马里马里奥-2 小时前
大模型应用开发笔记03:LangChain 中间件实战
笔记·中间件·langchain
To_OC12 小时前
手搓 LangChain 工具调用:原来 Agent 的核心逻辑,就是个 while 循环
人工智能·langchain·llm
Boop_wu18 小时前
[LangChain]LangChain聊天模型
langchain
常常有20 小时前
LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架
人工智能·langchain
湿韵轮回21 小时前
LangChain LCEL,用 | 串联AI的魔法语言
服务器·人工智能·langchain
小李云雾21 小时前
Langchain【3】---提示词模板、输出解析、LCEL链式调用
java·人工智能·程序人生·langchain
知行合一。。。1 天前
LangChain--07--智能体、Agent的基本用法
android·数据库·langchain
吃饱了得干活1 天前
别只会传 temperature!一文挖透 LangChain 模型配置:Profile、全参数与运行时动态覆盖
python·langchain
龙腾亚太1 天前
基础差/零基础人员具身智能学习路线
langchain·qlora·大模型培训·智能体培训·具身智能培训·llm 实战教程