0%

LangChain 核心组件

LangChain 核心组件

一句话定位:LangChain 本质是”LLM 调用的编排与抽象层”——把 Prompt 组装、状态管理、外部检索、工具调用这些重复性工作抽象成可复用组件,让开发者不用每次都手写胶水代码。

1. 四大核心组件

  • Chain(任务链组合):把多个 LLM 调用/处理步骤串联成一条流水线(如”先摘要 → 再翻译 → 再格式化”),本质是函数组合,让复杂任务拆解为可复用的小步骤。
  • Memory(会话状态):管理多轮对话的历史上下文,包括简单的”保留全部历史”和更复杂的”滚动摘要压缩历史”策略,解决上下文窗口有限的问题。
  • Retriever(检索增强):把外部知识库(向量库/搜索引擎)接入,在生成前先检索相关文档拼进上下文,即 RAG 的检索侧组件(对应 8.4)。
  • Tool(外部能力):把外部 API/函数包装成模型可调用的”工具”,配合 Function Calling(7.4)让模型能读写外部世界。

2. 设计本质

  • LangChain 不改变 LLM 本身的能力,它解决的是”编排”问题:如何把一次孤立的模型调用,变成一个有状态、能用工具、能查资料的完整应用。
  • 这也是它经常被诟病”过度抽象”的原因——简单任务直接裸调 API 可能更清晰,LangChain 的价值在复杂、多步骤、需要状态管理的场景才明显。

3. 面试落点

  • 能说清四个组件各自解决什么问题,避免把 LangChain 当成”黑盒框架”泛泛而谈。
  • 可迁移话术:Chain ≈ 数据处理流水线里的算子编排(1.9);Memory 的滚动摘要压缩 ≈ 大数据里的增量聚合思路;Retriever ≈ 数据平台里”先查元数据索引再拉数据”的两段式查询。

参考:LangChain 官方文档