@🎯 关键结果(Key Results, KRs)
@KR
- @▶ 任务:LangChain 架构和LangChain 生态系统包是什么
@理论知识整理
@LangChain架构
- @架构层级作用
- @一句话定义核心价值
@LangChain生态包
- @依赖图
@习题
@术语
@进度跟踪卡
20250907-02:LangChain 架构和LangChain 生态系统包是什么
✅ LangChain 第一周成长计划:基础认知与环境搭建
🎯 本周核心目标(Objective)
建立对 LangChain 的系统性认知,完成本地开发环境搭建,并成功运行第一个 LLM 调用程序。
🎯 关键结果(Key Results, KRs)
KR
- 在 1.5小时 内,用 官方教程 完成 理解 LangChain 架构和生态包以及依赖,交付 输出一篇文章到CSDN ;若因 知识找不到 失败,最多重试 查找其他资料,最终必须 输出文章 并 整理知识点题目
KR 编号 | 关键结果描述 | 验收标准 |
---|---|---|
KR1.1 | 能列举并简述 LangChain 架构和LangChain 生态系统包是什么?能够说明包的作用 | 绘制架构图和包依赖关系或完成填空测验得分 ≥ 90% |
▶ 任务:LangChain 架构和LangChain 生态系统包是什么
具体内容:
- LangChain 架构是什么?
- LangChain 生态系统包有哪些
所需时间:1.5 小时
预期成果:
🧱 绘制层级架构图:
- 箭头方向:上层依赖下层。
📝 为每层写一句核心价值总结:
难度控制:i+1 —— 本任务侧重于理解各层的定位和相互关系,而非深入每一层的代码实现。目标是建立对 LangChain “全貌”的宏观认知。
资源准备:
- https://python.langchain.com/docs/how_to/installation/
- 🌐 官方架构图参考:Introduction | 🦜️🔗 LangChain (官方文档是最好的第一手资料)
- Architecture | 🦜️🔗 LangChain
- 📘 图文解析:LangChain架构-向着朝阳-博客园 (知识库 [7]) — 文章清晰地划分了 LangChain, LangGraph, LangServe, LangSmith 的关系。
- 📚 综合指南:LangChain框架全面解析:构建大语言模型应用的终极指南-CSDN博客 (知识库 [8]) — 包含分层架构的详细说明和开发指南。
理论知识整理
LangChain架构
随着Langchain的发展,截至2025-09-07 官方文档提供了0.1
,0.20.3
三个版本文档。
LangChain 是一个由多个包组成的框架。
LangChain 的架构可以清晰地划分为四个主要层级,每一层都承担着特定的职责:
架构层级作用
1️⃣ 核心层 (langchain-core) —— “基石与契约”
定位:最底层,定义所有上层模块必须遵守的** 抽象接口 和 基础数据结构 **。
关键内容:
-
BaseLLM
,BaseChatModel
,BaseEmbeddings
:模型调用的统一接口。 -
BasePromptTemplate
,BaseOutputParser
:提示词和输出解析器的基础规范。 -
Document
,Message
:核心数据对象(文档、聊天消息)。 -
Runnable
接口:这是 LCEL(LangChain Expression Language)的核心,任何可被管道符|
调用的对象都必须实现此接口。
价值: 确保整个生态的一致性、可扩展性和互操作性。开发者可以基于这些接口创建自己的自定义组件。
2️⃣ 集成层 (Integrations) —— “连接世界的插头”
定位:提供与** 外部世界 **(模型提供商、工具、数据源、向量数据库) 连接 的具体实现。
关键内容:
- 官方集成包:如
langchain-openai
,langchain-anthropic
,langchain-google-genai
等,封装了主流大模型的 API。 - 社区集成包 (langchain-community) :包含数百种工具、数据加载器(Loaders)、向量数据库(如
langchain-pinecone
,langchain-chroma
)的连接器。 - 工具 (Tools) :将外部 API、函数或命令封装成 LLM 可以调用的标准格式。
价值: 让开发者无需关心底层 API 差异,通过统一的 LangChain 接口即可接入海量外部资源。
3️⃣ 应用层 (langchain) —— “构建应用的乐高积木”
定位:提供构建 LLM 应用的** 高级组件 和 预制解决方案 **。这是 开发者日常打交道最多的层级 。
关键内容(即六大核心模块):
- Models (I/O) :通过集成层调用具体的 LLM、ChatModel 或 Embedding Model。
- Prompts:使用
PromptTemplate
和ChatPromptTemplate
管理和格式化输入。 - Indexes (Retrieval) :实现 RAG 的完整流水线(Loader → Splitter → Embedding → VectorStore → Retriever)。
- Chains:使用 LCEL (
|
) 将多个组件(如 Prompt + Model + Parser)串联成可复用的工作流。 - Memory:管理对话或应用的短期/长期状态(如
ConversationBufferMemory
)。 - Agents:创建能根据 LLM 的“思考”结果,动态选择并调用 Tools 的智能体。
价值: 提供开箱即用的、可组合的模块,让开发者能快速搭建复杂应用。
4️⃣ 编排与部署层 (LangGraph, LangServe, LangSmith) —— “从原型到生产的高速公路”
定位:解决应用的** 复杂流程编排 、 API 化部署 和 生产级运维监控 **。
关键内容:
- LangGraph:用于构建** 有状态 、 支持循环 和 分支 **的复杂 工作流 。它超越了 线性 Chains ,允许创建像“状态机”一样的应用,是 构建高级 Agent 和 复杂业务逻辑 的终极武器。
- LangServe:一个轻量级库,能将任何
Runnable
(如一个 Chain 或 Agent)一键部署为 REST API 或 Playground Web UI,方便与前端或其他服务集成。 - LangSmith:一个强大的** 开发、调试、测试、评估和监控平台 **。它能追踪每一次 LLM 调用的完整链路(输入、输出、耗时、Token 消耗、中间步骤),是解决“ 提示词地狱 ”和 保障生产稳定性 的核心工具。
一句话定义核心价值
- 核心层:定规矩,保兼容,让所有积木能拼在一起。
- 集成层:接外设,通天下,让 AI 能用上各种工具和数据。
- 应用层:搭积木,建应用,用预制件快速组装智能功能。
- 编排部署层:上生产,可运维,让原型变成稳定可靠的服务。
LangChain生态包
langchain-core:基础抽象和 LangChain 表达式语言。
langchain 社区:第三方集成。
- 合作伙伴包(例如:langchain-openai,langchain-anthropic等):一些集成已被进一步拆分为它们自己的轻量级包,这些包仅依赖于langchain-core。
langchain: 构成应用程序认知架构的链、代理和检索策略。
langgraph:通过将步骤建模为图中的边和节点,使用LLMs构建健壮且具有状态的多智能体应用程序。
- LangGraph 公开了创建常见类型代理的高级接口,以及用于组合自定义流程的低级 API。
LangSmith: 一个让您能够调试、测试、评估和监控LLM应用程序的开发平台。
LangServer: 一个用于部署 LangChain 链作为 REST API 的包。使创建一个可投入生产的 API 变得简单。
依赖图
有向箭头表示源包依赖于目标包
安装包时,您无需显式安装该包的显式依赖项(如 langchain-core)
额外包说明:
langchain-experimental: 包含实验性的 LangChain 代码,旨在用于研究和实验
LangChain CLI: 是用于处理 LangChain 模板和其他 LangServe 项目的实用工具。
LangSmith SDK 由 LangChain 自动安装。然而,它不依赖于 langchain-core,如果需要,可以独立安装和使用
习题
- 使用思维导图整理4个分层和列出所有生态包
术语
进度跟踪卡
字段 | 说明 | 示例 |
---|---|---|
里程碑完成度 | 关键节点的达成情况(与计划对比) | 1. 输出架构和生态包文档 2. 使用思维导图梳理架构和生态包 |
能力变化曲线 | 核心指标的趋势跟踪(如正确率、耗时、难度等级) | 耗时: 1.5h 难度: 简单 |
瓶颈突破记录 | 遇到的停滞期及解决方案(如平台期、动机下降、技术难点) | 梳理知识点并编写文档 |
心理表征发展 | 对领域规律的认知深化(如模式识别、问题拆解能力的提升) | 理解langchain层级作用和每个包的能力 |
总结与展望 | 阶段性成果、不足及下一阶段计划调整 | 成果:理解langchain架构和生态包 |