本章导读:本章是教程的实战起点。第 1 章建立了认知框架,本章开始逐个拆解 LangChain 的核心组件——LLM 集成、文档加载器、向量存储、记忆管理、工具系统。每节对应一个组件,每节都有完整可运行的代码示例和详细的原理讲解。学完本章,你将具备构建中等复杂度 LLM 应用的全部基础能力。
如果说第 1 章是「看地图」,那本章就是「走实地」。我们将依次学习 LangChain 的五大核心组件,每个组件解决一个明确的问题:
五大组件不是孤立的,它们在实际应用中紧密配合。一个典型的 RAG(检索增强生成)应用的流程是:文档加载器读取企业知识库(2.2)→ 文本被切片后存入向量存储(2.3)→ 用户提问时检索相关文档 → 检索结果作为上下文注入 Prompt → 通过 LLM 集成调用模型生成回答(2.1)→ 记忆管理保存对话历史以便后续追问(2.4)。
工具系统(2.5)则为上述流程增加了「行动能力」——模型不仅能回答问题,还能执行操作(搜索、计算、发通知)。下一章的链式编程会把这些组件串联起来,第 4 章的 Agent 开发会让模型自主决定使用哪些组件。
理解组件间的关系,比单独记住每个组件的 API 调用方式更重要。当你遇到一个新需求时,第一反应应该是「这个需求需要用到哪些组件的组合」,而不是「这个组件的 API 怎么调」。
掌握 LangChain 的模型调用统一接口。你将学会初始化不同提供商的模型(OpenAI、Anthropic、本地模型),理解同步调用和流式输出的区别,并学会处理模型调用的异常和重试。本节是后续所有涉及模型调用的内容的基础。
核心收获:能用 LangChain 调用任意提供商的模型,并处理基本的错误场景。
学会把各种格式的外部数据转化为 LangChain 可处理的文档对象。覆盖 PDF、网页、Markdown、文本文件、CSV 等常见格式,以及文档切片策略——为什么需要切片、怎么控制切片粒度、不同粒度对检索质量的影响。
核心收获:能把任意来源的数据加载并转换为标准化的文档格式。
深入理解向量检索的核心原理(Embedding、相似度计算),掌握 FAISS 和 Chroma 两种常用向量库的使用方法,学会构建一个完整的 RAG 检索流程。这是很多企业级 AI 应用的核心技术,也是本教程中实用价值最高的内容之一。
核心收获:构建一个能从知识库中检索相关文档并回答问题的 RAG 系统。
掌握 LangChain 的对话记忆机制。从最简单的缓冲区记忆到带摘要的长期记忆,理解不同记忆策略的适用场景和性能权衡。你将学会在多轮对话场景中保持上下文连贯性,让用户体验更自然。
核心收获:让 LLM 应用在多轮对话中保持记忆,支持追问和上下文引用。
理解「工具」在 LangChain 中的定义和实现方式。你将学会用装饰器或类定义自定义工具,掌握工具的参数 Schema 定义(使用 Pydantic),并初步接触 Agent 的概念——这是下一章链式编程和第 4 章 Agent 开发的过渡桥梁。
核心收获:定义和使用自定义工具,理解工具调用与 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 集成就够了。但随着需求增加,你会逐步需要其他组件。建议按顺序学,但不必等全部学完再动手做项目。
关键词:LangChain框架精通, 核心组件, LLM集成, 文档加载器, 向量存储, 记忆管理, 工具系统, RAG
难度:入门到进阶
预计阅读:60 分钟