1.什么是 LangChain

LangChain是2022年10月,由哈佛大学的Harrison Chase(哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。
以下是关于LangChain的相关网址链接

  • github地址:https://github.com/langchain-ai/langchain
  • 官网地址:https://www.langchain.com/langchain
  • 官方文档:https://docs.langchain.com/oss/python/langchain/overview
  • API 文档:https://reference.langchain.com/python/langchain/

LangChain可用于如下多种场景,例如:搭建 Agent、问答系统(QA)、文档搜索系统等。
LangChain的发布比ChatGPT问世还要早一个月,从这个启动日期也可以看出创始人的眼光,占了先机的它迅速获得广泛关注和支持!
LangChain在Github上的热度变化:
在这里插入图片描述
下面通过两个问题,来看下LangChain所提供的价值:

1)问题1:LLMs用的好好的,为什么还需要LangChain?
在大语言模型(LLM)如 ChatGPT、Claude、DeepSeek 等快速发展的今天,开发者不仅希望能“使用”这些模型,还希望能将它们灵活集成到自己的应用中,实现更强大的对话能力、检索增强生成(RAG)、工具调用(Tool Calling)、多轮推理等功能。
在这里插入图片描述
问题2:我们可以使用GPT 或GLM4 等模型的API进行开发,为何需要LangChain这样的框架?
不使用LangChain,确实可以使用GPT 或GLM4 等模型的API进行开发。
但使用LangChain的好处:

  • 简化开发难度:更简单、更高效、效果更好。
  • 开发人员可以更专注于业务逻辑,而无须花费大量时间和精力处理底层技术细节。
  • 学习成本更低:不同模型的API不同,调用方式也有区别,切换模型时学习成本高。使用LangChain,可以以统一、规范的方式进行调用,有更好的移植性。
  • 现成的Agent构建方法:LangChain提供了现成的构建Agent的方式。让复杂的逻辑变得结构化、易组合、易扩展。
    在这里插入图片描述

2.LangChain包及核心模块划分

2.1 LangChain所包含的包

LangChain所包含的包及其描述,如下所示:

描述
langchain包含构建使用 LLM 的应用所需的所有实现的主入口点
langchain-coreLangChain 生态系统中的核心接口和抽象
langchain-openai/deepseekLangchain和OpenAI(deepseek)集成包。langchain还包含一系列集成包,这些集成包涵盖了文本生成模型,工具,文档加载,向量存储等多个方面,构成了langchain生态系统。
langchain-mcp-adapters在 LangChain 和 LangGraph 应用中提供 MCP 工具
langchain-text-splitters用于文档处理的文本分割工具
langchain-tests用于验证 LangChain 集成包实现的标准化测试套件
langchain-classic遗留的 langchain 实现和组件,主要为1.0.0版本以前的相关内容

2.2 LangChain核心模块划分

LangChain的核心组件,从逻辑上可以划分为以下四大部分:Model I/O、Chains、RAG、Agents。

2.2.1 Model I/O

标准化大模型的输入和输出,包含提示模版,模型调用和格式化输出。
在这里插入图片描述

  1. Format(格式化):通过模板管理大模型的输入。将原始数据格式化成模型可以处理的形式,插入到一个模板中,然后送入模型进行处理。
  2. Predict(预测):调用 LLM 接收输入,进行预测或生成回答。
  3. Parse(解析):规范化模型输出。比如将模型输出格式化为 JSON。

2.2.2 Chains

“链条”用于将多个组件组合成一个完整的流程,方便链式调用。

2.2.3 Retrieval

对应RAG:检索外部数据,作为参考信息输入LLM辅助生成答案。
在这里插入图片描述

2.2.4 Agents

Agent 自主规划执行步骤并使用工具来完成任务。
在这里插入图片描述

3.环境准备

之后的代码基于Conda的环境管理,使用python版本为3.12
这里同一安装用的包,使用命令

# 先切换环境
conda activate python312

# 安装
pip install -r requirements.txt

requirements.txt

aiofiles==25.1.0
aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aiosignal==1.4.0
annotated-types==0.7.0
anthropic==0.75.0
anyio==4.12.0
asttokens==3.0.1
attrs==25.4.0
backoff==2.2.1
beautifulsoup4==4.14.3
bracex==2.6
certifi==2026.1.4
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
colorama==0.4.6
comm==0.2.3
cryptography==46.0.3
dataclasses-json==0.6.7
debugpy==1.8.19
decorator==5.2.1
deepagents==0.3.5
distro==1.9.0
docstring_parser==0.17.0
docx==0.2.4
emoji==2.15.0
executing==2.2.1
filelock==3.20.3
filetype==1.2.0
frozenlist==1.8.0
fsspec==2026.1.0
google-auth==2.47.0
google-genai==1.57.0
greenlet==3.3.0
grpcio==1.76.0
h11==0.16.0
html5lib==1.1
httpcore==1.0.9
httpx==0.28.1
httpx-sse==0.4.3
huggingface-hub==0.36.0
idna==3.11
ipykernel==7.1.0
ipython==9.9.0
ipython_pygments_lexers==1.1.1
jedi==0.19.2
Jinja2==3.1.6
jiter==0.12.0
joblib==1.5.3
jsonpatch==1.33
jsonpointer==3.0.0
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
jupyter_client==8.8.0
jupyter_core==5.9.1
langchain==1.2.3
langchain-anthropic==1.3.1
langchain-classic==1.0.1
langchain-community==0.4.1
langchain-core==1.2.6
langchain-deepseek==1.0.1
langchain-google-genai==4.1.3
langchain-huggingface==1.2.0
langchain-mcp-adapters==0.2.1
langchain-openai==1.1.7
langchain-tavily==0.2.16
langchain-text-splitters==1.1.0
langdetect==1.0.9
langgraph==1.0.5
langgraph-checkpoint==3.0.1
langgraph-prebuilt==1.0.5
langgraph-sdk==0.3.1
langsmith==0.6.0
lxml==6.0.2
Markdown==3.10
MarkupSafe==3.0.3
marshmallow==3.26.2
matplotlib-inline==0.2.1
mcp==1.25.0
mpmath==1.3.0
multidict==6.7.0
mypy_extensions==1.1.0
nest-asyncio==1.6.0
networkx==3.6.1
nltk==3.9.2
numpy==2.4.0
olefile==0.47
openai==2.14.0
orjson==3.11.5
ormsgpack==1.12.1
packaging==25.0
pandas==2.3.3
parso==0.8.5
pillow==12.1.0
platformdirs==4.5.1
prompt_toolkit==3.0.52
propcache==0.4.1
protobuf==6.33.3
psutil==7.2.1
pure_eval==0.2.3
pyasn1==0.6.1
pyasn1_modules==0.4.2
pycparser==2.23
pydantic==2.12.5
pydantic-settings==2.12.0
pydantic_core==2.41.5
Pygments==2.19.2
PyJWT==2.10.1
pymilvus==2.6.6
pypdf==6.6.0
python-dateutil==2.9.0.post0
python-docx==1.2.0
python-dotenv==1.2.1
python-iso639==2025.11.16
python-magic==0.4.27
python-multipart==0.0.21
python-oxmsg==0.0.2
pytz==2025.2
pywin32==311
PyYAML==6.0.3
pyzmq==27.1.0
RapidFuzz==3.14.3
referencing==0.37.0
regex==2025.11.3
requests==2.32.5
requests-toolbelt==1.0.0
rpds-py==0.30.0
rsa==4.9.1
safetensors==0.7.0
scikit-learn==1.8.0
scipy==1.17.0
sentence-transformers==5.2.0
setuptools==80.9.0
six==1.17.0
sniffio==1.3.1
soupsieve==2.8.1
SQLAlchemy==2.0.45
sse-starlette==3.1.2
stack-data==0.6.3
starlette==0.51.0
sympy==1.14.0
tavily==1.1.0
tenacity==9.1.2
threadpoolctl==3.6.0
tiktoken==0.12.0
tokenizers==0.22.2
torch==2.9.1
tornado==6.5.4
tqdm==4.67.1
traitlets==5.14.3
transformers==4.57.3
typing-inspect==0.9.0
typing-inspection==0.4.2
typing_extensions==4.15.0
tzdata==2025.3
unstructured==0.18.27
unstructured-client==0.42.6
urllib3==2.6.2
uuid_utils==0.12.0
uvicorn==0.40.0
wcmatch==10.1
wcwidth==0.2.14
webencodings==0.5.1
websockets==15.0.1
wrapt==2.0.1
xxhash==3.6.0
yarl==1.22.0
zstandard==0.25.0

在这里插入图片描述


相关文章:
大模型快速入门-01大模型常识
大模型快速入门-02大语言模型的架构演进
大模型快速入门-03模型的训练范式和算力
大模型快速入门-04大模型的工程实现(上)
大模型快速入门-05大模型的工程实现(中)
大模型快速入门-06大模型的工程实现(下)

LangChain:
LangChain快速入门-01概述
LangChain快速入门-02Model I/O
LangChain快速入门-03RAG(概述与文档加载)
LangChain快速入门-04RAG(文档切分与嵌入)
LangChain快速入门-05RAG(向量数据库)
LangChain快速入门-06Agents

LangGraph:
LangGraph快速入门-01概述
LangGraph快速入门-02状态
LangGraph快速入门-03节点与边

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐