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聊天模型定义的内容了。如果喜欢我的内容请点赞、收藏加关注多多支持我这个编程小白啊以及欢迎各位在评论区讨论交流并指出我的不足谢谢大家。

相关新闻

VeADK Agent容器化部署实战指南

VeADK Agent容器化部署实战指南

1. 项目概述最近在折腾一个挺有意思的项目——VeADK Agent的容器化部署方案。作为一个常年和各类中间件打交道的运维老兵,我发现在实际生产环境中,很多团队在部署这类系统管理工具时还是会遇到不少坑。今天就用这篇万字长文,带大家完整走一遍…

2026/7/26 5:56:32 阅读更多 →
Linux PCI设备探测机制与驱动绑定详解

Linux PCI设备探测机制与驱动绑定详解

1. Linux PCI设备探测机制概述在Linux内核启动过程中,PCI设备的探测与初始化是一个关键的系统初始化环节。这个过程决定了系统能否正确识别和配置所有PCI/PCIe硬件设备。现代服务器和工作站通常搭载数十个PCIe设备,从网卡、显卡到各种存储控制器&#xf…

2026/7/26 5:56:32 阅读更多 →
DMA控制器高级特性:精细化中断与硬件内存保护实战解析

DMA控制器高级特性:精细化中断与硬件内存保护实战解析

1. DMA控制器中断与内存保护机制的核心价值在嵌入式系统里摸爬滚打十几年,我处理过无数个数据吞吐的瓶颈。很多时候,系统卡顿、响应延迟,甚至数据错乱的“灵异事件”,追根溯源,问题往往出在DMA(直接内存访问…

2026/7/26 5:56:32 阅读更多 →

最新新闻

C语言调用C++类接口:extern “C“与不透明指针的工程实践

C语言调用C++类接口:extern “C“与不透明指针的工程实践

1. 项目概述:跨越语言边界的工程实践在嵌入式开发、游戏引擎底层或者一些历史遗留系统的现代化改造中,我们经常会遇到一个经典的工程难题:一个核心的、用C语言编写的模块或主程序,需要去调用另一个由C模块提供的、更高级的、面向对…

2026/7/26 6:10:39 阅读更多 →
自考论文AI检测应对:10大工具与降AI率技巧

自考论文AI检测应对:10大工具与降AI率技巧

1. 自考学习中的AI检测挑战与应对思路作为一名自考过来人,我深知在论文写作和作业提交过程中最让人头疼的就是AI检测问题。去年帮学弟修改论文时,他的初稿被系统判定为"AI生成内容占比过高",险些影响毕业。这件事让我开始系统研究各…

2026/7/26 6:10:39 阅读更多 →
Twitter自动化营销系统设计与风控策略

Twitter自动化营销系统设计与风控策略

1. 项目背景与行业痛点在当今社交媒体营销领域,Twitter作为全球性信息传播平台,其流量获取难度正以每年37%的速度递增(2023年Social Media Examiner数据)。传统运营团队需要同时管理15-20个账号,日均发布量超过50条&am…

2026/7/26 6:10:39 阅读更多 →
深入解析Godot资源系统:从核心概念到高效管理实践

深入解析Godot资源系统:从核心概念到高效管理实践

1. 项目概述:为什么Godot的资源系统值得深挖如果你刚开始用Godot,可能会觉得它的文件系统有点“怪”。为什么场景文件是.tscn,脚本是.gd,而图片拖进去就变成了.import文件?这背后是一套非常强大且独特的资源系统。我刚…

2026/7/26 6:10:39 阅读更多 →
算法核心:递归与位运算枚举所有子序列的原理与实战

算法核心:递归与位运算枚举所有子序列的原理与实战

1. 项目概述:为什么“所有子序列”是个值得深究的经典问题?“遍历得到数组的所有子序列”,这个题目听起来像是一道标准的算法练习题,很多朋友可能在准备面试或者刷LeetCode时都遇到过。但如果你只把它当作一道“背下来就行”的题目…

2026/7/26 6:10:38 阅读更多 →
WebRTC实现跨设备P2P直连传输文件秒传

WebRTC实现跨设备P2P直连传输文件秒传

WebRTC 跨设备文件传输解决方案WebRTC(Web Real-Time Communication)技术不仅支持音视频通信,其 RTCDataChannel接口也非常适合实现点对点(P2P)的跨设备文件传输,具有低延迟、无需中转服务器(可…

2026/7/26 6:09:38 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻