【每天一个知识点】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 高度集成
相关推荐
FserSuN8 小时前
LangChain DeepAgent 多 Agent 架构原理学习
架构·langchain
guslegend9 小时前
第5节:动态切片策略与重叠机制提升RAG召回率
人工智能·大模型·rag
熊猫钓鱼>_>10 小时前
从“流程固化“到“意图驱动“:大模型调智能体调Skill架构深度解析
ai·架构·大模型·llm·agent·skill·openclaw
前进的李工11 小时前
LangChain使用AI工具赋能:解锁大语言模型无限潜力
开发语言·人工智能·语言模型·langchain·大模型
杨艺韬13 小时前
为什么需要理解 LangChain
langchain·agent
坤岭13 小时前
大模型“入侵”广告推荐
人工智能·langchain·推荐算法
FeelTouch Labs14 小时前
中国开源大模型三国杀:GLM-5、MiniMax-M2.1、Kimi-K2.5,谁才是技术选型的最优解?
开源·大模型
QC·Rex14 小时前
Spring Boot + Spring AI 实战:从零构建企业级 AI 应用
spring boot·大模型·向量数据库·rag·spring ai·tool calling
rising start14 小时前
Dify在Windows上的部署
大模型·agent·dify
竹之却14 小时前
【Agent-阿程】AI先锋杯·14天征文挑战第14期-第2天-大模型部署与优化实战
人工智能·ai·大模型·边缘计算·剪枝·优化·蒸馏