【每天一个知识点】LangChain

"LangChain" 是一个用于构建由大语言模型(LLMs)驱动的可组合、可交互、多工具协作的智能应用开发框架。它不仅能管理 Prompt、上下文、记忆和工具,还支持构建复杂的"多步骤推理"任务流程。


一、LangChain 简介

1. 核心定位

LangChain 旨在把大语言模型作为决策引擎和控制中枢,支持你快速构建像 ChatGPT 插件、智能问答系统、智能体(Agent)等复杂任务应用。

2. 编程语言支持

主要支持 PythonJavaScript/TypeScript 两种语言版本,社区主要以 Python 为主。


二、LangChain 主要组成模块(Python版)

模块 作用描述
PromptTemplates 提示词模板构建与变量注入,适配不同任务语境
LLMs/ChatModels 封装 OpenAI、Anthropic、Cohere 等模型
Chains 把多个组件串联起来构成完整流程(如提问 → 搜索 → 回答)
Agents 引入"工具调用"能力,通过思考和行动完成任务(如 ReAct Agent)
Tools 第三方工具,如搜索引擎、Python 解释器、API 接口
Memory 会话记忆,适用于多轮对话场景
Retrievers 向量检索组件,支持 RAG 应用
Document Loaders & Text Splitters 文档读取与分块,用于知识库构建

三、典型使用场景

1. 文档问答系统(RAG)

  • 流程:文档 → 向量化 → 查询 → LLM 生成回答

  • 模块:Document Loaders + FAISS/Chroma + Retriever + Chain

2. Agent 多工具智能体

  • 通过 ReAct Agent 实现"观察-思考-行动"闭环

  • 可调用:Google 搜索、Python 执行、网页抓取、数据库查询等

3. 任务编排(Multi-step Reasoning)

  • 使用 SequentialChainRouterChainConversationChain 等模块完成复杂任务分解与流程管理

四、LangChain 示例代码(RAG 简易文档问答)

复制代码
from langchain.chains import RetrievalQA
from langchain.chat_models import ChatOpenAI
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
from langchain.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter

# 加载文档并切分
loader = TextLoader("example.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=500, chunk_overlap=50)
texts = text_splitter.split_documents(documents)

# 构建向量库
embeddings = OpenAIEmbeddings()
db = FAISS.from_documents(texts, embeddings)

# 构建问答系统
retriever = db.as_retriever()
llm = ChatOpenAI(temperature=0)
qa = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)

# 测试提问
query = "这篇文档讲了什么?"
response = qa.run(query)
print(response)

五、LangChain 与智能体系统的关系

特性 LangChain 实现方式
工具调用 通过 ToolsAgentExecutor 完成
思维链推理(Chain of Thought) 通过 Chain 的分步提示构建多轮逻辑链
多Agent协同 支持 MultiAgentChain 和外部任务调度引擎集成
RAG 问答 与向量数据库 + Retriever 高度集成
相关推荐
dozenyaoyida7 小时前
AI与大模型新闻日报 | 2026-09-01
人工智能·ai·大模型·新闻
ReleaseU10 小时前
Harness + MCP:打通企业工具链的最后一步
人工智能·大模型
花间相见11 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
新知图书11 小时前
10.4 交互优化与用户体验提升
人工智能·多模态·智能体
Darling噜啦啦11 小时前
LLM 记忆管理三剑客:截断、总结、检索,彻底搞懂 Agent 的 Memory 系统
langchain·llm·agent
啊阿狸不会拉杆12 小时前
《自然语言处理:基于大语言模型的方法》第1章 绪论 读书笔记
人工智能·自然语言处理·nlp·easyui·智能体
beyond谚语12 小时前
六、LangChain——StrOutputParser和JsonOutputParser
langchain·rag·ollama
luckystar513~14 小时前
Hermes实战 :skill编写 + skill治理
人工智能·agent·智能体·hermes·实战专栏
带鱼吃猫17 小时前
LangChain:提示词模板与少样本提示功能
服务器·数据库·langchain
tachibana217 小时前
如何设计多 Agent 的协作与动态切换机制?
网络·人工智能·ai·大模型·llm·agent