Langchain简单快速上手教程(二)——聊天模型之模型定义 聊天模型之模型定义前言一、聊天模型的定义(1) 通过API来定义聊天模型1、使用LLM专门的包2、使用init_chat_model()(2) 通过本地部署的 LLM 定义聊天模型ChatOllama结语前言由于LLM在各种语言类与语言相关任务上的表现出色现在LLM主要通过将消息列表作为输⼊并返回消息作为输出的聊天模型接口来进行访问。故本文再介绍了langchain如何安装后来进一步介绍langchain的聊天模型接口中的模型定义。一、聊天模型的定义(1) 通过API来定义聊天模型1、使用LLM专门的包在使用langchain去定义大语言模型的时候可以使用其专门的包的接口。下面演示用ChatOpenAI与ChatDeepSessk由于deepseek兼容openai的调用方式我们也可以用ChatOpenAI来调用deepseekimportosfromlangchain_openaiimportChatOpenAI# 定义模型modelChatOpenAI(modeldeepseek-v4-flash,api_keyos.environ.get(DEEPSEEK_API_KEY),base_urlhttps://api.deepseek.com,)fromlangchain_deepseekimportChatDeepSeek# 定义模型modelChatDeepSeek(modeldeepseek-v4-flash)从上面两个例子里我们引出了关于ChatOpenAI或ChatDeepSeek这些函数接口的参数下面来简单介绍一下其部分常见参数以便我们更好地使用。参数名参数描述model要使用的模型的名称api_keyAPI 密钥如果未传入将从环境变量中读取base_urlAPI 请求的基本 URtemperature采样温度温度值越⾼AI 回答越天马行空温度越低回答则越保守max_tokens要⽣成的最大令牌数timeout请求超时时间max_retries最⼤重试次数在讲下一种方式前我们需要先见到介绍一下Runnable接口中的 .invoke() 调用。该方法是将单个输入转换为对应的输出。而其输入与输出都是Runnable实例。以下是class langchain_core.runnables.config.RunnableConfig 常用参数说明。参数名参数描述configurable通过 .configurable_fields在此 Runnable 或子 Runnable 上配置的属性的运行时值。run_id针对此调用运行的跟踪器的唯⼀标识符。如果未提供将⽣成新的 UUID。run_name此调用的跟踪器运⾏的名称。默认为类的名称。metadata此次调⽤和任何⼦调⽤的元数据。键是字符串值是 JSON。类型dict[str Any]2、使用init_chat_model()init_chat_model()是langchain对不同模型调用所实现的更上层的函数封装用于定义与初始化不同的聊天模型。fromlangchain.chat_modelsimportinit_chat_model gdp_modelinit_chat_model(gpt-4o-mini,model_provideropenai)deepseek_modelinit_chat_model(deepseek-v4-flash,model_providerdeepseek)上面的例子通过调用init_chat_model()其model与model_provider两个参数所实现的基本用法。我们还能通过其它参数实现模型的配置与定制。下面我们来展示一下其它用法。fromlangchain.chat_modelsimportinit_chat_modelfromlangchain_core.messagesimportHumanMessage,SystemMessage# 定制可配置的模型模型模拟器config_modelinit_chat_model(temperature0.3)messages[SystemMessage(content请补全一段故事50字以内),HumanMessage(content薛定谔的猫),]# # .invoke()的config参数才真正定义了模型print(fconfig_model {config_model.invoke(inputmessages,config{configurable:{model:deepseek-v4-flash}}).content})fromlangchain.chat_modelsimportinit_chat_modelfromlangchain_core.messagesimportHumanMessage,SystemMessage# 可配置的模型默认参数modelinit_chat_model(modeldeepseek-chat,temperature0.5,max_tokens1024,configurable_fields(temperature,max_tokens),config_prefixfirst)messages[SystemMessage(content请补全一段故事50字以内),HumanMessage(content薛定谔的猫)]# 原本输出print(model.invoke(messages).content)resultmodel.invoke(inputmessages,config{configurable:{first_temperature:0,first_max_tokens:10,}})# 精简输出print(result.content)且init_chat_model()函数所返回的是⼀个与指定的 model_name 和 model_provider 相对应的聊天模型模拟器 BaseChatModel。该模型是可配置的模拟器在传入配置后在运行时才会初始化其底层模型。(2) 通过本地部署的 LLM 定义聊天模型该方式和通过API调用大模型不同的是其是以调用通过Ollama所进行的本地部署的大模型进行的聊天模型定义。ChatOllamaChatOllama也是 LangChain 为通过 Ollama 部署的聊天模型所提供的具体实现类。因此ChatOllama 同样也实现了标准的 Runnable 接口。而用使用ChatOllama得先安装 Ollama包。pipinstalllangchain_ollama安装完后便可使用。其常见参数同ChatOpenAI和ChatDeepSeek一样这里所具体model与base_url得根据你通过Ollama本地部署得LLM来填。fromlangchain_ollamaimportChatOllama ollama_modelChatOllama(modelYOURMODEL,base_urlYOURURL)结语以上就是langchain聊天模型定义的内容了。如果喜欢我的内容请点赞、收藏加关注多多支持我这个编程小白啊以及欢迎各位在评论区讨论交流并指出我的不足谢谢大家。

相关新闻

最新新闻

学工系统是干什么用的

学工系统是干什么用的

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

2026/7/26 7:07:07
MCAN控制器消息RAM配置:Rx FIFO与Tx Buffer实战详解

MCAN控制器消息RAM配置:Rx FIFO与Tx Buffer实战详解

1. MCAN控制器与消息RAM架构概览在汽车电子和工业控制领域,控制器局域网(CAN)总线是连接电子控制单元(ECU)的神经系统。随着车载网络数据量的激增,传统的CAN协议在带宽上逐渐捉襟见肘。CAN FD(灵…

2026/7/26 7:07:07
AM62L硬件防火墙配置详解:从寄存器操作到多区域安全策略

AM62L硬件防火墙配置详解:从寄存器操作到多区域安全策略

1. AM62L防火墙机制:从硬件隔离到安全架构的深度解析在嵌入式系统开发,尤其是涉及功能安全、数据隐私或多域隔离的场景里,硬件防火墙早已不是“锦上添花”的选项,而是构建系统可信基石的“必需品”。我接触过不少项目,…

2026/7/26 7:07:07
TI 68xx/64xx芯片PRCM模块实战:安全、时钟与复位寄存器配置详解

TI 68xx/64xx芯片PRCM模块实战:安全、时钟与复位寄存器配置详解

1. 项目概述与核心价值在嵌入式系统开发,尤其是汽车电子和工业控制这类对可靠性和实时性要求极高的领域,芯片的底层管理是决定系统成败的基石。我们常说的“底层驱动”,其核心任务之一就是与芯片的电源、复位和时钟管理模块打交道。今天&…

2026/7/26 7:07:07
2.时序异常检测入门到实战:评估的陷阱:point-adjust 如何把烂模型刷成 SOTA

2.时序异常检测入门到实战:评估的陷阱:point-adjust 如何把烂模型刷成 SOTA

时序异常检测入门到实战(二) 评估的陷阱:point-adjust 如何把烂模型刷成 SOTA本文是「码海寻道」《时序异常检测入门到实战》系列的第 2 篇。上一篇结尾埋了个雷:有个叫 point-adjust 的流行评估方式,能把一个近乎随机…

2026/7/26 7:07:07
阿里云Qwen 3.5开源大模型解析与实战指南

阿里云Qwen 3.5开源大模型解析与实战指南

1. Qwen 3.5开源大模型发布概览今天凌晨,阿里云正式开源了Qwen系列的最新版本——Qwen 3.5大语言模型。作为一名跟踪大模型技术演进的技术博主,我第一时间下载测试了这个72B参数的"巨无霸"。与去年发布的Qwen-72B相比,新版本在代码…

2026/7/26 7:02:07

月新闻