惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Vercel News
Vercel News
C
Check Point Blog
G
Google Developers Blog
博客园 - 司徒正美
量子位
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
A
About on SuperTechFans
美团技术团队
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
U
Unit 42

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
10. LangChain开发核心技巧,动态切换AI大模型参数
老陈说编程 · 2026-05-05 · via 博客园_首页

在 AI 应用开发中,若需动态切换大模型、调整温度等参数,可通过 init_chat_model 函数的 configurable_fields 核心配置字段实现。它支持在运行时动态修改模型参数,可基于配置规则精准控制参数的开放修改边界,配置生效后函数将返回 _ConfigurableModel 可配置模型实例,支撑全链路调用环节的参数动态调整。

如果喜欢看视频学习的,可以看这个《10. LangChain开发核心技巧,动态切换AI大模型参数》,喜欢看文章的接着往下看。

configurable_fields 的默认值为 None,对应关闭所有动态配置;传入字面量 'any' 时开放全量参数的动态修改权限;传入 list[str] / tuple[str, ...] 字符串序列时,仅开放显式声明的参数的修改权限。

init_chat_model(
  model: str | None = None,
  *,
  model_provider: str | None = None,
  configurable_fields: Literal['any'] | list[str] | tuple[str, ...] | None = None,
  config_prefix: str | None = None,
  **kwargs: Any = {}
) -> BaseChatModel | _ConfigurableModel

image

在 AI 大模型的参数配置体系中,90% 的常规业务场景,仅需配置model、temperature和max_tokens三个核心参数,即可完成模型的基础调用配置。

完成参数配置后,可直接通过invoke()方法调用 AI 大模型,接收并获取模型生成的回复结果。

若需灵活调整参数,我们可通过with_config()方法,在完整保留原有基础配置的前提下,快速修改目标参数并生成全新的模型实例;该实例无需额外冗余配置,同样可直接通过invoke()方法完成调用。

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
# @老陈说编程 今日头条 哔哩哔哩
load_dotenv()
config_llm = init_chat_model(model="qwen3.6-plus",
                             model_provider="openai",
                             base_url=os.getenv("QWEN_BASE_URL"),
                             api_key=os.getenv("QWEN_API_KEY"),
                             configurable_fields=["model", "temperature", "max_tokens"],
                             temperature=0.5,
                             max_tokens=200)
response = config_llm.invoke("你好,请用一句话介绍自己")
print(response.content)
print("-" * 50)
# 切换大模型
llm_plus = config_llm.with_config(
    configurable={"model": "deepseek-v4-pro", "temperature": 0.4, " max_tokens": 100}
)
response = llm_plus.invoke("你好,请用一句话介绍自己")
print(response.content)

以下为.env 环境配置文件的内容,记得必将其中的 API_KEY 占位值,替换为您自行在对应平台申请的有效API密钥。

QWEN_API_KEY="你申请的API KEY"
QWEN_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"