前言
上篇内容认识LangChain&LangGraph分享了LangChain&LangGraph的核心原理和技术架构。从本期分享开始我们就正式围绕LangChain代码展开详细讲解,内容会涉及到LangChain框架的整体概览,如何用LangChain搭建智能体和本地知识库问答的完整流程,同时也会分享热门MCP工具如何接入LangChain框架的相关内容。
本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写的,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!大家感兴趣可以关注笔者掘金账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩 , 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。
一、LangChain核心模块和基本架构
每期分享开始前,希望大家都可以回顾一下LangChain的核心模块和基本架构。
从本质上分析,LangChain 从大模型角度出发,通过开发人员在实践过程中对大模型能力的深入理解及其在不同场景下的涌现潜力,使用模块化的方式进行高级抽象,设计出统一接口以适配各种大模型。LangChain抽象出最重要的核心模块如下:
- Model I/O:标准化各个大模型的输入和输出,包含输入模板,模型本身和格式化输出;
- Retrieval:检索外部数据,然后在执行生成步骤时将其传递到 LLM,包括文档加载、切割、Embedding等;
- Chains链:LangChain框架中最重要的模块,链接多个模块协同构建应用,是实际运作很多功能的高级抽象;
- Memory:记忆模块,以各种方式构建历史信息,维护有关实体及其关系的信息;
- Agents :目前最热门的Agents开发实践,未来能够真正实现通用人工智能的落地方案;
- Callbacks :回调系统,允许连接到 大模型 应用程序的各个阶段。用于日志记录、监控、流传输和其他任务;
将上述的LangChain模块进一步抽象我们可以得到LangChain三层核心架构:

本期分享要介绍的就是最底层大模型API抽象层的内容,大家一起来学习市面上各种各样的大模型如何接入LangChain。
二、LangChain环境搭建
使用LangChain进行大模型应用开发,第一步要搭建LangChain的运行环境。本系列分享同样使用anaconda管理虚拟环境:
- 命令行执行如下命令创建并激活名为
langchainenv
的虚拟环境:
bash
conda create -n langchainenv python=3.12 #创建langchain开发环境
conda activate langchainenv

- 命令行执行
pip install langchain
安装LangChain依赖, 可以通过pip show langchain
查看我们安装的langchain
版本。


以上就是我们搭建LangChain基本环境的教程。
三、LangChain接入大模型实战
3.1 LangChain大模型API设计架构
LangChain支持接入市面上几乎所有的大模型,包括OpenAI
、Qwen
、Gemini
、DeepSeek
,甚至包括本地使用Ollama
, Vllm
部署的大模型。LangChain调用大模型的设计方案是针对每个模型编写相应的依赖库,但编写统一的接口init_chat_model
去调用不同模型(用户不必再关心不同依赖库的实现)。设计架构图如下:

总结来说用户调用大模型基本都要遵循如下两个步骤:
- 安装相关大模型的依赖库
- 使用
init_chat_model
初始化大模型
3.2 LangChain调用硅基流动大模型
首先我们尝试使用LangChain接入硅基流动免费的Qwen3-8B模型
- 注册登录硅基流动官网,并申请API Key用于请求Qwen3-8B大模型。

- 硅基流动API可以通过openai请求格式进行访问,无需安装额外包,编写如下代码:
python
from langchain.chat_models import init_chat_model
model = init_chat_model(
model="Qwen/Qwen3-8B", # 模型名称
model_provider="openai", # 模型提供商,硅基流动提供了openai请求格式的访问
base_url="https://api.siliconflow.cn/v1/", #硅基流动模型的请求url
api_key="", # 填写你注册的硅基流动 API Key
)
question = "你好,请问你是"
result = model.invoke(question) #将question问题传递给model组件, 同步调用大模型生成结果
print(result)
运行结果如下图所示: 可以看到成功接受到了模型的返回结果,返回的结果类型是AIMessage , 这里说明一下,LangChain定义了三种消息类别,分别是SystemMessage 、HumanMessage 和AIMessage, 分别表示系统消息、用户消息和大模型消息。

3.3 LangChain调用DeepSeek大模型
- 调用DeepSeek大模型前,大家需要到DeepSeek官网注册DeepSeek的API_Key:

- 对于DeepSeek大模型,LangChain为其编写了完备的依赖库,所以需要按照LangChain的基本设计,首先安装
langchain-deepseek
依赖库, 在langchainenv
环境下执行命令pip install langchain-deepseek
:

- 接入DeepSeek, 这部分代码与接入其它大模型代码几乎一样,只需要修改
model_provider
参数和api_key
即可,返回的也是一个AIMessage对象。
python
from langchain.chat_models import init_chat_model
model = init_chat_model(
model='deepseek-chat', # deepseek-chat表示调用DeepSeek-v3模型,deepseek-reasoner表示调用DeepSeek-R1模型,
model_provider='deepseek',# 模型提供商写deepseek
api_key="", #你注册的deepseek api_key
)
question="你好,请介绍一下你自己"
result = model.invoke(question)
print(result)

- AIMessage 中除了content内容字段,还包括其它有意义的字段,我们首先将以上代码中调用
deepseek-v3
模型改为调用deepseek-r1
模型:
python
from langchain.chat_models import init_chat_model
model = init_chat_model(
model='deepseek-reasoner', # deepseek-chat表示调用DeepSeek-v3模型,deepseek-reasoner表示调用DeepSeek-R1模型,
model_provider='deepseek',# 模型提供商写deepseek
api_key="",#你注册的deepseek api_key
)
question="你好,请介绍一下你自己"
result = model.invoke(question)
print(result)
生成的结果如下图所示,我们常用的字段是:
- additional_kwargs:包含了推理模型的思维链内容
- response_metadata: 包含了本次请求使用的token数量等统计信息

关于AIMessage 的更详细的字段说明大家可以查看官方文档python.langchain.com/api_referen...
3.4 LangChain接入其它大模型
理解了这个基本原理,如果大家想在用LangChain
进行开发时使用其他大模型如Qwen3
系列,则只需要先获取到Qwen3
模型的API_KEY
,然后安装Tongyi Qwen
的第三方依赖包,即可同样通过init_chat_model
函数来初始化模型,并调用invoke
方法来得到模型的响应结果。关于LangChain
都支持哪些大模型以及每个模型对应的是哪个第三方依赖包,大家可以在LangChain
的官方文档中找到,访问链接为:python.langchain.com/docs/integr...
下图是官网中给出的接入谷歌Gemini模型的案例:

四、总结
本期分享我们讲解了LangChain接入大模型的基本架构,并列举了硅基流动和DeepSeek接入大模型的案例,最后还给出了LangChain官方文档接入其它大模型的方法。LangChain接入大模型是最基础的步骤,也是我们系列教程的开胃菜,下期分享我们将隆重介绍LangChain中最核心的概念------链 , 掌握链的知识我们才真正具备搭建智能体的基础能力。
本系列分享预计会有20节左右的规模,保证大家看完一定能够掌握LangChain&LangGraph的开发能力,大家感兴趣可关注笔者掘金账号和专栏,更可关注笔者的同名微信公众号:大模型真好玩 , 本系列分享的全部代码均可在微信公众号私信笔者: LangChain智能体开发 免费获得。