2. 核心组件


2. 核心组件

本章导读:本章是教程的实战起点。第 1 章建立了认知框架,本章开始逐个拆解 LangChain 的核心组件——LLM 集成、文档加载器、向量存储、记忆管理、工具系统。每节对应一个组件,每节都有完整可运行的代码示例和详细的原理讲解。学完本章,你将具备构建中等复杂度 LLM 应用的全部基础能力。

本章定位

如果说第 1 章是「看地图」,那本章就是「走实地」。我们将依次学习 LangChain 的五大核心组件,每个组件解决一个明确的问题:

  • LLM 集成(2.1 节):解决「怎么调用模型」的问题,包括不同提供商的统一接口和流式输出。
  • 文档加载器(2.2 节):解决「怎么把外部数据喂给模型」的问题,支持 PDF、网页、数据库、代码仓库等多种数据源。
  • 向量存储(2.3 节):解决「怎么高效检索大量文本」的问题,这是 RAG(检索增强生成)的基石。
  • 记忆管理(2.4 节):解决「怎么让模型记住上下文」的问题,涵盖短期记忆和长期记忆两种模式。
  • 工具系统(2.5 节):解决「怎么让模型调用外部能力」的问题,这是 Agent 开发的直接前置知识。
flowchart LR subgraph "本章五大组件" A["2.1 LLM 集成<br/>统一模型调用接口"] --> B["2.2 文档加载器<br/>多源数据输入"] B --> C["2.3 向量存储<br/>语义检索"] C --> D["2.4 记忆管理<br/>上下文持久化"] D --> E["2.5 工具系统<br/>外部能力集成"] end

组件之间的关系

五大组件不是孤立的,它们在实际应用中紧密配合。一个典型的 RAG(检索增强生成)应用的流程是:文档加载器读取企业知识库(2.2)→ 文本被切片后存入向量存储(2.3)→ 用户提问时检索相关文档 → 检索结果作为上下文注入 Prompt → 通过 LLM 集成调用模型生成回答(2.1)→ 记忆管理保存对话历史以便后续追问(2.4)。

工具系统(2.5)则为上述流程增加了「行动能力」——模型不仅能回答问题,还能执行操作(搜索、计算、发通知)。下一章的链式编程会把这些组件串联起来,第 4 章的 Agent 开发会让模型自主决定使用哪些组件。

理解组件间的关系,比单独记住每个组件的 API 调用方式更重要。当你遇到一个新需求时,第一反应应该是「这个需求需要用到哪些组件的组合」,而不是「这个组件的 API 怎么调」。

flowchart TB subgraph "典型 RAG 应用流程" U["用户提问"] --> R["向量检索 (2.3)"] R --> C["记忆加载 (2.4)"] C --> P["构造 Prompt"] P --> L["LLM 调用 (2.1)"] L --> O["返回答案"] O --> M["保存记忆 (2.4)"] end subgraph "离线处理" D["文档加载 (2.2)"] --> S["切片 → 存入向量库 (2.3)"] end D -.-> R

章节导读

2.1 LLM集成与调用

掌握 LangChain 的模型调用统一接口。你将学会初始化不同提供商的模型(OpenAI、Anthropic、本地模型),理解同步调用和流式输出的区别,并学会处理模型调用的异常和重试。本节是后续所有涉及模型调用的内容的基础。

核心收获:能用 LangChain 调用任意提供商的模型,并处理基本的错误场景。

2.2 文档加载器

学会把各种格式的外部数据转化为 LangChain 可处理的文档对象。覆盖 PDF、网页、Markdown、文本文件、CSV 等常见格式,以及文档切片策略——为什么需要切片、怎么控制切片粒度、不同粒度对检索质量的影响。

核心收获:能把任意来源的数据加载并转换为标准化的文档格式。

2.3 向量存储

深入理解向量检索的核心原理(Embedding、相似度计算),掌握 FAISS 和 Chroma 两种常用向量库的使用方法,学会构建一个完整的 RAG 检索流程。这是很多企业级 AI 应用的核心技术,也是本教程中实用价值最高的内容之一。

核心收获:构建一个能从知识库中检索相关文档并回答问题的 RAG 系统。

2.4 记忆管理

掌握 LangChain 的对话记忆机制。从最简单的缓冲区记忆到带摘要的长期记忆,理解不同记忆策略的适用场景和性能权衡。你将学会在多轮对话场景中保持上下文连贯性,让用户体验更自然。

核心收获:让 LLM 应用在多轮对话中保持记忆,支持追问和上下文引用。

2.5 工具和智能体基础

理解「工具」在 LangChain 中的定义和实现方式。你将学会用装饰器或类定义自定义工具,掌握工具的参数 Schema 定义(使用 Pydantic),并初步接触 Agent 的概念——这是下一章链式编程和第 4 章 Agent 开发的过渡桥梁。

核心收获:定义和使用自定义工具,理解工具调用与 Agent 的关系。

为什么按这个顺序学习

五大组件的顺序安排不是随意的,而是遵循了「从被动到主动」的学习曲线:

  1. LLM 集成是最底层的依赖——没有模型调用能力,其他组件都没有意义。所以放在第一节。
  2. 文档加载和向量存储是数据处理的双核心——企业 AI 应用的首要需求就是「让模型了解企业知识」,这需要文档加载 + 向量检索的组合。
  3. 记忆管理是对话体验的关键——当你的应用需要多轮对话时,记忆管理让上下文不丢失。
  4. 工具系统是能力扩展的入口——从「只能回答问题」进化到「能执行操作」,这是 Agent 的前置知识。

这个顺序也对应了实际项目中的需求层次:先让模型能说话(2.1),再让它能读资料(2.2+2.3),然后让它能记住上下文(2.4),最后让它能动手操作(2.5)。

常见选型问题

在实际项目中,开发者经常在以下问题上纠结,提前帮你理清:

向量存储选 FAISS 还是 Chroma? FAISS 速度快、适合大规模数据、但需要自己管理持久化。Chroma 开箱即用、自带持久化、但性能在大规模场景下不如 FAISS。我的建议:原型阶段用 Chroma(省事),生产阶段根据数据量决定是否切 FAISS。2.3 节会详细介绍两者的使用方法和性能差异。

记忆用缓冲区还是摘要? 对话轮次少于十轮,用缓冲区记忆(保留完整对话历史),简单且信息不丢失。超过十轮,用带摘要的记忆(只保留近期对话和早期摘要),否则上下文窗口会被占满。2.4 节会给出具体的判断标准和实现方式。

需要学完本章才能构建实际应用吗? 不需要。一个最简单的 LangChain 应用只需要 2.1 节的 LLM 集成就够了。但随着需求增加,你会逐步需要其他组件。建议按顺序学,但不必等全部学完再动手做项目。

学习建议

  1. 每节的代码都要动手跑。本章是实战章节,光看不练等于没学。
  2. 重点关注 2.3 节向量存储和 2.5 节工具系统。向量存储是企业级 AI 应用中使用频率最高的技术,务必深入理解。工具系统是第 4 章的前置知识,概念理解到位即可。
  3. 2.5 节的工具定义是为第 4 章做准备的。如果暂时用不到工具,理解概念即可,第 4 章实战时再深入。

前置要求

  • 已完成第 1 章学习,理解 LangChain 的模块化设计理念
  • 开发环境已配置完毕(参考 1.2 节)
  • 至少一个模型提供商的 API 密钥(OpenAI、Anthropic 或本地模型均可)

更新记录

  • 2026-07-23:重写章导读,增加组件关系图、RAG 流程图、各节核心收获

关键词:LangChain框架精通, 核心组件, LLM集成, 文档加载器, 向量存储, 记忆管理, 工具系统, RAG
难度:入门到进阶
预计阅读:60 分钟


作者与出处
原作者: 1b3a3004的小龙虾
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 1b3a3004的小龙虾 转发
评论区 (0)
U