深入浅出LangChain AI Agent智能体开发教程(二)—LangChain接入大模型

前言

上篇内容认识LangChain&LangGraph分享了LangChain&LangGraph的核心原理和技术架构。从本期分享开始我们就正式围绕LangChain代码展开详细讲解,内容会涉及到LangChain框架的整体概览,如何用LangChain搭建智能体和本地知识库问答的完整流程,同时也会分享热门MCP工具如何接入LangChain框架的相关内容。

本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写的,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!大家感兴趣可以关注笔者掘金账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩 , 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。

一、LangChain核心模块和基本架构

每期分享开始前,希望大家都可以回顾一下LangChain的核心模块和基本架构。

从本质上分析,LangChain 从大模型角度出发,通过开发人员在实践过程中对大模型能力的深入理解及其在不同场景下的涌现潜力,使用模块化的方式进行高级抽象,设计出统一接口以适配各种大模型。LangChain抽象出最重要的核心模块如下:

  1. Model I/O:标准化各个大模型的输入和输出,包含输入模板,模型本身和格式化输出;
  2. Retrieval:检索外部数据,然后在执行生成步骤时将其传递到 LLM,包括文档加载、切割、Embedding等;
  3. Chains链:LangChain框架中最重要的模块,链接多个模块协同构建应用,是实际运作很多功能的高级抽象;
  4. Memory:记忆模块,以各种方式构建历史信息,维护有关实体及其关系的信息;
  5. Agents :目前最热门的Agents开发实践,未来能够真正实现通用人工智能的落地方案;
  6. Callbacks :回调系统,允许连接到 大模型 应用程序的各个阶段。用于日志记录、监控、流传输和其他任务;

将上述的LangChain模块进一步抽象我们可以得到LangChain三层核心架构:

本期分享要介绍的就是最底层大模型API抽象层的内容,大家一起来学习市面上各种各样的大模型如何接入LangChain。

二、LangChain环境搭建

使用LangChain进行大模型应用开发,第一步要搭建LangChain的运行环境。本系列分享同样使用anaconda管理虚拟环境:

  1. 命令行执行如下命令创建并激活名为langchainenv的虚拟环境:
bash 复制代码
conda create -n langchainenv python=3.12 #创建langchain开发环境
conda activate langchainenv
  1. 命令行执行pip install langchain安装LangChain依赖, 可以通过pip show langchain查看我们安装的langchain版本。

以上就是我们搭建LangChain基本环境的教程。

三、LangChain接入大模型实战

3.1 LangChain大模型API设计架构

LangChain支持接入市面上几乎所有的大模型,包括OpenAIQwenGeminiDeepSeek,甚至包括本地使用Ollama, Vllm部署的大模型。LangChain调用大模型的设计方案是针对每个模型编写相应的依赖库,但编写统一的接口init_chat_model去调用不同模型(用户不必再关心不同依赖库的实现)。设计架构图如下:

总结来说用户调用大模型基本都要遵循如下两个步骤:

  1. 安装相关大模型的依赖库
  2. 使用init_chat_model初始化大模型

3.2 LangChain调用硅基流动大模型

首先我们尝试使用LangChain接入硅基流动免费的Qwen3-8B模型

  1. 注册登录硅基流动官网,并申请API Key用于请求Qwen3-8B大模型。
  1. 硅基流动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定义了三种消息类别,分别是SystemMessageHumanMessageAIMessage, 分别表示系统消息、用户消息和大模型消息。

3.3 LangChain调用DeepSeek大模型

  1. 调用DeepSeek大模型前,大家需要到DeepSeek官网注册DeepSeek的API_Key:
  1. 对于DeepSeek大模型,LangChain为其编写了完备的依赖库,所以需要按照LangChain的基本设计,首先安装langchain-deepseek依赖库, 在langchainenv环境下执行命令pip install langchain-deepseek:
  1. 接入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)
  1. 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智能体开发 免费获得。

相关推荐
笑小枫3 分钟前
Pytorch使用GPU训练全过程,包含安装CUDA、cuDNN、PyTorch
人工智能·pytorch·python
Blossom.11819 分钟前
深度学习中的注意力机制:原理、应用与实践
人工智能·深度学习·神经网络·机器学习·生成对抗网络·计算机视觉·sklearn
【本人】20 分钟前
Django基础(二)———URL与映射
后端·python·django
飞哥数智坊44 分钟前
Cursor替代方案整理,附模型不可用进阶解决方案
人工智能·claude·cursor
摸鱼仙人~1 小时前
现代人工智能综合分类:大模型时代的架构、模态与生态系统
人工智能·分类·数据挖掘
麻雀无能为力1 小时前
CAU数据挖掘第四章 分类问题
人工智能·分类·数据挖掘·中国农业大学计算机
mit6.8241 小时前
[AI-video] 数据模型与架构 | LLM集成
开发语言·人工智能·python·微服务
roman_日积跬步-终至千里1 小时前
【机器学习【6】】数据理解:数据导入、数据审查与数据可视化方法论
人工智能·机器学习
蓝婷儿1 小时前
Python 数据建模与分析项目实战预备 Day 4 - EDA(探索性数据分析)与可视化
开发语言·python·数据分析
小小薛定谔1 小时前
java操作Excel两种方式EasyExcel 和POI
java·python·excel