本文是LangChain系列教程的第一篇,详细介绍了如何使用LangChain的Chat Model组件调用大模型API。文章从环境准备、API密钥获取与设置讲起,重点讲解了三种模型初始化方法:使用Chat Model子类、init_chat_model函数,以及兼容OpenAI API的方式。最后演示了Chat Model的常用方法如invoke、stream等,帮助读者掌握通过Python代码调用大模型的基础技能,为后续AI应用开发打下坚实基础。


重要的不是我们是否会被AI替代,

而是我们要比被替代的人更懂AI。

大家好,在上一期文章([从零开始学LangGraph(0):如何搭建基本的AI应用开发学习环境]中,我们已经完成了学习AI应用开发的基本环境的搭建,本期开始我们将正式进入正题。

需要说明的是,虽然这个系列笔记的核心主题是LangGraph,但正如其官方文档站所述,在学习搭建AI Agent的过程中,熟悉LangChain中的一些基础组件仍然是非常有意义的,尤其是modeltools

鉴于前期我已经写了一篇关于Chat Model的学习笔记,今天我将根据LangChain 1.0版本的最新更新内容,以及贯彻“从零开始学”的原则出发,对该篇笔记进行重构。

Chat Model 概述

所谓AI应用开发,本质就是利用大模型的各种神奇能力来实现一个解决具体问题的方案。因此,如何使用想要用的大模型,自然是AI应用开发的起点。

在日常生活中,我们往往是通过DeepSeek、豆包等模型供应商官方的网页端、app,或者使用Cherry Studio等对话客户端,来使用大模型。

今天我们要学习的,就是如何通过编写Python代码来使用大模型。

在LangChain中,Chat Model就是提供大模型调用能力的关键组件,它为我们使用各式各样的模型提供了统一的接口,让我们无须事先学习不同厂家的模型API调用方式,就能简单地通过几行代码去使用它们。

Chat Model 基本使用方法

Step 1.前置准备工作

(1)安装所需的模型集成

首先,进入并激活你的虚拟环境(忘记了的同学请复习上一期文章内容),然后在终端中输入安装LangChain的指令:pip install langchain

然后,根据你的任务需求,确定具体想要使用的模型。

在LangChain中,使用特定模型的最基本方式,就是利用现成的第三方模型集成(third-party integrations)。目前LangChain已经集成了近80多种第三方模型服务,覆盖了从OpenAI、Anthropic、Google等国外大厂,到DeepSeek、Qwen、ZHIPU等民族之光的丰富资源。

你可以在LangChain官网上轻松找到你所需要的模型集成的安装方法,以DeepSeek为例,只需要继续在终端中输入指令:

pip install -qU “langchain-deepseek”

(2)获取模型的API key

安装好对应的模型集成后,接下来需要准备API Key。以DeepSeek为例(其他模型API Key获取方式大同小异,不确定的可以直接问AI),进入DeepSeek开放平台API key栏目,网址:

https://platform.deepseek.com/api_keys

然后点击创建API key。如果提示你需要注册的,注册即可。

按照提示给新创建的API Key随意命名,接着会自动弹出key,你需要马上将key复制保存到安全的地方,这个key只有生成的时候会展示出来,如果你没有复制或者忘记了,这个key就废掉了,只能重新创建一个。

(3)设置模型的API key

获得了API key,我们就可以开始写代码了。

需要注意的是,在设置API key时,尽量不要把它明文写在你的代码里,这样会存在因为代码分享而暴露密钥的风险。这里推荐使用LangChain官方示例的API Key设置方式。

首先,在虚拟环境启动状态下的终端中输入jupyter notebook打开notebook,然后在单元格中输入下列代码(后文涉及的所有代码都是在notebook中执行):

import getpassimport osif not os.environ.get("DEEPSEEK_API_KEY"):  os.environ["DEEPSEEK_API_KEY"] = getpass.getpass("Enter API key for DeepSeek: ")

这段代码的功能是,首先,检测系统环境变量中是否已设置所需的API key,如果没有,将用户输入的API key设置为"DEEPSEEK_API_KEY"环境变量的值。

在notebook中,当你点击上面的小三角箭头或使用快捷键shift+enter执行运行,就可以看到代码的运行结果是弹出来一个要求你输入API Key的提示,将前面获取的key贴到对话框里再回车即可。

至此,你的大模型API key就设置完成了。

Step 2. 初始化Chat Model

在具体使用模型前,首先需要初始化模型。

(1)使用Chat Model子类初始化

你可以根据你需要使用的模型,查阅官方文档,使用对应包中的Chat Model子类来进行初始化。

所谓的“子类”、“类”,是Python和许多编程语言中的一种基本概念,你可以把它们简单理解为“模板”(感兴趣的朋友可以去学习“对象”的概念)。回想一下你日常工作学习中使用模板的场景,它的作用就是把一些会反复使用的元素提炼出来,形成一个可复用的框架,你每次具体使用时,根据需求修改一些细节即可。这个过程用编程术语描述,就是类的实例化。

比如你有一个日记模板(日记类),模板中包含了待填空的日期、天气、心情、日记内容等字段(日记类的属性),当你想要写今天的日记的时候,你使用这个模板,填好前面各项字段的内容,于是,一篇特属于“今天”的日记就产生了(日记类的实例对象)。

所谓的使用Chat Model子类来进行模型初始化,相当于就是在做这个事情,我们需要给ChatDeepSeek这个“模型模板”,填入我们具体想使用的模型、模型的温度、最大token数等参数。相关代码如下:

from langchain_deepseek import ChatDeepSeekllm = ChatDeepSeek(    model="deepseek-chat",    temperature=0,    max_tokens=None,    timeout=None,    max_retries=2,    # other params...)

将上述代码填入notebook的单元格中,运行。如果你看到单元格左边出现了小数字,就说明代码运行成功,模型初始化也就完成了。

(2)使用init_chat_model函数初始化

对于某些供应商的模型,我们还可以利用init_chat_model函数来初始化Chat Model。

函数也是编程语言中的基本概念,你只需要知道它的原理和数学中的函数基本一样即可。即,对于函数f(x)= y,我们输入x,x根据函数的计算式进行运算,将得到结果值y。

而如下图代码所示,我们向init_chat_model函数输入两个参数(即括号内用逗号隔开的两个内容,分别为模型名称(model),和模型供应商(model_provider)),就相当于往f(x)中,代入x。而init_chat_model函数的运算结果,将是一个实例化的模型对象。

from langchain.chat_models import init_chat_modelmodel = init_chat_model("deepseek-chat", model_provider="deepseek")

这里偷了个懒,在前面使用类的初始化的代码后面,直接贴入了init_chat_model函数的代码,可以看到初始化同样顺利完成。为了区分,我使用了不同的变量来表示不同初始化方法产生的模型实例。

(3)暂没有集成的模型供应商的使用

虽然LangChain目前已经集成了数量可观的模型服务集成,但有些我们比较常用的供应商仍然没有独立的包,比如openrouter、硅基流动。

这时,我们可以看看想要使用的供应商是否兼容OpenAI API,如果是,那么就可以在LangChain中利用ChatOpenAI子类来调用。以硅基流动为例:

首先,在终端中输入指令安装openai的包:pip install -qU langchain-openai

然后,在进行实例化的时候,填入硅基流动的base_url。这里有个细节,因为用的是openai的包,所以前面在系统变量里存入API Key的时候也要用“OPENAI_API_KEY”的表述。

from langchain_openai import ChatOpenAIllm = ChatOpenAI(    model="xxxxxxxx",    temperature=0,    max_tokens=None,    timeout=None,    max_retries=2,    api_key=""    base_url="https://api.siliconflow.cn/",)

让我们看下效果,通过硅基流动使用Qwen3-235B-A22B-Thinking-2507模型:

Step3. 使用Chat Model

初始化完成后,我们就可以使用Chat Model对象的各种方法(“方法”是python语言的术语,你可以简单理解成“功能”)来使用大模型,其中比较常用的方法如下:

  • invoke:与Chat Model交互的最基本方式,就是聊天本身,它接收一段消息列表作为输入,并返回一段消息列表作为输出。
  • stream:允许Chat Model在生成输出时采用流式输出的方式。
  • batch:允许用户将多个请求批量传入Chat Model以提高处理效率。
  • bind_tools:允许用户将一个工具绑定给Chat Model,使模型能在执行上下文时使用这个工具。
  • with_structured_output:针对支持结构化输出的模型,这个方法能够自动完成将模式绑定到模型并按给定模式解析输出的过程。

以最常用的invoke方法为例:

model.invoke("Hello")

上述代码中,model是我们已经初始化好的一个模型对象,使用.invoke来调用invoke方法,括号内输入我们需要传给模型的信息,这个过程,就相当于我们在DeepSeek网页端的对话栏中,输入“Hello”。

这段代码将生成一个AIMessage对象。可以看到这个对象包含了一个content属性,它的值就是模型对我们回复的内容。

然后,通过使用.content,我们可以直接访问content属性的值。如下图代码所示,先将invoke返回的这个message对象赋值给变量``res,然后打印res.content,就可以只看content的内容了。

这样,我们就初步学会了如何利用代码来使用DeepSeek啦~

为什么要学习大模型?

在科技飞速发展的当下,大模型已成为推动AI变革的核心引擎。2025年,大模型应用已经深入各行各业,从日常办公使用的DeepSeek、豆包、千问,到下游应用的自动驾驶/具身智能VLA,再到AIGC生成。大模型产业正经历技术普惠化、应用垂直化、生态开源化的深度变革,学习大模型成为把握人工智能革命主动权的关键。

数据显示,2023 年我国大模型相关人才缺口已突破百万,这一数字直接暴露了人才培养体系的严重滞后与供给不足。而随着人工智能技术的飞速迭代,产业对专业人才的需求将呈爆发式增长,据预测,到 2025 年这一缺口将急剧扩大至 400 万!!

在这里插入图片描述

普通人如何学习大模型

最近收到不少留言:

  • 我是做后端开发的,能转大模型方向吗?
  • 看了很多教程,怎么判断哪些内容是真正有用的?
  • 自己尝试动手搭模型,结果踩了不少坑,是不是说明我不适合这个方向?

其实这些问题,我几年前也都经历过。

那时我还是一名传统后端工程师,对大模型一知半解。刚开始接触时也很迷茫,常常不知道从哪里下手、该学哪些内容才算“有用”,搭建模型时也是各种踩坑、反复重来。

但正是一步步摸索、不断试错,我才走到了今天,从0起步,成功转型为大模型开发者。

所以我想跟你说:问题不在你,而是在学习方法。

今天我就以“过来人”的身份,分享一份亲测有效的大模型学习资源。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

现在这份资料免费分享给大家,有需要的小伙伴,直接VX扫描下方二维码就能领取啦😝↓↓↓
在这里插入图片描述

01. 大模型学习路线汇总

整体的学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战,跟着学习路线一步步打卡,小白也能轻松学会!
在这里插入图片描述

02. 大模型实战项目&配套源码

光学理论可不够,这套学习资料还包含了丰富的实战案例,让你在实战中检验成果巩固所学知识
在这里插入图片描述

03. 大模型学习必看书籍PDF

我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

04. 大模型超全面试题汇总

在面试过程中可能遇到的问题,我都给大家汇总好了,能让你们在面试中游刃有余
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
👉获取方式

😝有需要的小伙伴,可以保存图片到VX扫描下方二维码免费领取【保证100%免费】
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最适合零基础的!!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐