LangChain 是一个用于构建大语言模型(LLM)应用的开源框架,其核心模块包括 Model、Memory、Chain、Retriever 和 Agent
Model(模型模块)
1.作用:
Model 是 LangChain 的核心组件,负责与多种大语言模型(如 OpenAI GPT、百度文心一言等)交互,提供统一的接口调用。它支持文本生成、对话模型和文本嵌入三类模型,例如:
- LLM:处理文本输入输出(如生成文章);
- Chat Model:管理结构化对话(如聊天机器人);
- Embedding Model:将文本转换为向量(用于检索)。
2.使用场景:
需要调用不同模型完成文本生成(如写诗)、问答(如客服回复)、或嵌入生成(如相似性搜索)的任务。
Memory(记忆模块)
1.作用:
Memory 模块用于存储对话历史或任务上下文,解决模型的无状态性问题。例如:
- ConversationBufferMemory:保存完整对话记录;
- ConversationSummaryMemory:存储摘要以节省 token。
2.使用场景:
适用于需连续上下文的场景,如聊天机器人(记忆用户偏好)、多轮任务处理(如预订流程)。
Chain(链模块)
作用:
Chain 将多个组件串联成工作流,例如:
- LLMChain:组合提示模板与模型调用;
- SequentialChain:多步骤任务(如先检索文档再生成摘要)。
使用场景:
复杂任务的自动化处理,如数据预处理→模型推理→结果解析(如文档问答系统、自动化报告生成)。
Retriever(检索模块)
作用:
Retriever 负责从外部数据源(如数据库、文档)检索相关信息,常与向量数据库(如 Chroma、FAISS)结合,支持语义搜索。
使用场景:
- 检索增强生成(RAG)应用,例如:
- 知识库问答(从文档中提取答案);
- 长文档摘要(检索关键段落)。
5. Agent(代理模块)
作用:
Agent 通过 LLM 动态决策调用工具(如 API、数据库),形成“思考→执行→反馈”循环。例如:
- ZeroShotAgent:无需预训练示例,直接根据提示选择工具;
- 自定义代理:集成特定领域工具(如天气查询 API)。
使用场景:
需灵活交互的任务,如智能客服(调用搜索工具+生成回答)、自动化办公(邮件发送+日程管理)。
留言