尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HoRain云--LangChain 模型调用 -- init_chat_model() 函数
LangChain init_chat_model() 是 LangChain 中最常用的函数之一它让你用统一的方式连接 20 多种模型提供商不需要记忆每个提供商的类名和参数差异。语法init_chat_model() 函数语法如下from langchain.chat_models import init_chat_model # 完整语法 model init_chat_model( model, # str | None模型名称provider:model 格式 *, model_providerNone, # str | None单独的模型提供商 configurable_fieldsNone, # None | any | list[str]可运行时修改的字段 config_prefixNone, # str | None配置键前缀 **kwargs, # 模型特定参数temperature、max_tokens 等 )参数说明参数类型说明默认值modelstr 或 None模型名provider:model 格式。传 None 时可用于创建可配置模型无model_providerstr 或 None单独指定提供商。动态获取或 model 无法推断时使用Noneconfigurable_fieldsany 或 list 或 None可运行时修改的字段列表。None 表示固定模型Noneconfig_prefixstr 或 None多模型场景下配置键的前缀避免冲突None**kwargsdict传递给底层模型的参数无model 参数详解provider:model 格式推荐格式为 提供商:模型名用冒号分隔实例from langchain.chat_models import init_chat_model# provider:model 格式model init_chat_model(deepseek:deepseek-v4-flash)model init_chat_model(anthropic:claude-sonnet-4-5-20250929)model init_chat_model(deepseek:deepseek-chat)model init_chat_model(ollama:llama3.2)model init_chat_model(groq:llama-3.3-70b)自动推断模型提供商如果不指定提供商前缀LangChain 会尝试从模型名推断实例from langchain.chat_models import init_chat_model# 自动推断提供商基于模型名前缀model init_chat_model(deepseek-v4-flash) # → openaimodel init_chat_model(claude-sonnet-4-5) # → anthropicmodel init_chat_model(deepseek-chat) # → deepseekmodel init_chat_model(grok-3) # → xaimodel init_chat_model(mistral-large) # → mistralai模型名前缀推断提供商gpt-、o1、o3、chatgpt、text-davinciopenaiclaudeanthropicgeminigoogle_vertexaicommandcoheredeepseekdeepseekmistral、mixtralmistralaigrokxaisonarperplexityamazon.、anthropic.、meta.bedrock自动推断虽然方便但不保证 100% 正确。例如 gemini 前缀可能指向 google_vertexai 或 google_genai未来版本可能改变默认推断结果。生产环境建议始终使用 provider:model 格式。model_provider 参数当 model_provider 单独指定时效果等价于 provider:model 格式实例# 下面两种写法完全等价model init_chat_model(claude-sonnet-4-5, model_provideranthropic)model init_chat_model(anthropic:claude-sonnet-4-5)使用 model_provider 的场景从配置文件动态读取提供商名称时提供商名称和模型名需要独立配置时运行时分别切换模型名无法被自动推断且不方便拼接字符串时固定模型 vs 可配置模型init_chat_model() 有两种使用模式模式 1固定模型指定具体的 model 字符串返回可直接使用的 BaseChatModel 实例实例from langchain.chat_models import init_chat_model# 指定了 model返回固定模型model init_chat_model(deepseek:deepseek-v4-flash, temperature0.7)response model.invoke(介绍菜鸟教程 RUNOOB)print(response.content)如果 .env 是在当前目录下使用以下代码载入当前路径的配置import os from dotenv import load_dotenv # 加载当前目录 .env 文件 load_dotenv() from langchain.chat_models import init_chat_model # 指定了 model返回固定模型 model init_chat_model(deepseek:deepseek-v4-flash, temperature0.7) response model.invoke(介绍菜鸟教程 RUNOOB) print(response.content)模式 2可配置模型不指定 model或设为 None创建可在运行时动态切换的模型实例from langchain.chat_models import init_chat_model# 不指定 model返回可配置模型# 可以固定一些参数如 temperature0.7其余运行时指定configurable_model init_chat_model(temperature0.7)# 运行时通过 config 指定模型response configurable_model.invoke(介绍菜鸟教程 RUNOOB,config{configurable: {model: deepseek-v4-flash}})print(response.content)# 同一个模型实例可以用不同的模型来执行response configurable_model.invoke(介绍菜鸟教程 RUNOOB,config{configurable: {model: claude-sonnet-4-5}})print(response.content)可配置模型在 A/B 测试和成本优化中非常有用。你可以在不重启服务的情况下通过修改配置来切换模型或调整参数。所有支持的模型提供商以下是 init_chat_model() 内置支持的提供商及其安装包provider 名称安装包代表模型openailangchain-deepseekgpt-4o、gpt-4o-minianthropiclangchain-anthropicclaude-sonnet-4-5、claude-opus-4-7google_genailangchain-google-genaigemini-2.5-flash、gemini-2.5-progoogle_vertexailangchain-google-vertexaigemini-2.5-flash、gemini-2.5-prodeepseeklangchain-deepseekdeepseek-chat、deepseek-reasonermistralailangchain-mistralaimistral-large、mistral-smallgroqlangchain-groqllama-3.3-70b、mixtral-8x7bollamalangchain-ollamallama3.2、qwen2.5fireworkslangchain-fireworksaccounts/fireworks/models/llama-v3p1-70btogetherlangchain-togethermeta-llama/Llama-3.3-70Bxailangchain-xaigrok-3openrouterlangchain-openrouteropenai/gpt-4o、anthropic/claude-sonnetperplexitylangchain-perplexitysonar、sonar-prohuggingfacelangchain-huggingface各类 HuggingFace 模型coherelangchain-coherecommand-r-plus常用 kwargs 参数kwargs 参数会直接传递给底层模型类常用的包括实例from langchain.chat_models import init_chat_modelmodel init_chat_model(deepseek:deepseek-v4-flash,# 控制输出随机性0~2值越小输出越稳定temperature0.3,# 限制输出最大 token 数控制成本max_tokens200,# 请求超时时间秒timeout30,# 失败重试次数max_retries2,# 自定义 API 地址代理/中转场景# base_urlhttps://your-proxy.com/v1,# 速率限制器控制请求频率# rate_limiterMyRateLimiter(requests_per_second5),)response model.invoke(菜鸟教程 RUNOOB 是什么)print(response.content)参数类型说明适用提供商temperaturefloat控制随机性0~2默认值因模型而异大部分max_tokensint限制输出最大 Token 数全部timeoutint 或 float请求超时秒数全部max_retriesint请求失败后的重试次数大部分base_urlstr自定义 API 端点大部分rate_limiterBaseRateLimiter速率限制器实例大部分top_pfloat核采样参数0~1大部分stoplist[str]停止序列模型遇到这些词时停止生成大部分temperature 和 top_p 通常不同时设置。temperature 控制的是分布的形状top_p 控制的是候选范围。对于大多数场景只调整 temperature 就足够了。ConfigurableModel——运行时切换模型ConfigurableModel 是 init_chat_model() 的高级用法允许在运行时动态指定模型和参数实例from langchain.chat_models import init_chat_model# 创建可配置模型并设置默认值model init_chat_model(deepseek:deepseek-v4-flash, # 默认模型configurable_fieldsany, # 所有参数都可在运行时修改config_prefixmy, # 配置键前缀temperature0.3, # 默认温度)# 使用默认配置运行response model.invoke(介绍菜鸟教程)print(f默认配置: {response.content[:50]}...)# 运行时覆盖模型和参数注意 my_ 前缀response model.invoke(介绍菜鸟教程 RUNOOB,config{configurable: {my_model: deepseek:deepseek-v4-pro, # 切换模型my_temperature: 0.9, # 调整温度}})print(f覆盖配置: {response.content[:50]}...)configurable_fields 的取值值含义None不可配置返回普通的 BaseChatModel固定模型模式any所有参数可配置注意安全api_key 等也能被修改[model, temperature]只有列表中指定的字段可配置使用 configurable_fieldsany 时要注意安全如果信任了不安全的配置来源api_key 和 base_url 等敏感字段可能被篡改。生产环境建议显式列出可配置的字段。
RELATED

相关推荐

铜铝异种金属激光焊:脆性层这道坎怎么迈

铜铝异种金属激光焊:脆性层这道坎怎么迈

在液冷散热系统中,铜和铝是两种绕不开的材料——铜的导热系数是铝的近两倍(401 vs 237 W/mK),理应是冷板流道的首选;但铜的密度是铝的三倍多(8.96 vs 2.70 g/cm),整机重量和成本都不…

📅 2026/10/18 21:57:33
菲律宾ERP怎么选?本土商家场景选型指南|吕宋/米沙鄢/棉兰老群岛进销存风控方案

菲律宾ERP怎么选?本土商家场景选型指南|吕宋/米沙鄢/棉兰老群岛进销存风控方案

�� 地域标签:#菲律宾ERP #菲律宾进销存 #吕宋库存管理 #棉兰老批发ERP #米沙鄢多仓管控 #菲律宾实体商家数字化 #群岛商贸管理�� 精准适配人群:菲律宾吕宋/米沙鄢/棉兰老本土实体零售商、跨岛批发贸易商、全…

📅 2026/10/18 22:28:50
Shell脚本入门基础详解

Shell脚本入门基础详解

一、前言 Shell脚本是Linux系统运维、自动化工作的核心工具,通过将多条命令整合编写成脚本文件,能够实现指令批量执行、任务自动化等功能。本文从零开始讲解Shell脚本基础语法、文件创建、变量使用、数学运算、状态码等核心知识点,搭配完整实…

📅 2026/10/18 22:29:05
MORE NEWS

更多资讯

📰

SpeContext技术解析:大模型推理24倍加速实战

1. 突破性技术解析:SpeContext如何实现24倍推理加速上海交大团队近期发布的SpeContext技术,从根本上重构了大模型推理的计算范式。其核心创新点在于动态上下文感知计算机制,通过以下三个关键技术实现突破:计算图动态分割技术&…

📰

苹果照片数据集配VOC2007标注:Python处理与训练避坑指南

简介:这份资源面向目标检测初学者与需要苹果识别实战数据的开发者,提供一套可直接用于YOLOv3训练的苹果图像数据集及配套Python处理代码,帮助解决自建数据集时标注、增强与格式转换的繁琐问题。压缩包共约2000个文件,以1648张jpg图…

📰

矩阵行空间与列空间:概念解析与工程应用

1. 行空间与列空间的概念解析行空间和列空间是线性代数中两个核心概念,它们揭示了矩阵内在的结构特性。我第一次真正理解这两个概念是在研究生阶段的数值分析课上,当时教授用了一个生动的比喻:把矩阵看作是一个数据转换器,行空间决…

📰

AI代码审核:提升开发效率与代码质量的关键技术

1. 项目概述:当AI成为代码审核员去年团队引入AI代码审核工具后,我们的代码合并周期从平均3天缩短到6小时。这个转变让我意识到,AI正在彻底改变传统代码审核的工作方式。不同于人类审核者需要逐行检查,AI工具能在提交瞬间完成基础检…

📰

C#与HALCON联合开发机器视觉检测系统:架构、模块与验收实践

简介:围绕C#与HALCON构建的机器视觉检测系统,是一套面向机器视觉初学者与中高级开发者的完整工程源码,聚焦工件表面质量检测场景。系统按图像采集、预处理、特征提取、决策反馈和图形界面等模块组织,展示相机取图、去噪增强、形状…

📰

雷达基数据解析与显示:从RadarYHM到PPI/CAPPI的完整流程

简介:这是一份面向雷达数据处理与可视化开发者的C工程资源包,聚焦基数据解析与雷达显示两大环节。压缩包内共80个文件,以头文件和源文件为主,涵盖VC工程配置、可执行文件及图标位图等资源,整体仅7.83MB。该资源已有344…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬