大模型学习17 大模型学习 - LangChain1_概述

发布时间:2026/10/27 10:25:14
大模型学习17 大模型学习 - LangChain1_概述

1 什么是 LangChain

LangChain是2022年10月,由哈佛大学的Harrison Chase(哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。

LangChain是一个开源的大型语言模型(LLM)应用开发框架,核心目标是把大模型的能力"编排"成真实的应用程序(如聊天机器人、Agent、RAG 问答系统等)。它解决了"单次调用大模型"和"真实产品"之间的差距——帮你管理提示词、多步骤流程、外部工具和记忆。

它解决的核心问题:

直接调大模型只能拿到一次生成结果,但真实应用往往需要:多步骤推理、调用外部数据/工具、记住对话上下文、结构化输出。LangChain 把这些常见的开发工作抽象成可复用的模块,并串成流水线。

典型工作流

以最常见的RAG(问答机器人)为例:

  1. 文档切片 → 2. 向量化 → 3. 存入向量数据库
  2. 用户提问 → 5. 检索相关片段 → 6. 拼进 prompt → 7. 调模型生成回答

为什么受欢迎

  • 生态成熟:LangChain Hub(可复用 Prompt)、LangSmith(调试)、LangGraph(更灵活的状态机式编排)
  • 厂商中立:一套代码对接多家模型
  • 社区庞大:集成数千种工具、数据库、向量库

适用场景

  • RAG 知识库问答、客服机器人
  • Agent 智能体(自动规划 + 调用工具)
  • 多步骤数据处理流水线、报表生成、代码辅助等

一点提醒

LangChain抽象层级高,封装重,适合快速搭建原型和标准化开发。但对简单需求,直接调 API 反而更轻;对复杂、需要精细控制的 Agent 编排,很多人也转用LangGraph或直接手写逻辑。核心能力(提示词、记忆、工具调用)背后的原理,正是你正在学的 Transformer 等底层知识。

关于LangChain的相关网址链接

  • github地址:https://github.com/langchain-ai/langchain
  • 官网地址:https://www.langchain.com/langchain
  • 官方文档:https://docs.langchain.com/oss/python/langchain/overview
  • API 文档:https://reference.langchain.com/python/langchain/

LLMs用的好好的,为什么还需要LangChain?

在大语言模型(LLM)如 ChatGPT、Claude、DeepSeek 等快速发展的今天,开发者不仅希望能“使用”这些模型,还希望能将它们灵活集成到自己的应用中,实现更强大的对话能力、检索增强生成(RAG)、工具调用(Tool Calling)、多轮推理等功能。

问题2:我们可以使用GPT 或GLM5 等模型的API进行开发,为何需要LangChain这样的框架?

不使用LangChain,确实可以使用GPT 或GLM4 等模型的API进行开发。
但使用LangChain的好处:

  • 简化开发难度:更简单、更高效、效果更好。
  • 开发人员可以更专注于业务逻辑,而无须花费大量时间和精力处理底层技术细节。
  • 学习成本更低:不同模型的API不同,调用方式也有区别,切换模型时学习成本高。使用LangChain,可以以统一、规范的方式进行调用,有更好的移植性。
  • 现成的Agent构建方法:LangChain提供了现成的构建Agent的方式。让复杂的逻辑变得结构化、易组合、易扩展。

2 LangChain包及核心模块划分

2.1 LangChain所包含的包

LangChain所包含的包及其描述,如下所示:

包描述
langchain包含构建使用 LLM 的应用所需的所有实现的主入口点
langchain-coreLangChain 生态系统中的核心接口和抽象
langchain-openai/deepseekLangchain和OpenAI(deepseek)集成包。langchain还包含一系列集成包,这些集成包涵盖了文本生成模型,工具,文档加载,向量存储等多个方面,构成了langchain生态系统。
langchain-mcp-adapters在 LangChain 和 LangGraph 应用中提供 MCP 工具
langchain-text-splitters用于文档处理的文本分割工具
langchain-tests用于验证 LangChain 集成包实现的标准化测试套件
langchain-classic遗留的 langchain 实现和组件,主要为1.0.0版本以前的相关内容

LangChain 核心组成模块

模块作用
Models(模型)统一封装各类 LLM(OpenAI、Claude、国内模型等)和嵌入模型,提供统一调用接口
Prompts(提示词)模板化管理提示词,支持变量填充、Few-shot 示例
Chains(链)把多个步骤按顺序或逻辑串联,比如"取数据→写prompt→调模型→解析结果"
Memory(记忆)保存历史对话,支持短期窗口和长期存储
Agents(智能体)让模型自主决定"下一步调用哪个工具",实现循环推理
Tools(工具)让模型能调用外部功能(搜索、计算器、数据库、API)
Retrievers(检索)支撑 RAG(检索增强生成),从向量库/文档中检索相关内容
Callbacks / Tracing观察、日志、监控整个执行过程

从逻辑上也可以划分为以下四大部分:

  • Model I/O – 标准化大模型的输入和输出,包含提示模版,模型调用和格式化输出。

    • Format(格式化):通过模板管理大模型的输入。将原始数据格式化成模型可以处理的形式,插入到一个模板中,然后送入模型进行处理。
    • Predict(预测):调用 LLM 接收输入,进行预测或生成回答。
    • Parse(解析):规范化模型输出。比如将模型输出格式化为 JSON。
  • Chains – “链条”用于将多个组件组合成一个完整的流程,方便链式调用。

  • RAG – 对应RAG:检索外部数据,作为参考信息输入LLM辅助生成答案。

  • Agents – Agent 自主规划执行步骤并使用工具来完成任务。