20250907-02:LangChain 架构和LangChain 生态系统包是什么

发布于:2025-09-08 ⋅ 阅读:(14) ⋅ 点赞:(0)

image

  • @🎯 关键结果(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架构

image

image

随着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:使用 PromptTemplateChatPromptTemplate 管理和格式化输入。
  • 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 变得简单。

依赖图

有向箭头表示源包依赖于目标包

image

安装包时,您无需显式安装该包的显式依赖项(如 langchain-core)

额外包说明:

  • langchain-experimental: 包含实验性的 LangChain 代码,旨在用于研究和实验

  • LangChain CLI: 是用于处理 LangChain 模板和其他 LangServe 项目的实用工具。

  • LangSmith SDK 由 LangChain 自动安装。然而,它不依赖于 langchain-core,如果需要,可以独立安装和使用

习题

  1. 使用思维导图整理4个分层和列出所有生态包

langchan-架构-思维导图

术语


进度跟踪卡

字段 说明 示例
里程碑完成度 关键节点的达成情况(与计划对比) 1. 输出架构和生态包文档
2. 使用思维导图梳理架构和生态包
能力变化曲线 核心指标的趋势跟踪(如正确率、耗时、难度等级) 耗时: 1.5h
难度: 简单
瓶颈突破记录 遇到的停滞期及解决方案(如平台期、动机下降、技术难点) 梳理知识点并编写文档
心理表征发展 对领域规律的认知深化(如模式识别、问题拆解能力的提升) 理解langchain层级作用和每个包的能力
总结与展望 阶段性成果、不足及下一阶段计划调整 成果:理解langchain架构和生态包


网站公告

今日签到

点亮在社区的每一天
去签到