返回笔记
LLM
LangChain 的核心概念:Chain、Tool 和 Memory
LangChain
LLM
Chain
Tool
Memory
Agent
LangChain 是目前最流行的 LLM 应用开发框架。理解它的三大核心概念,就能快速上手。
Chain:串联多个步骤
Chain 是把多个操作串联起来的管道。最简单的 Chain:
用户输入 → Prompt 模板 → LLM 调用 → 输出解析
复杂的 Chain 可以包含条件分支、循环、并行执行等。LangChain 提供了 LCEL(LangChain Expression Language)用 | 管道符优雅地组合 Chain。
Tool:给 LLM 装上手和脚
Tool 是 LLM 可以调用的外部能力。常见的 Tool 包括:
- 搜索引擎:查询实时信息
- 代码解释器:执行 Python 代码
- 数据库查询:读取结构化数据
- API 调用:访问外部服务
定义一个 Tool 只需要:名称、描述、参数 Schema、执行函数。LLM 根据描述决定什么时候调用哪个 Tool。
Memory:记住上下文
LLM 本身是无状态的,每次调用都是全新开始。Memory 负责管理对话历史:
- ConversationBufferMemory:直接存储所有历史消息,简单但会越来越长
- ConversationSummaryMemory:用 LLM 对历史做摘要,保持上下文窗口可控
- VectorStoreMemory:把历史存入向量库,只检索相关的部分
Agent 是怎么组合它们的
Agent 把 Chain、Tool 和 Memory 整合在一起,形成一个完整的推理-行动循环。理解这个概念是关键。
LangChain 的替代品
LangChain 虽然流行但也有批评:封装过度、文档有时跟不上更新。可以考虑的替代方案包括 LlamaIndex(专注于 RAG)、Haystack、或者直接用原生 API 手写。