LangChain 框架入门:简介、核心模块与文档指南
LangChain 是专为构建基于大语言模型应用程序设计的开源框架,通过模块化组件封装与大模型交互、数据处理及工具连接能力。支持 Python 和 JavaScript,兼容主流 LLM 供应商。核心模块涵盖模型输入输出、提示词模板、索引、链、记忆、代理及工具等,适用于知识库问答、智能对话、自主智能体等场景。其架构、组件功能及官方文档资源,助力开发者快速搭建复杂 AI 应用。

LangChain 是专为构建基于大语言模型应用程序设计的开源框架,通过模块化组件封装与大模型交互、数据处理及工具连接能力。支持 Python 和 JavaScript,兼容主流 LLM 供应商。核心模块涵盖模型输入输出、提示词模板、索引、链、记忆、代理及工具等,适用于知识库问答、智能对话、自主智能体等场景。其架构、组件功能及官方文档资源,助力开发者快速搭建复杂 AI 应用。

LangChain 是一款专为构建基于大语言模型 (LLM) 的应用程序而设计的开源框架。
LangChain 可以理解为'大模型应用开发工具箱',把和大模型交互、处理数据、连接外部工具的各种能力封装成模块化的组件。大模型应用开发者不用从零开始写所有代码,借助 LangChain 开发框架就能快速搭建复杂的 AI 应用。
LangChain 提供了预构建的代理架构和模型集成,可以快速启动,并无缝地将 LLM 融入智能体或大模型应用程序。借助 LangChain 可以使用不到 10 行代码,就可以连接并使用 OpenAI、Anthropic、Google 等大语言模型。
下图是 LangChain 开发 Agent 智能体的架构图:
[图片:LangChain 开发 Agent 智能体的架构图]
每次提问,都要将历史对话数据 + 本地 RAG 知识库的数据输出到提示词模板中,然后再将拼接好的提示词输入到 LLM 大语言模型中,得到最终的结果。
LangChain 就是将上述内容封装起来,开发者只需要提前配置好大模型和 RAG 知识库,即可使用很少的代码,实现上述功能。
LangChain 框架的核心价值在于打破单个 LLM 的能力边界。原生 LLM(大语言模型)只能完成简单的问答、生成任务,而 LangChain 通过'模块化'和'可组合性',让开发者能够轻松整合 LLM 与外部数据、工具、知识库,构建出具备复杂逻辑、上下文感知、多步推理能力的 AI 应用,如:智能客服、代码生成助手、知识库问答系统、自主智能体等。
如果把大语言模型 (LLM, Large Language Model) 比作汽车的发动机,那么 LangChain 就是完整的汽车底盘 + 传动系统 + 控制系统。LangChain 让'发动机'能适配不同的'车身'(应用场景),实现更复杂的'行驶功能'(业务逻辑)。
LangChain 支持 Python 和 JavaScript / TypeScript 双语言开发,生态丰富,兼容主流大语言模型 LLM(OpenAI、Anthropic、Google Gemini、开源的 Llama/GLM 等),是当前 LLM 应用开发的主流框架之一。
LangChain 有如下应用场景:
LangChain 核心组件: LangChain 框架有五大核心组件分别是 LangChain(基础框架)、LangGraph(多智能体编排)、Deep Agents(智能体外骨骼)、LangSmith(监控平台)。
LangChain 学习路径:
LangChain 框架 的架构遵循'模块化设计',每个模块解决特定场景的问题,且模块间可灵活组合。
LangChain 框架的核心价值是模块化组合"LLM 大语言模型与外部资源",解决原生 LLM 大语言模型'无记忆、无工具、无外部数据'的问题。
在下面介绍的核心模块中,Models 是基础,Chains 是核心组合方式,Agents 是高阶能力,Indexes 是 RAG 的关键。
模型输入 / 输出 (Models): 是 LangChain 的核心层,负责与各类 LLM / 嵌入模型 (Embedding Model) 交互,不包括如下子模块:
下面是 LangChain 最基本的封装 OpenAI 大模型的代码示例:
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.messages import HumanMessage, SystemMessage
# 1. 初始化对话模型
chat_model = ChatOpenAI(
model="gpt-3.5-turbo",
api_key="你的 OpenAI API 密钥",
temperature=0.7 # 生成随机性,0-1 之间
)
# 2. 构造对话消息并调用模型
messages = [
SystemMessage(content="你是一个专业的 Python 编程助手,回答简洁易懂;"),
HumanMessage(content="请解释什么是装饰器?")
]
response = chat_model.invoke(messages)
print(response.content)
# 3. 初始化嵌入模型并生成文本向量
embeddings = OpenAIEmbeddings(api_key="你的 OpenAI API 密钥")
text = "LangChain 是 LLM 应用开发框架"
vector = embeddings.embed_query(text)
print(f"向量长度:{len(vector)}")
# OpenAI Embedding 输出 1536 维向量
提示词模板 (Prompts): 提示词是 LLM 应用的核心,但手写提示词易出错、难复用。LangChain 的 Prompts 模块提供如下功能:
提示工程 Prompt engineering 参考文档: https://docs.langchain.com/langsmith/prompt-engineering
索引 (Indexes): 当 LLM 需要处理外部文档(如 PDF、Word、知识库)时,Indexes 模块负责将文档转换为'可检索'的格式,核心流程是:
Chains 是 LangChain 的'灵魂',该模块允许将多个组件(LLM、Prompt、检索器等)组合成一个可执行的流程,解决'单步操作无法完成复杂任务'的问题。
常见的 Chain 类型:
记忆 (Memory): 原生 LLM 没有'记忆',无法记住多轮对话的上下文。Memory 模块解决这个问题,核心模块类型如下:
参考文档: https://docs.langchain.com/oss/python/concepts/memory
代理 (Agents): Agents 是 LangChain 的高阶能力,让 LLM 大语言模型能'自主决策',根据用户问题,选择调用哪些工具(如:计算器、搜索引擎、代码解释器),完成多步推理任务。
参考文档: https://docs.langchain.com/oss/python/langchain/agents
工具 (Tools): 该模块是 Agents 的基础,提供与外部系统交互的接口。LangChain 内置工具包括:
开发者也可通过 Tool 类自定义工具,只需实现 func(工具逻辑)和 description(工具描述,供 Agent 判断是否调用)。
参考文档: https://docs.langchain.com/oss/python/langchain/agents
负责加载外部文档,支持几乎所有主流格式:
文档加载 参考文档: https://docs.langchain.com/oss/python/langchain/knowledge-base#1-documents-and-document-loaders
适配 第三方 文档加载 模型 集成包 参考文档: https://docs.langchain.com/oss/javascript/integrations/providers/all_providers#file-loaders
LLM 应用的效果难以量化,Evaluation 模块提供评估工具,支持:
langsmith 评估 参考文档: https://docs.langchain.com/langsmith/evaluation-quickstart#evaluation-quickstart
langsmith 部署 参考文档: https://docs.langchain.com/langsmith/deployments
LangChain 功能模块文档: https://docs.langchain.com/oss/python/langchain/overview,该文档是 LangChain 框架 Python 语言的总览文档,左侧章节标题可以跳转到:
等文档。
[图片:LangChain 功能模块文档截图]
LangChain API 参考文档: 这是 LangChain 开发具体对应的 Python / JavaScript / TypeScript 语言对应的 API 文档,主要介绍 LangChain 和 LangGraph 构建大模型应用程序用到的核心接口,每个部分涵盖 LangChain 生态系统中的不同方面,使用顶部或左侧的导航栏查看 LangChain 特定模块的文档。
[图片:LangChain API 参考文档截图]
下面是 LangChain 框架的 Agents 开发文档:https://reference.langchain.com/python/langchain/agents/
[图片:LangChain Agents 开发文档截图]
LangChain 框架提供了丰富的适配第三方模型的集成包,涉及到大语言模型 (LLMs)、聊天模型、检索器、向量数据库、文档加载器等多个类型的 AI 模型。
集成包指的是 LangChain Python 生态中专门对接不同 AI 模型服务商的程序模块,其核心作用是让开发者不用自己写复杂的 API 调用、参数适配代码,只需几行简单代码就能在 LangChain 框架中调用对应服务商的大语言模型 (LLMs)、聊天模型 (Chat Models) 等能力。
LangChain 框架 集成包 文档: https://docs.langchain.com/oss/python/integrations/providers/overview
[图片:LangChain 集成包文档截图]
下面给出一个集成包示例,langchain-openai 集成包是 LangChain 官方提供的、专门对接适配 OpenAI 生态(包括 OpenAI 官方、Azure OpenAI)的集成包:
langchain-openai 集成包 文档地址: https://reference.langchain.com/python/integrations/langchain_openai/
[图片:langchain-openai 集成包文档截图]
langchain-google-vertexai 集成包是 LangChain 官方适配对接 Google Cloud Vertex AI 平台的集成包(Vertex AI 是 Google 云的一站式 AI 开发平台)。文档地址: https://reference.langchain.com/python/integrations/langchain_google_vertexai/
langchain-ollama 集成包是 LangChain 官方适配对接 Ollama 工具的集成包(Ollama 是一款轻量级本地大模型运行工具,可一键部署 Llama 3、Phi 3、Mistral 等开源模型)。文档地址: https://reference.langchain.com/python/integrations/langchain_ollama/
LangChain 教程指南文档: https://docs.langchain.com/oss/python/learn,在该文档中提供了一系列教程、概念概述及补充资源,借助 LangChain 和 LangGraph 构建功能强大的大模型应用程序。
[图片:LangChain 教程指南截图]

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online