10. LangChain开发核心技巧,动态切换AI大模型参数
在 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

在 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"

浙公网安备 33010602011771号