Langchain简单快速上手教程(二)——聊天模型之模型定义
📅 2026/7/26 5:56:31
👁️ 次浏览
聊天模型之模型定义前言一、聊天模型的定义(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聊天模型定义的内容了。如果喜欢我的内容请点赞、收藏加关注多多支持我这个编程小白啊以及欢迎各位在评论区讨论交流并指出我的不足谢谢大家。
1. 项目概述最近在折腾一个挺有意思的项目——VeADK Agent的容器化部署方案。作为一个常年和各类中间件打交道的运维老兵,我发现在实际生产环境中,很多团队在部署这类系统管理工具时还是会遇到不少坑。今天就用这篇万字长文,带大家完整走一遍…
📅 2026/7/26 5:56:31
1. Linux PCI设备探测机制概述在Linux内核启动过程中,PCI设备的探测与初始化是一个关键的系统初始化环节。这个过程决定了系统能否正确识别和配置所有PCI/PCIe硬件设备。现代服务器和工作站通常搭载数十个PCIe设备,从网卡、显卡到各种存储控制器…
📅 2026/7/26 5:56:31
1. DMA控制器中断与内存保护机制的核心价值在嵌入式系统里摸爬滚打十几年,我处理过无数个数据吞吐的瓶颈。很多时候,系统卡顿、响应延迟,甚至数据错乱的“灵异事件”,追根溯源,问题往往出在DMA(直接内存访问…
📅 2026/7/26 5:56:31
说实话,刚入行做海外社媒运营那会儿,我也跟个无头苍蝇似的。那时候公司让我给一个新品牌起个英文名,我脑子一热,直接甩了个“Geo”出来。老板皱着眉头问我这啥意思,我支支吾吾半天,最后硬着头皮说是“地球”的意思,显得格局大。现在回想起来,真是尴尬得想找个地缝钻进去…
📅 2026/7/26 7:00:59
1. 项目背景与核心价值在Kubernetes集群中管理持久化存储一直是运维工作的重点难点。传统静态PV配置方式需要管理员手动创建PV和PVC,不仅效率低下,还容易造成资源浪费。NFS Subdir Provisioner的出现完美解决了这一痛点,它通过动态存储供应机…
📅 2026/7/26 7:00:43
1. 项目概述:MacOS环境下构建本地AI Agent工作流 在个人设备上搭建完整的AI Agent开发环境,是当前技术从业者探索大模型应用的热门方向。这次实践基于MacOS系统,整合Ollama本地大模型服务、OpenClaw数据处理框架和飞书办公平台,打…
📅 2026/7/26 7:00:43
1. 项目背景与核心概念解析"天辛大师也谈AI帝国战士"这个标题涉及当下科技与人文交叉领域的前沿讨论。作为一名长期关注人工智能伦理发展的从业者,我注意到这个主题实际上探讨的是在AI技术高速发展背景下,人类个体如何保持自主意识与判断力的重…
📅 2026/7/26 7:00:43
1. 项目背景与核心价值在餐饮行业智能化转型的大背景下,食品自动识别技术正成为提升运营效率的关键工具。我们团队基于最新发布的YOLOv12目标检测框架,开发了一套高精度的食物识别系统。这个方案不仅实现了主流食品的实时检测,还配套开发了完…
📅 2026/7/26 7:00:43
i tried to give up soda but i like it too much.
can i speak to you for fifteen minutes.
let’s sit around the table.
let’s me know if you need anything.
i spoke to her just.now.and she is not hurt.
look she didn’t mean to make you angry.
sorry i couldn’…
📅 2026/7/26 7:00:43
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/26 0:00:06
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/26 0:00:06
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/26 0:00:06
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/26 0:00:06
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/26 0:00:06
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/26 0:00:06
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/25 7:09:18
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/25 17:09:47
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/26 5:10:17