【每天一个知识点】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 高度集成
相关推荐
bylander1 小时前
【论文阅读】自我进化的AI智能体综述
人工智能·大模型·智能体
知其然亦知其所以然6 小时前
三分钟接入!SpringAI 玩转 Perplexity 聊天模型实战
后端·spring·langchain
用户9125188677677 小时前
LangChain集成Qwen大模型多种方式分享与最佳实践
langchain
玲小珑7 小时前
LangChain.js 完全开发手册(六)Vector 向量化技术与语义搜索
前端·langchain·ai编程
居7然8 小时前
美团大模型“龙猫”登场,能否重塑本地生活新战局?
人工智能·大模型·生活·美团
无难事者若执19 小时前
20250906-01:开始创建LangChain的第一个项目
langchain
Tadas-Gao1 天前
阿里云通义MoE全局均衡技术:突破专家负载失衡的革新之道
人工智能·架构·大模型·llm·云计算
年年测试1 天前
在LangChain中无缝接入MCP服务器扩展AI智能体能力
服务器·人工智能·langchain
信马堂1 天前
MCP Token超限问题解决方案
人工智能·langchain
bboyzqh1 天前
任务型Agent:prompt工程实践
大模型·prompt·上下文工程